Название и номер объектов

Описание настройки

У каждого объекта можно отображать название и номер с помощью системных атрибутов.

Системный атрибут "Название" (title)

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

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

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

Системный атрибут "Номер" (number)

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

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

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

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

Форма редактирования атрибута:

  • Правило именования настраивается на форме редактирования атрибута "Название" (title).
  • Шаблон для составного атрибута настраивается на форме редактирования атрибута "Название" (title).
  • Правило формирования номера настраивается на форме редактирования атрибута "Номер" (number).

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

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

Параметры настройки названия и номера:

  • Составной

    • Флажок установлен — значение атрибута "Название" заполняется автоматически и состоит из значений нескольких атрибутов, коды которых указаны в поле "Шаблон".

    Если значение атрибут "Название" (title) уже используется в шаблоне других составных атрибутов, т.е. в каком-либо классе/типе существует составной атрибут, в шаблоне которого присутствует атрибут типа "Ссылка на бизнес-объект", ссылающийся на класс с текущим атрибутом "Название" (title), то такой атрибут нельзя определить как составной.

    Шаблон составного атрибута может содержать:

    • Строковые константы — произвольные строковые константы: буквы, цифры, словосочетания и т.д.
    • Коды атрибутов — коды невычислимых и несоставных системных и пользовательских атрибутов текущего класса/типа.

      Код атрибута задается в виде: ${attr}, где attr — код атрибута.

      Например, шаблон: ${name} ${price} ${quantity}.

      Могут использоваться:

      • код атрибута типа: "Вещественное число", "Временной интервал", "Дата", "Дата/время", "Ссылка на бизнес-объект" (в том числе агрегируемые атрибуты); "Строка", "Целое число", "Элемент справочника";
      • код системного атрибута "Тип объекта" (metaclass);
      • код системного атрибута "Статус" (state).

      Не используются:

      • код системного атрибута "Пароль" (password) системного класса "Сотрудник" (employee);
      • код системного атрибута "Уникальный идентификатор" (UUID);
      • код текущего составного атрибута;
      • код другого составного атрибута;
      • код атрибута типа "Ссылка на бизнес-объект", ссылающийся на текущий класс/тип;
      • код атрибута типа "Ссылка на бизнес-объект", если в классе, на который ссылается данный атрибут, атрибут "Название" (title) является составным;
      • код атрибутов типа "Атрибут связанного объекта".

      Для отображения значений атрибутов шаблона используются стандартные представления для отображения. Для атрибутов типа "Элемент справочника" и "Статус" всегда используется представление "Название". В атрибутах типа "Дата" и "Дата/время" время отображается в часовом поясе сервера.

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

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

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

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

    Правило указывается в поле "Правило именования" и представляет собой:

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

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

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

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

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

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

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

    Правило указывается в поле "Правило формирования номера" и представляет собой:

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

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

Общее описание редактирования атрибутов приводится в разделе Настройка атрибутов класса и типа объектов.

Правила именования и шаблон для составного атрибута также могут настраивать для пользовательских атрибутов типа "Строка". Правила формирования номера — для пользовательских атрибутов типа "Целое число".

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

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

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

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

    • Правило формирования атрибута "Название" (title) — отображается правило именования или шаблон составного атрибута).
    • Правило формирования атрибута "Номер" (number).

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

Особенности настройки

Изменения правила наименования уже существующих объектов

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

  • в системе уже существуют объекты определенного класса;
  • для данного класса задается или изменяется правило наименования или шаблон составного атрибута. К смене правила также относится смена типа объекта, если в новом типе уставлено другое правило).

Результат настройки: у существующих объектов названия не изменяются.

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

Методы API описаны в разделе Пересчет значения составного атрибута.

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

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

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

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

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

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

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

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

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

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

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

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

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