Статья

Как в 1С создать документ программно?

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

  • открыть форму нового документа и предоставить пользователю самому интерактивно записать данные объекта.
  • создать новый документ программно, программно заполнить его данными и программно записать. И ужу затем, если нужно, показать его пользователю.

В первом сценарии проще всего использовать метод глобального контекста ОткрытьФорму(). Это можно сделать на клиенте:
ОткрытьФорму("Документ.АвансовыйОтчет.ФормаОбъекта");
Во втором сценарии можно программно создать документ на сервере, заполнить нужными данными, записать, и вернуть ссылку на новый документ в глобальный метод ОткрытьЗначение(), который откроет форму этого документа:
&НаКлиенте
Процедура ОткрытьНовыйАвансовыйОтчет(Команда)

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

КонецПроцедуры

&НаСервере
Функция СоздатьНовыйАвансовыйОтчет()

   НовыйДокумент = Документы.АвансовыйОтчет.СоздатьДокумент();
   НовыйДокумент.Номер = "123";
   НовыйДокумент.Дата = ТекущаяДата();
   НовыйДокумент.Записать();

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

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