09.12.2009

Как создать документ и открыть его форму?

В 1С Предприятии 8.2  для этих целей существует два возможных сценария работы:

В первом сценарии проще всего использовать метод глобального контекста ОткрытьФорму(). Это можно сделать на клиенте.

Копировать в буфер обмена
ОткрытьФорму("Документ.ПриходнаяНакладная.ФормаОбъекта");

При этом создается новый документ и открывается для редактирования основная форма этого документа.

Если нужно какое-то предварительное заполнение документа начальными данными, то это можно сделать либо с помощью свойств реквизитов документа ЗначениеЗаполнения, ЗаполнятьИзДанныхЗаполнения либо в обработчике события документа ОбработкаЗаполнения. Подробнее об этом событии можно посмотреть в вопросе Как при открытии формы определить, что создается новый элемент?.

Во втором случае можно программно создать документ на сервере, заполнить данными, если это нужно в обработчике события ОбработкаЗаполнения, записать, и передать ссылку на новый документ в метод глобального контекста ОткрытьЗначение(), который откроет форму этого документа. Например:

Копировать в буфер обмена
&НаКлиенте
Процедура ПриходнаяНакладная(Команда)

    СсылкаНаДокумент = СоздатьНовыйДокумент();
    ОткрытьЗначение(СсылкаНаДокумент);

КонецПроцедуры
&НаСервере
Функция СоздатьНовыйДокумент()

   НовыйДокумент = Документы.ПриходнаяНакладная.СоздатьДокумент();
   НовыйДокумент.Номер = "111";
   НовыйДокумент.Дата = ТекущаяДата();
   НовыйДокумент.Записать();

   Возврат НовыйДокумент.Ссылка;

КонецФункции

Подробнее об использовании методов ОткрытьЗначение() и ОткрытьФорму() можно прочитать в синтакс-помощнике: Глобальный контекст - Процедуры и функции для интерактивной работы