DB.SetNumerator

From SunFlurry wiki
Revision as of 08:43, 7 February 2021 by Admin (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  SetNumerator (Выделение нумератора)
Объект:Объект базы данных
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Сервер и БД
Исключения:Невозможно превратить в строку, неверный реквизит, ошибка сервера
Визуальность:Нет

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

Синтаксис

DB.SetNumerator(<Указание на реквизит (STRING)>,<Префикс нумератора (STRING)>)

Аргументы

  • <Указание на реквизит (STRING)> - Задает наименование реквизита-нумератора, префикс по умолчанию которого необходимо изменить или получить, если реквизит находится в строчной части, указывает также на наименование строчной части и номер строки. Общий формат аргумента: [<Наименование строчной части>.<Номер строки строчной части>.]<Наименование реквизита>.
  • <Префикс нумератора (STRING)> - (необязательный аргумент) Если аргумент задан, он задает префикс при создании нумератора, иначе будет использован текущий префикс по умолчанию, заданный для этого реквизита (см. SetPrefix).

Примеры

//Функция аллоцирует (выделяет) новое уникальное значение нумератора на сервере для реквизита DocNum объекта aEl
//Префикс нумератора будет состоять из значения DBVar.ПрефиксИБ и реквизита ПрефиксЮЛ, находящегося в юр. лице, выбранном в документе.
Префикс:=Trim(DBVar.ПрефиксИБ)+Trim(aEl.Аналитика.ЮрЛицо.ПрефиксЮЛ);
aEl.SetNumerator("DocNum",Префикс);
//Функция выводит значение этого нумератора
Message(aEl.DocNum);