0
Dimarik_1
13.09.17
✎
21:32
|
УТ 11.3
Работа ведётся в общем модуле. Конфигурация дорабатывается максимально "сбоку" чтобы не влазить в типовые формы.
в общем модуле на клиенте есть функция:
&НаКлиенте
Процедура ОбработкаЗаменыГТД(Результат,Форма) Экспорт
Если ЗначениеЗаполнено(Результат) Тогда
СтарыйНомерГТД = Форма.Элементы.Товары.ТекущиеДанные.НомерГТД;
Форма.Элементы.Товары.ТекущиеДанные.НомерГТД = Результат;
Отказ = Ложь;
птОбщиеПроцедурыИФункции.ПерепровестиДокументыПоГТД(СтарыйНомерГТД, Форма, Отказ);
КонецЕсли;
КонецПроцедуры
Внутри процедуры ПерепровестиДокументыПоГТД (которая выполняется на сервере) необходимо провести документ с учетом изменений.
По-хорошему необходимо вызвать
Док = Форма.РеквизитФормыВЗначение("Объект");
Док.Записать();
Однако это сделать не получается, потому что форму не удаётся передать форму с клиента на сервер.
Есть еще 1 вариант решения проблемы, но это "костыль". Передать на сервер не форму, а ссылку. Сделать Док = Ссылка.ПолучитьОбъект(); и заполнить все реквизиты и табличные части из данных объекта, который можно передать как дополнительный параметр Форма.Объект. Но это очень некрасивое решение и создаст дополнитнльную необоснованную нагрузку на базу. Как бы вы рекомендовали решить проблему?
|
|