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

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

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

    &НаКлиенте
    Процедура СоздатьДокументы(Команда)
    СоздатьДокументыНаСервере();
    КонецПроцедуры
```
---
Вы же формы вновь созданных документов не открываете. Значит реквизиты их форм не существуют.
Тут другое, скорее всего.
У формы документа "ЗаявкаНаРасходованиеСредств" есть форма. На форме есть какие-то реквизиты, которые не являются реквизитами документа. Эти реквизиты заполняются в модуле формы в процедуре "ПриСозданииНаСервере" или в "ПриОткрытии".
Если документ программно создан и записан, а потом при открытии этого документа какие-то реквизиты формы оказались не заполненными, то надо смотреть каких таких данных самого документа для этого не хватает.
---
Немного непонятно, зачем заполнять реквизиты формы. Срабатывают обработчики формы, которые каким то образом заполняют другие реквизиты документа? Получай данные с сервера, заполняй реквизиты формы, пробуй дергать обработчики самостоятельно, если это возможно. Но правильный путь конечно в (1). Если я тебя правильно понял и дело не в том, что тебе нужно показать форму не записанного но заполненного документа пользователю.
---
Можно конечно, после записи объекта, получить его форму, открыть ее и заполнить реквизиты или вызвать процедуры этой формы, но лучше производить все манипуляции сразу, посмотрите что вызывает на сервере нужное вам событие и адаптируйте под свой код
---
Никак на сервере. Нужно выяснить, как эти реквизиты участвуют в заполнении объекта и сделать то же самое на сервере.
---
Вы же формы вновь созданных документов не открываете. Значит реквизиты их форм не существуют.
Тут другое, скорее всего.
У формы документа "ЗаявкаНаРасходованиеСредств" есть форма. На форме есть какие-то реквизиты, которые не являются реквизитами документа. Эти реквизиты заполняются в модуле формы в процедуре "ПриСозданииНаСервере" или в "ПриОткрытии".
Если документ программно создан и записан, а потом при открытии этого документа какие-то реквизиты формы оказались не заполненными, то надо смотреть каких таких данных самого документа для этого не хватает.
---
Всем спасибо за помощь! На самом деле оказалось все просто, нужно было заполнить реквизиты документа, которые влияют на заполнение реквизитов формы, записать документ.
---
Попробуй так:

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

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

    Форма.Открыть();
    // здесь можно управлять данными формы...

    Форма.Записать();
    Форма.Закрыть();
```
---
Внешнюю обработку для заполнения формы создаваемого документа имеет смысл зарегистрировать среди дополнительных внешних обработок так как указано в документации по БСП.
После чего в создаваемом документе появится кнопка "Заполнить" и можно иметь форму с заполненными реквизитами, которые по выбору записывать / не записывать.