Заполнение реквизитов документа из формы внешней обработки

1. jusin 4 31.05.20 20:48 Сейчас в теме
Всем привет!
Помогите пжл решить задачку.
Есть внешняя обработка. УФ. Конф отраслевка, на основе БП3.0.
Обработка создает документ. заполняет его данными, записывает.
Несколько реквизитов в этом документе - реквизиты формы.
Вопрос: как заполнить реквизиты формы создаваемого документа из формы внешней обработки?

Нажимаем кнопку - мы на клиенте - с клиента сразу уходим на сервер, там заполняем новый док, получая данные запросом к БД, либо из табличной части ТаблицаДокументовПКОВыдача обработки.
Основные моменты по коду:

&НаСервере
Процедура СоздатьДокументыНаСервере()
Для каждого стр из Объект.ТаблицаДокументовПКОВыдача Цикл
........................................
                        док=документы.ЗаявкаНаРасходованиеСредств.СоздатьДокумент();
..........................................
			док.Номер = Стр.Номер;
			док.Дата = Дата(Стр.ДатаЗаявки);;
			док.Организация = Стр.Организация;
..........................................
			Док.Записать();
КонецЦикла


&НаКлиенте
Процедура СоздатьДокументы(Команда)
	СоздатьДокументыНаСервере();
КонецПроцедуры
Показать
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
4. ab_initio 95 01.06.20 04:29 Сейчас в теме +1 $m
Вы же формы вновь созданных документов не открываете. Значит реквизиты их форм не существуют.
Тут другое, скорее всего.
У формы документа "ЗаявкаНаРасходованиеСредств" есть форма. На форме есть какие-то реквизиты, которые не являются реквизитами документа. Эти реквизиты заполняются в модуле формы в процедуре "ПриСозданииНаСервере" или в "ПриОткрытии".
Если документ программно создан и записан, а потом при открытии этого документа какие-то реквизиты формы оказались не заполненными, то надо смотреть каких таких данных самого документа для этого не хватает.
jusin; victorree; MuxaH; +3 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. webester 26 01.06.20 04:25 Сейчас в теме
Немного непонятно, зачем заполнять реквизиты формы. Срабатывают обработчики формы, которые каким то образом заполняют другие реквизиты документа? Получай данные с сервера, заполняй реквизиты формы, пробуй дергать обработчики самостоятельно, если это возможно. Но правильный путь конечно в (1). Если я тебя правильно понял и дело не в том, что тебе нужно показать форму не записанного но заполненного документа пользователю.
5. Doreng 27 01.06.20 10:57 Сейчас в теме
(1)Можно конечно, после записи объекта, получить его форму, открыть ее и заполнить реквизиты или вызвать процедуры этой формы, но лучше производить все манипуляции сразу, посмотрите что вызывает на сервере нужное вам событие и адаптируйте под свой код
2. user633533_encantado 11 31.05.20 22:50 Сейчас в теме
Никак на сервере. Нужно выяснить, как эти реквизиты участвуют в заполнении объекта и сделать то же самое на сервере.
4. ab_initio 95 01.06.20 04:29 Сейчас в теме +1 $m
Вы же формы вновь созданных документов не открываете. Значит реквизиты их форм не существуют.
Тут другое, скорее всего.
У формы документа "ЗаявкаНаРасходованиеСредств" есть форма. На форме есть какие-то реквизиты, которые не являются реквизитами документа. Эти реквизиты заполняются в модуле формы в процедуре "ПриСозданииНаСервере" или в "ПриОткрытии".
Если документ программно создан и записан, а потом при открытии этого документа какие-то реквизиты формы оказались не заполненными, то надо смотреть каких таких данных самого документа для этого не хватает.
jusin; victorree; MuxaH; +3 Ответить
8. jusin 4 11.06.20 21:22 Сейчас в теме
(4) Всем спасибо за помощь! На самом деле оказалось все просто, нужно было заполнить реквизиты документа, которые влияют на заполнение реквизитов формы, записать документ.
6. gelotus 01.06.20 11:41 Сейчас в теме
Попробуй так:

Форма=ПолучитьФорму("Документ.ЗаявкаНаРасходованиеСредств.Форма.ФормаДокумента"); // Создаем новую форму
Данные=Форма.Объект;// получаем структуру для заполнения
	
ЗаполнениеФормыНаСервере(Данные); // в процедуре на сервере заполняем структуру документа
КопироватьДанныеФормы(Данные,Форма.Объект);// Копируем Полученную структуру документа в Объект созданной Формы.
	
Форма.Открыть();
// здесь можно управлять данными формы...

Форма.Записать();
Форма.Закрыть();
Показать
7. vugluscr1991 12 01.06.20 17:23 Сейчас в теме
Внешнюю обработку для заполнения формы создаваемого документа имеет смысл зарегистрировать среди дополнительных внешних обработок так как указано в документации по БСП.
После чего в создаваемом документе появится кнопка "Заполнить" и можно иметь форму с заполненными реквизитами, которые по выбору записывать / не записывать.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот