Files
cc-1c-skills/.codeassistant/skills/form-compile/references/roles-access.md
T
2026-06-14 11:08:54 +00:00

3.0 KiB

Доступ по ролям

Единый механизм платформы для разграничения по ролям: задаётся общее значение для всех ролей плюс исключения для конкретных ролей. Один и тот же формат значения у четырёх ключей — каждый на своём владельце:

Ключ Владелец Смысл
userVisible элемент формы пользовательская видимость элемента
view реквизит формы право просмотра
edit реквизит формы право редактирования
use команда формы доступность команды

Ключ необязателен: его отсутствие = полный доступ для всех ролей.

Значение

Две формы (одинаковы для всех четырёх ключей):

Скаляр true / false — общее значение для всех ролей, без исключений:

{ "input": "Поле", "userVisible": false }

Объект { "common": <bool>, "roles": { "ИмяРоли": <bool>, … } } — общее значение common плюс явные исключения по ролям:

{ "name": "Реквизит",
  "edit": { "common": false, "roles": { "ПолныеПрава": true } } }

Роль, не указанная в roles, наследует common. Указанная — задаёт явный true/false (может и совпадать с common).

Имя роли

Ключи в roles — имена ролей конфигурации (ПолныеПрава, Бухгалтер, …).

Примеры

Элемент скрыт у всех пользователей:

{ "input": "Комментарий", "userVisible": false }

Реквизит не виден никому и редактируется только одной ролью:

{ "name": "СуммаБонуса",
  "view": false,
  "edit": { "common": false, "roles": { "ПолныеПрава": true } } }

Поле доступно для просмотра всем, но редактируемо только администратору:

{ "name": "Статус",
  "view": true,
  "edit": { "common": false, "roles": { "Администратор": true } } }

Команда недоступна по умолчанию, разрешена только бухгалтеру:

{ "name": "ПровестиЗакрытие",
  "use": { "common": false, "roles": { "Бухгалтер": true } } }

Обратный случай — доступно всем, кроме одной роли:

{ "name": "РедактироватьЦену",
  "edit": { "common": true, "roles": { "Кладовщик": false } } }