Описание и работа с настройками
Структура таблицы settings
Таблица settings предназначена для хранения настроек, которые могут быть применены как к ролям, так и к пользователям. Она имеет следующую структуру:
Поля таблицы:
- settingName - Название настройки, которое описывает ее назначение.
- settingValue - Код самой настройки.
- client - Поле, описывающее, для кого предназначена данная настройка (например, для конкретного клиента или группы пользователей).
- branch - Указывает, в какой ветке находится данная настройка, используется для управления версиями или различными конфигурациями.
Пример записи из таблицы settings:
Настройки для ролей
В таблице userPositions настройки для ролей задаются в полях settings и jsettings:
- settings - Используется для хранения настроек в формате JSON.
- jsettings - Позволяет использовать JSONata для задания условий, например, для применения настроек только для определенной версии продукта.
Пример записи из таблицы userPositions:
Пример поля settings из таблицы userPositions:
Пример поля jsettingsиз таблицы userPositions:
Приоритет настроек:
Настройки в jsettings имеют более высокий приоритет по сравнению с настройками в settings. Если для одной и той же настройки заданы разные идентификаторы в обеих таблицах, будет применена настройка из jsettings.
Комбинирование настроек:
- Если в jsettings заданы настройки, они используются в первую очередь. Затем, если в settings есть другие настройки, они комбинируются с теми, которые уже определены в jsettings.
- Аналогично, если у роли установлены определенные настройки, а у пользователя есть дополнительные настройки, которые отсутствуют у роли, то применяются настройки роли плюс индивидуальные настройки пользователя. Тоже самое работает и наоборот
- Если у пользователя и у роли задана настройка с одинаковым названием, но с разными идентификаторами, то будет использована настройка пользователя, и идентификатор роли не будет добавлен. Таким образом, приоритет остается за настройками пользователя.
Правила добавления настроек:
При добавлении настроек в таблицу settings необходимо следовать определенным правилам форматирования:
-
Если настройка не является настройкой формы или отчета:
Идентификатор настройки указывается в кавычках и предшествует знаком собачки (@), например:
"название_настройки": "@идентификатор"
Пример:
"warning": "@307"
- Если настройка является настройкой формы или отчета:
Идентификатор указывается сразу после двоеточия без кавычек и знака собачки, например:
"название_настройки": идентификатор
Пример:
"userForm": 7
No Comments