Как в УФ при программном заполнении документа из другого объекта заполняют реквизиты?
Попросили написать несколько строк на УФ БП. Нужно было создать документ из обработки. Мне понадобились процедуры ПриИзмененииВидаОперации(ЭтотОбъект), ПриИзмененииКонтрагента(ЭтотОбъект) и т.д. В обычных формах эти процедуры были в модуле объекта, я устанавливал значение реквизита, вызывал потом нужную такую процедуру и все необходимые реквизиты дозаполнялись. На УФ как я увидел все аналогичные процедуры хоть и пишется что на сервере, но в них передается форма а не объект. Тогда я полез в процедуру "Обработка заполнения" и удивился: прописано заполнение каждого реквизита. Я конечно в УФ ничего не понимаю. Где теперь модульные процедуры заполнения реквизитов документа? Или теперь их нет, или есть какая-то своя фишка тут? Как мне при программном указании реквизита, например, ДоговораКонтрагента из другого объекта сразу заполнить все необходимые реквизиты и сделать необходимые пересчеты не вникая в них?
По теме из базы знаний
- Программное добавление кнопок копирования табличных частей во все документы с минимальными изменениями конфигурации (или вообще без изменения)
- УФ: программное создание и копирование документов с использованием конструкций ДанныеФормыВЗначение, ЗначениеВДанныеФормы
- Конфигурация Flowcon: Набор инструментов для управления задачами, проектами и бизнесом в 1С
- Обзор полезных методов БСП 3.1.4
- Как я писал ТЗ на внедрение 1С:ERP
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Дело не в ОФ или УФ. Дело в том, процедуры ПриИзмененииВидаОперации(ЭтотОбъект) и ПриИзмененииКонтрагента(ЭтотОбъект), которые якобы находились в модуле объекта - это точно такие же кастомные процедуры, не имеющие никакого отношения к платформе или типу приложения (обычное или управляемое). Это просто разработчики одной конфигурации выбрали один вариант поведения системы и реализовали его через модуль объекта, а разработчики другой конфигурации - выбрали иной вариант поведения системы при изменении реквизитов.
Что осталось неизменно - так это то, что и те и другие варианты стартуют в модуле формы в обработчике ПриИзменении() у элемента формы.
Что осталось неизменно - так это то, что и те и другие варианты стартуют в модуле формы в обработчике ПриИзменении() у элемента формы.
(3) Что значит как? Точно так же, как и раньше. Я уже написал - есть обработчики событий. Если в них заложена логика изменения связанных реквизитов - то её надо просто найти в новой конфигурации. Точно так же, как вы её находили в модуле объекта раньше.
Искать пробовали?
Искать пробовали?
Например. Документ: ПоступлениеНаРасчетныйСчет.
Допустим хочу программно заполнять реквизит ВидОперации и соответственно чтоб автоматом какие надо реквизиты заполнялись.
Нахожу форму: ФормаДокументаОднострочная.
Нахожу на форме реквизит: ВидОперации
Выбираю событие: ПриИзменении. Захожу в процедуру.
Оттуда меня отправляет в процедуру в модуле формы
Оттуда меня отправляет в общий модуль
Дальше меня отправляет в этом же модуле в процедуру:
В которой первой же строкой идет
Ну дальше уже нет смысла думаю копать.
Т.е. получается что ты на сервер заходишь, что не заходишь все равно с формой работаешь. Может мне как-то при программном заполнении документа надо тоже форму подсовывать? Может это новая метода касаемая исключительно УФ?
Допустим хочу программно заполнять реквизит ВидОперации и соответственно чтоб автоматом какие надо реквизиты заполнялись.
Нахожу форму: ФормаДокументаОднострочная.
Нахожу на форме реквизит: ВидОперации
Выбираю событие: ПриИзменении. Захожу в процедуру.
Оттуда меня отправляет в процедуру в модуле формы
&НаСервере
ВидОперацииПриИзмененииСервер();
Оттуда меня отправляет в общий модуль
ПоступлениеНаРасчетныйСчетФормы.ВидОперацииПриИзмененииСервер(ЭтотОбъект);
где ЭтотОбъект - это форма.
Дальше меня отправляет в этом же модуле в процедуру:
ВидОперацииОбработатьИзменение(Форма, Новый Массив);
В которой первой же строкой идет
Объект = Форма.Объект;
Ну дальше уже нет смысла думаю копать.
Т.е. получается что ты на сервер заходишь, что не заходишь все равно с формой работаешь. Может мне как-то при программном заполнении документа надо тоже форму подсовывать? Может это новая метода касаемая исключительно УФ?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот