mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-19 09:09:41 +03:00
74 lines
3.0 KiB
Markdown
74 lines
3.0 KiB
Markdown
# Доступ по ролям
|
|
|
|
Единый механизм платформы для разграничения по ролям: задаётся общее значение для всех ролей плюс исключения для конкретных ролей. Один и тот же формат значения у четырёх ключей — каждый на своём владельце:
|
|
|
|
| Ключ | Владелец | Смысл |
|
|
|------|----------|-------|
|
|
| `userVisible` | элемент формы | пользовательская видимость элемента |
|
|
| `view` | реквизит формы | право просмотра |
|
|
| `edit` | реквизит формы | право редактирования |
|
|
| `use` | команда формы | доступность команды |
|
|
|
|
Ключ необязателен: его отсутствие = полный доступ для всех ролей.
|
|
|
|
## Значение
|
|
|
|
Две формы (одинаковы для всех четырёх ключей):
|
|
|
|
**Скаляр** `true` / `false` — общее значение для всех ролей, без исключений:
|
|
|
|
```json
|
|
{ "input": "Поле", "userVisible": false }
|
|
```
|
|
|
|
**Объект** `{ "common": <bool>, "roles": { "ИмяРоли": <bool>, … } }` — общее значение `common` плюс явные исключения по ролям:
|
|
|
|
```json
|
|
{ "name": "Реквизит",
|
|
"edit": { "common": false, "roles": { "ПолныеПрава": true } } }
|
|
```
|
|
|
|
Роль, **не указанная** в `roles`, наследует `common`. Указанная — задаёт явный `true`/`false` (может и совпадать с `common`).
|
|
|
|
## Имя роли
|
|
|
|
Ключи в `roles` — имена ролей конфигурации (`ПолныеПрава`, `Бухгалтер`, …).
|
|
|
|
## Примеры
|
|
|
|
Элемент скрыт у всех пользователей:
|
|
|
|
```json
|
|
{ "input": "Комментарий", "userVisible": false }
|
|
```
|
|
|
|
Реквизит не виден никому и редактируется только одной ролью:
|
|
|
|
```json
|
|
{ "name": "СуммаБонуса",
|
|
"view": false,
|
|
"edit": { "common": false, "roles": { "ПолныеПрава": true } } }
|
|
```
|
|
|
|
Поле доступно для просмотра всем, но редактируемо только администратору:
|
|
|
|
```json
|
|
{ "name": "Статус",
|
|
"view": true,
|
|
"edit": { "common": false, "roles": { "Администратор": true } } }
|
|
```
|
|
|
|
Команда недоступна по умолчанию, разрешена только бухгалтеру:
|
|
|
|
```json
|
|
{ "name": "ПровестиЗакрытие",
|
|
"use": { "common": false, "roles": { "Бухгалтер": true } } }
|
|
```
|
|
|
|
Обратный случай — доступно всем, кроме одной роли:
|
|
|
|
```json
|
|
{ "name": "РедактироватьЦену",
|
|
"edit": { "common": true, "roles": { "Кладовщик": false } } }
|
|
```
|