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

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 Сейчас в теме
Внешнюю обработку для заполнения формы создаваемого документа имеет смысл зарегистрировать среди дополнительных внешних обработок так как указано в документации по БСП.
После чего в создаваемом документе появится кнопка "Заполнить" и можно иметь форму с заполненными реквизитами, которые по выбору записывать / не записывать.
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)