Программное создание прикладных объектов

#std451

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

1. Для программного создания прикладных объектов следует использовать методы соответствующих менеджеров (СоздатьЭлемент, СоздатьДокумент, СоздатьНаборЗаписей и т.д.).

Для программного создания прикладных объектов, у которых существует соответствующие менеджеры объектов, использование конструктора (оператор встроенного языка Новый) запрещается.

Правильно:

ДокументПриходная = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();

Неправильно:

ДокументПриходная = Новый("ДокументОбъект.ПоступлениеТоваровУслуг");

2. При программном создании объекта следует явно вызывать метод объекта Заполнить. Если данных для заполнения нет, то передать значение Неопределено. В этом случае корректно отработают свойства реквизитов объекта "Значение заполнения", будет вызван обработчик ОбработкаЗаполнения и подписки на это событие, как при интерактивной работе с объектом.

Например, неправильно:

Папка = Справочники.ПапкиФайлов.СоздатьЭлемент();
// ...
Папка.Записать();

Правильно:

Папка = Справочники.ПапкиФайлов.СоздатьЭлемент();
// ...
Папка.Заполнить(Неопределено);
// ...
Папка.Записать();

Исключением могут быть случаи, когда объект полностью загружается из источника при обмене данными или восстановление базы из резервной копии (загрузка из XML).