Difference between revisions of "DB.New"
(Created page with "{{infobox function |name=New |object=Объект базы данных |caption=Создание нового несохраненного объекта |type=1 |status=...") |
(No difference)
|
Revision as of 12:29, 25 September 2019
| New (Создание нового несохраненного объекта) | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||
Функция создает новый элемент справочника или документ, для которых можно указать основание, новый объект может быть скопирован из существующего. Функция последовательно выполняет следующие действия:
- Объект очищается от всех существующих реквизитов и строчных частей, создаются пустые реквизиты и пустые строчные части.
- При наличии заданных для объекта реквизитов-нумераторов, заполняемых при создании объекта, на сервер отсылается запрос о создании временных значений нумераторов
- Сервер создает временные уникальные значения нумераторов, помещает их в таблицу временных нумераторов для хранения (нумераторы, принадлежащие объекту, удаляются из таблицы при успешном сохранении объекта (фиксировании этих нумераторов в базе данных), либо удалении объекта до его сохранения). Сервер возвращает значения этих нумераторов, клиент обновляет реквизиты объекта этими значениями.
- При наличии аргумента объект, для копирования реквизитов, система производит заполнение реквизитов и строчных частей текущего объекта из указанного объекта, пропуская или включая реквизиты-нумераторы (в зависимости от значения третьего аргумента).
Синтаксис
DB.New(<Новая папка (INT)>=0,<Объект, для копирования реквизитов (DB)>,<Также копировать нумераторы (INT)>=0,<Объект-основание (DB)>)
Аргументы
<Новая папка (INT)>- (необязательный аргумент) Для элементов справочника, будет создана новая папка (1) или новый элемент (0, по умолчанию). Для документов этот аргумент не используется.<Объект, для копирования реквизитов (DB)>- (необязательный аргумент) Параметр задает объект реквизиты и строчные части которого будут скопированы в текущий объект при создании. По умолчанию, новый объект создается с пустыми реквизитами и строчными частями.<Также копировать нумераторы (INT)>- (необязательный аргумент) Задает режим копирования реквизитов из объекта, для копирования реквизитов, когда в список копируемых реквизитов включаются также нумераторы (1), либо не включаются нумераторы (0, по умолчанию). Включение нумераторов не рекомендуется, так как можно получить объект, который невозможно будет сохранить из-за нарушения уникальности значений реквизитов-нумераторов, имеющих проверку уникальности.<Объект-основание (DB)>- (необязательный аргумент) Параметр задает объект-основание текущего объекта. Это произвольный объект, который будет доступен посредством функции FounderObject. В момент визуального открытия нового объекта для редактирования, подразумевается, что программа обработки события OnOpen или OnNew будет использовать эту функцию для заполнения реквизитов нового объекта, зависящих от объекта-основания.
Примеры
//Пример создает новый несохраненный объект аЭл, заполняет его реквизиты и сохраняет его в базе данных
аЭл:=Ref.Улицы;
//Создаем папку или элемент, в зависимости от флага флПапка
аЭл.New(флПапка);
//аГород -- объект-владелец текущего
аЭл.Parent(аГород);
//аПапка -- папка, в которую помещается новая папка
If аПапка<>0 Then
аЭл.Folder(аПапка);
EndIf;
//Заполняем реквизиты
аЭл.Name:=аНаменование;
аЭл.ВнешнийКод:=аВнешнийКод;
//Сохраняем новый объект
аЭл.Save();