Skip to main content

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

Структура таблицы settings

Таблица settings предназначена для хранения настроек, которые могут быть применены как к ролям, так и к пользователям. Она имеет следующую структуру:

Поля таблицы:

  • settingName - Название настройки, которое описывает ее назначение.
  • settingValue - Код самой настройки.
  • client - Поле, описывающее, для кого предназначена данная настройка (например, для конкретного клиента или группы пользователей).
  • branch - Указывает, в какой ветке находится данная настройка, используется для управления версиями или различными конфигурациями.

Пример записи из таблицы settings:

image13.png

 

Настройки для ролей

В таблице userPositions настройки для ролей задаются в полях settings и jsettings:

  • settings - Используется для хранения настроек в формате JSON.
  • jsettings - Позволяет использовать JSONata для задания условий, например, для применения настроек только для определенной версии продукта.

Пример записи из таблицы userPositions:

image14.png

Пример поля settings из таблицы userPositions:

image15.png

Пример поля jsettingsиз таблицы userPositions:

image16.png

 

Приоритет настроек:

Настройки в jsettings имеют более высокий приоритет по сравнению с настройками в settings. Если для одной и той же настройки заданы разные идентификаторы в обеих таблицах, будет применена настройка из jsettings.

 

Комбинирование настроек:

  • Если в jsettings заданы настройки, они используются в первую очередь. Затем, если в settings есть другие настройки, они комбинируются с теми, которые уже определены в jsettings.
  • Аналогично, если у роли установлены определенные настройки, а у пользователя есть дополнительные настройки, которые отсутствуют у роли, то применяются настройки роли плюс индивидуальные настройки пользователя. Тоже самое работает и наоборот
  • Если у пользователя и у роли задана настройка с одинаковым названием, но с разными идентификаторами, то будет использована настройка пользователя, и идентификатор роли не будет добавлен. Таким образом, приоритет остается за настройками пользователя.

 

Правила добавления настроек:

При добавлении настроек в таблицу settings необходимо следовать определенным правилам форматирования:

  • Если настройка не является настройкой формы или отчета:

Идентификатор настройки указывается в кавычках и предшествует знаком собачки (@), например:

"название_настройки": "@идентификатор"

Пример:

"warning": "@307"
  • Если настройка является настройкой формы или отчета:

Идентификатор указывается сразу после двоеточия без кавычек и знака собачки, например:

"название_настройки": идентификатор

Пример:

"userForm": 7