Особенности обработки создания новых объектов базы данных

Достаточно часто у разработчиков прикладных решений возникает потребность в обработке создания нового объекта базы данных. Как правило, при этом решается задача установки значений реквизитов по умолчанию. 

В модуле объекта не существует события, вызываемого при создании нового объекта. То есть разработчику прикладного решения не предоставляется возможность анализа момента создания нового объекта. 

При анализе возникающих потребностей следует разделять создание объекта базы данных и процесс ввода нового объекта пользователем. 

Как правило, потребность инициализации реквизитов возникает именно при вводе нового объекта пользователем. Такую инициализацию можно вызывать в форме объекта, анализируя результат метода ЭтоНовый() в процедуре ПередОткрытием(). При этом саму реализацию заполнения реквизитов можно разместить в модуле объекта в виде экспортируемой процедуры и вызывать из формы и других режимов, где это необходимо.

Однако новый объект создается не только при вводе новой информации в систему. Например, если происходит обмен данными, то при передаче нового объекта в некоторый узел в процессе загрузки изменений тоже будет выполняться создание нового объекта базы данных узла. Однако это не является вводом новой информации в систему с точки зрения бизнес прикладного решения, и в этом случае не нужно выполнять инициализацию реквизитов значениями по умолчанию. Существуют и другие ситуации связанные с переносом информации из других систем или массовой генерации информации, когда данные объекта не должны инициализироваться значениями по умолчанию.

Таким образом, создание нового объекта базы данных и ввод новой информации в систему не являются одним и тем же процессом и поэтому заполнение значений по умолчанию должно выделяться отдельной процедурой и вызываться в явном виде в тех ситуациях, когда это необходимо.