{{tag>Инвентаризация dev Документы}} ====== Инвентаризация: dev: Документы: Форма ====== Есть некоторая специфика в отправке данных формы документа, т.к. в ней содержатся по сути несколько форм: Документ и сканы привязываемые к этому документу, поэтому алгоритм действий такой: * форма.onBeforeSubmit * прерывает отправку данных через POST * отправляет данные асинхронно через AJAX запрос * в случае успеха вызывает **contractFromApplyChanges** * contractFromApplyChanges * меняет action формы на update (create уже сделан) * прописывает в скрытое поле формы #contract_form_model_id ID модели (т.к. до создания его например вообще не было) * Если есть незагруженные сканы, то пинает метод Upload компоненты загрузки картинок, которая * при загрузке картинок передает параметр #contract_form_model_id для привязки картинок к документу * после загрузки картинки вызывает **contractFormAfterScansUpload** * contractFormAfterScansUpload * Если осталось догрузить 0 картинок и мы сохраняли через Save (не Apply) тригерит форма.afterSubmit и окно закрывается и переходит на просмотр документа