Бухня 3
Создаю программно (перегружаю регламентным заданием) документы Списание с расчетного счета из нетиповой.
Соответсвенно работаю с типом ДокументОбъект.
А как мы знаем некоторые реквизиты кода вводишь документ вручную заполняются автоматичеки
Например по событию КонтрагентПриИзменении(Элемент). Заполняются счета расчетов, авансов, погашение задолженности и т.п. А может еще какие-либо невидимые реквизиты.
Вызывается с серверной части модуля формы функция
СписаниеСРасчетногоСчетаФормы.КонтрагентПриИзмененииСервер(ЭтотОбъект);
Передается параметр ЭтотОбъект с типом ФормаКлиентскогоПриложения и идет заполнение всяческих реквизитов объекта формы уже там. Все красиво.
Как мне вызвать эту функцию и заполнить эти же реквизиты правильно, имея на руках ДокументОбъект. И как правильно лучше сделать
Колхозить не вариант (типа копировать типовую функцию)
(0) Вопрос интересный.. Но в вашем случае, разве нельзя заполнить интерактивно несколько документов с разными видами операций и посмотреть какие реквизиты заполняются? А потом согласовать это с переносом данных из нетиповой. А может в БСП есть какие-то возможности для этого?
(0) "Как мне вызвать эту функцию"
Никак! Ибо и не надо её вызывать. Надо научиться работать с объектом без формы.
Вот в качестве образца программное заполнение самого часто используемого документа - РТУ
Надеюсь, тут достаточно хорошо видно полное отсутствие хоть каких-то намеков на форму и ее методы.
(4) в двойке как раз можно было вызвать функцию, но многие все заполняли сами. Как я наблюдал.
А вот в тройке, а вдруг я могу заполнить что-то неправильно? Ну откуда мне простому программисту лучше знать какие значения в документе дозаполнить? Если есть уже готовый механизм дозаполнения.
Зачем такие полумерные функции...
Только и остается по старинке работать без формы. Точнее без готовых функций.
эх. Скрипя зубами в путь
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший