Как было в обычном приложении:
Создали объект, заполнили данными, не сохраняя открыли форму. Все просто.
В управляемом приложении немного сложенее.
Во-первых, обработчик команды метод клиентский, значит, мы не можем создать новый документ.
Во-вторых, архитектура управляемого приложения предполагает другой способ создания нового элемента. А именно:
1. На сервере мы готовим структуру с данными для создания объекта на основании
2. На клиенте создаем форму, передав ей структуру для заполнения.
Выглядит это примерно так:
Тоже не сложно, если бы не несколько проблем.
Самое неприятное, что для каждого вида документов проблемы могут быть разные, все зависит от того как реализовано событие ОбработкаЗаполнения у конкретного документа. Опишу те, с которыми я столкнулся.
При создании документа ОперацияБух все отлично, но не заполняется дата документа. Это связяно с тем, что у стандартного реквизита "Дата" не указано "Заполнять из данных заполнения".
Решить проблему можно двумя способами.
Можно изменить это свойство, но для этого конфигурацию надо снять с поддержки.
Второй способ заключается в том, что в клиентском методе мы заменим вызов процедуры ОткрытьФорму на следующую конструкцию:
Собственно, подобным образом решаются и другие проблемы возникающие при создании новых документов.
Например, при создании документа КорректировкаДолга не заполняются табличные части документа.
Решить проблему поможет подобная конструкция:
В файлах находится обработка, демонстрирующая все вышесказанное на примере конфигураций Бухгалтерия предприятие 2.0 и 3.0.
Обработка является примером создания документов без сохранения нового объекта в управляемом и неуправляемом приложении.