Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как в УФ при программном заполнении документа из другого объекта заполняют реквизиты?

Как в УФ при программном заполнении документа из другого объекта заполняют реквизиты?
Я
   DomovoiVShoke
 
15.10.20 - 11:09
Попросили написать несколько строк на УФ БП. Нужно было создать документ из обработки. Мне понадобились процедуры ПриИзмененииВидаОперации(ЭтотОбъект), ПриИзмененииКонтрагента(ЭтотОбъект) и т.д. В обычных формах эти процедуры были в модуле объекта, я устанавливал значение реквизита, вызывал потом нужную такую процедуру и все необходимые реквизиты дозаполнялись. На УФ как я увидел все аналогичные процедуры хоть и пишется что на сервере, но в них передается форма а не объект. Тогда я полез в процедуру "Обработка заполнения" и удивился: прописано заполнение каждого реквизита. Я конечно в УФ ничего не понимаю. Где теперь модульные процедуры заполнения реквизитов документа? Или теперь их нет, или есть какая-то своя фишка тут? Как мне при программном указании реквизита, например, ДоговораКонтрагента из другого объекта сразу заполнить все необходимые реквизиты и сделать необходимые пересчеты невникая в них?
   Жан Пердежон
 
1 - 15.10.20 - 14:59
Правильно будет (кстати, так же как и в ОФ):
НовыйОбъект.Заполнить(ДанныеЗаполнения);

А кто что в конкретной конфе накодил - тут уже вникать, скорее всего, придётся
   hhhh
 
2 - 15.10.20 - 15:04
(0) не было в обычных формах такого. Это вы сами написали эти процедуры.
   fisher
 
3 - 15.10.20 - 15:25
(0) Нет фишки. В ОФ модуль объекта просто тоже был на клиенте при работе формы, что давало дополнительное удобство программисту.
В УФ это, естественно, уже не канает. Нет теперь такого удобного места у объекта, где можно прописать общий для клиента и сервера код.
Только в общие модуля выносить. Но так как проблема стоит не слишком остро (малое количество программных заполнений), то проще дублировать логику.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.