|
БП3 Списание с расчетного счета. Программное заполнение | ☑ | ||
---|---|---|---|---|
0
masenshi
28.12.22
✎
11:56
|
Бухня 3
Создаю программно (перегружаю регламентным заданием) документы Списание с расчетного счета из нетиповой. Соответсвенно работаю с типом ДокументОбъект. А как мы знаем некоторые реквизиты кода вводишь документ вручную заполняются автоматичеки Например по событию КонтрагентПриИзменении(Элемент). Заполняются счета расчетов, авансов, погашение задолженности и т.п. А может еще какие-либо невидимые реквизиты. Вызывается с серверной части модуля формы функция СписаниеСРасчетногоСчетаФормы.КонтрагентПриИзмененииСервер(ЭтотОбъект); Передается параметр ЭтотОбъект с типом ФормаКлиентскогоПриложения и идет заполнение всяческих реквизитов объекта формы уже там. Все красиво. Как мне вызвать эту функцию и заполнить эти же реквизиты правильно, имея на руках ДокументОбъект. И как правильно лучше сделать Колхозить не вариант (типа копировать типовую функцию) |
|||
1
mikecool
28.12.22
✎
12:11
|
каждая из функций вызывает что-то из общих модулей, туда и смотри
|
|||
2
masenshi
28.12.22
✎
12:17
|
(1) так все они с формой же и работают ((
|
|||
3
Гипервизор
28.12.22
✎
12:47
|
(0) Вопрос интересный.. Но в вашем случае, разве нельзя заполнить интерактивно несколько документов с разными видами операций и посмотреть какие реквизиты заполняются? А потом согласовать это с переносом данных из нетиповой. А может в БСП есть какие-то возможности для этого?
|
|||
4
SSSSS_AAAAA
28.12.22
✎
16:34
|
(0) "Как мне вызвать эту функцию"
Никак! Ибо и не надо её вызывать. Надо научиться работать с объектом без формы. Вот в качестве образца программное заполнение самого часто используемого документа - РТУ Надеюсь, тут достаточно хорошо видно полное отсутствие хоть каких-то намеков на форму и ее методы. парОбъект.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.Товары; парОбъект.Организация = мОрганизация; парОбъект.БанковскийСчетОрганизации = мОрганизация.ОсновнойБанковскийСчет; парОбъект.Контрагент = Контрагент; парОбъект.Склад = Справочники.Склады.НайтиПоНаименованию("Основной"); парОбъект.ДоговорКонтрагента = РаботасДоговорамиКонтрагентовБП.ДоговорКонтрагентаИзОбъекта(парОбъект); парОбъект.СчетУчетаРасчетовСКонтрагентом = СчетРасчетыСПокупателями; парОбъект.СчетУчетаРасчетовПоАвансам = СчетРасчетыПоАвансамПолученным; парОбъект.СпособЗачетаАвансов = Перечисления.СпособыЗачетаАвансов.Автоматически; //НеЗачитывать; парОбъект.ВалютаДокумента = ОбщегоНазначенияБПВызовСервераПовтИсп.ПолучитьВалютуРегламентированногоУчета(); парОбъект.КурсВзаиморасчетов = рсш.Fields("cambio").Value; парОбъект.СуммаВключаетНДС = Истина; парОбъект.СуммаДокумента = рсш.Fields("totale").Value; парОбъект.СпособДоставки = Справочники.СпособыДоставки.Самовывоз; Это шапка документа. В табличной части все аналогично. |
|||
5
masenshi
28.12.22
✎
16:54
|
(4) в двойке как раз можно было вызвать функцию, но многие все заполняли сами. Как я наблюдал.
А вот в тройке, а вдруг я могу заполнить что-то неправильно? Ну откуда мне простому программисту лучше знать какие значения в документе дозаполнить? Если есть уже готовый механизм дозаполнения. Зачем такие полумерные функции... Только и остается по старинке работать без формы. Точнее без готовых функций. эх. Скрипя зубами в путь |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |