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