Номер объектов

Атрибуты для нумерации объектов

У каждого объекта можно отображать номер с помощью системного атрибута типа "Номер" (number). Системный атрибут "Номер" (number) определен для каждого класса/типа объектов.

Значение атрибута "Номер" (number) может:

  • указываться произвольно;
  • формироваться по заданным правилам формирования номера.

Так же можно создать пользовательский атрибут типа "Целое число", подробнее в разделе Атрибут типа "Целое число".

Правило формирования номера

Значение атрибута "Номер" (number) и пользовательского атрибута типа "Целое число" может формироваться по заданным правилам формирования номера.

Правило формирования номера определяется в системных и пользовательских классах и в служебных классах "Письмо" и "Запись журнала обработки почты".

Для класса "Запрос" (serviceCall) применение правил формирования номера для системного атрибута "Номер" (number) обязательно, по умолчанию используется правило "{N}.
Системный атрибут "Номер" (number) является уникальным (недоступно для изменения).

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

Место выполнения настройки

Форма редактирования атрибута "Номер" (number).

Форма добавления и форма редактирования пользовательского атрибут типа "Целое число".

Выполнение настройки

Откройте форму редактирования атрибута, заполните поля и нажмите Сохранить.

Поля с параметрами номера:

  • Определяемый по правилу формирования номера:

    • Флажок установлен — значение атрибута заполняется автоматически, по указанному правилу, и не редактируется в интерфейсе оператора.

      В классе "Запрос" (serviceCall):

      • Для системного атрибута "Номер" (number) при установке флажка "Определяемый по правилу формирования номера" на форме скрывается параметр "Уникальный", атрибут при этом является уникальным.
      • Для пользовательских атрибутов нумерации объектов при установке флажка "Определяемый по правилу формирования номера" на форме скрываются параметры: вычислимый, составной, определяемый по таблице соответствий, редактируемый, редактируемый в списках, уникальный. Скрытые параметры принимают значение "нет".
    • Флажок снят — значение атрибута заполняется вручную.
  • Правила формирования номера.

    Правило представляет собой:

    • последовательность констант из предопределенного набора:

      1. Конструкция вида {HH} будет заменена системой на текущий час в 24-часовом формате.
      2. Конструкция вида {YY} будет заменена системой на 2 последние цифры года.
      3. Конструкция вида {MM} будет заменена системой на текущий месяц.
      4. Конструкция вида {mm} будет заменена системой на минуты текущего времени.
      5. Конструкция вида {YYYY} будет заменена системой на текущий год.
      6. Конструкция вида {DD} будет заменена системой на текущий день месяца.
      7. Конструкция вида {ND} будет заменена системой на номер, уникальный в рамках дня и в рамках счетчика номеров данного класса.
      8. Конструкция вида {RND} будет заменена системой на случайный номер, уникальный в рамках счетчика номеров данного класса.
      9. Конструкция вида {N} будет заменена системой на номер, уникальный в рамках счетчика номеров данного класса.
      10. Конструкция вида {?N}, где вместо "?" указано натуральное число, будет заменена системой на уникальный номер в рамках счетчика номеров данного класса, в котором "?" — длина, до которой будут добавлены ведущие нули. При использовании этой конструкции для атрибутов типа "Целое число" лидирующие нули будут проигнорированы, если перед ними не стоит число, отличное от нуля.
    • целые числа.

Результат настройки

Заданные правила будут применяться для нумерации только новых объектов. Значение атрибутов вычисляется один раз при создании объекта.

Правила, заданные для системного атрибута "Номер" (number), отображаются в интерфейсе администратора:

  • На формах добавления и редактирования класса/типа объектов.
  • На карточке класса/типа в блоке "Свойства класса/типа" в поле "Правило формирования атрибута "Номер" (number)".

    Если правила не заданы, то в поле "Правило формирования атрибута "Номер" (number)" отображается значение "не указано".

Нумерация уже существующих объектов

Условия настройки:

  • в системе уже существуют объекты определенного класса;
  • для данного класса задается правило нумерации объектов {N} — уникальный идентификатор в рамках системы.

Результат настройки: существующим объектам номер не присваивается, значение атрибута для нумерации равно null.

Решение: существующим объектам можно присвоить номер с помощью скрипта, который:

  • задает значение атрибута для нумерации у существующих объектов (подставляет вместо null числовое значение);
  • устанавливает для правила {N} или {ND} значение, от которого будет производиться отсчет номеров у новых объектов.

Методы API описаны в разделе api.naming Правила нумерации объектов.

Нумерация при создании объектов скриптами или импортом

Создание объектов скриптами

При добавлении или редактировании объекта при помощи скрипта, нумерация будет вести себя так:

  • при помощи скрипта можно создать дублирующий номер — уникальность будет нарушена;
  • номера созданных при помощи скрипта объектов не учитываются в общем счетчике;
  • при удалении объекта скриптом его номер не "освободится" и будет пропущен в общей нумерации.

Создание объектов импортом

При импорте объектов если создать атрибуты с номерами в AD и импортировать, то эти номера не будут учтены в общем счетчике.

Если же создавать объекты без этого атрибута, то система сама добавит этот атрибут и нумерация будет соблюдена