|
Заполнение документа программно через обработку | ☑ | ||
---|---|---|---|---|
0
Peka50
25.05.21
✎
09:12
|
Создана обработка для программного создания и заполнения документа:
&НаКлиенте Процедура СоздатьДокумент(Команда) СозданныйДокумент = СоздатьДокументНаСервере(); ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить("Ключ", СозданныйДокумент); Форма = ПолучитьФорму("Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента", ПараметрыФормы); Форма.ЗаполнитьТоваром(); ЗаписатьДокументаНаСервере(СозданныйДокумент); КонецПроцедуры &НаСервере Функция СоздатьДокументНаСервере() ДанныеЗаполнения = Новый Структура ("Дата", ТекущаяДата()); Документ = Документы.РеализацияТоваровУслуг.СоздатьДокумент(); Документ.Заполнить(ДанныеЗаполнения); Документ.Записать(); Возврат ДокументаАванса.Ссылка; КонецФункции &НаСервере Процедура ЗаписатьДокументаНаСервере(СозданныйДокумент) ОбрабатываемыйДокумента = СозданныеДокумент.ПолучитьОбъект(); ОбрабатываемыйДокумента.Записать(РежимЗаписиДокумента.Проведение); КонецПроцедуры Табличная часть в открытой форме заполняется. но документ проводится с пустой табличной частью. Как это исправить ? |
|||
1
ДенисЧ
25.05.21
✎
09:14
|
Наверное, избавиться от создания нового документа в серверной процедуре?
|
|||
2
2S
25.05.21
✎
09:14
|
пиши в объект, если на сервере
|
|||
3
Serg_1960
25.05.21
✎
09:15
|
Возврат ДокументаАванса.Ссылка О_О
|
|||
4
Peka50
25.05.21
✎
09:27
|
(3) Это описка, нужно Возврат Документ;
Обработка отрабатываем. Проблема в сохраненном документе. |
|||
5
Peka50
25.05.21
✎
09:28
|
(1) А где его создавать ?
|
|||
6
Serg_1960
25.05.21
✎
09:29
|
Если Вы используете Форма.ЗаполнитьТоваром(), то почему бы Вам не использовать ЗаписатьВФорме()?
|
|||
7
Peka50
25.05.21
✎
09:30
|
Проблема в том, что Форма.ЗаполнитьТоваром(); - это длительная операция.
И пока документ заполняется он записуется и проводится. |
|||
8
Peka50
25.05.21
✎
09:31
|
(6) Потому что ЗаполнитьТоваром() это процедура формы.
|
|||
9
Serg_1960
25.05.21
✎
09:52
|
(7) Проблема в том, что Вы не до конца осознаёте насколько открытая Вами форма автономна и независима от Вашего алгоритма :)
|
|||
10
Peka50
25.05.21
✎
09:55
|
(9) Нет моего алгоритма, есть алгоритм формы ЗаполнитьТоваром().
В отрытой форме табличная часть заполняется. |
|||
11
Serg_1960
25.05.21
✎
10:08
|
Ёпрст :)
Форма = ПолучитьФорму("Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента", ПараметрыФормы); Форма.Открыть(); Форма.ЗаполнитьТоваром(); Форма.ЗаписатьВФорме(РежимЗаписиДокумента.Проведение); Форма.Закрыть(); |
|||
12
Peka50
25.05.21
✎
10:16
|
(11) Метод объекта не обнаружен (ЗаписатьВФорме)
{ВнешняяОбработка.ПомощникРасчетаЗаработнойПлаты.Форма.Форма.Форма(83)}: Форма.ЗаписатьВФорме(РежимЗаписиДокумента.Проведение); |
|||
13
Peka50
26.05.21
✎
13:37
|
(11) Не срабатывает так как форма открывается в обработке.
|
|||
14
Serg_1960
26.05.21
✎
15:44
|
(13) Не срабатывает так, как Вы не сообщали толстый или тонкий клиент, управляемые или обычные формы у Вас.
|
|||
15
Peka50
27.05.21
✎
08:51
|
(14) А разве по коду не видно что это тонкий клиент.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |