Difference between revisions of "DB.New"
(Created page with "{{infobox function |name=New |object=Объект базы данных |caption=Создание нового несохраненного объекта |type=1 |status=...") |
m (1 revision imported) |
(No difference)
|
Latest revision as of 07:43, 7 February 2021
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();