docs(role-compile,role-edit): инструкции только про применение

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

В примере объектной формы запрет переехал с объекта верхнего уровня на
реквизит: на верхнем уровне такая запись при умолчаниях роли не
хранится, и пример учил бесполезному.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGkXwoXTuafcu1SXMsauFq
This commit is contained in:
Nick Shirokov
2026-09-13 20:23:20 +03:00
co-authored by Claude Opus 5
parent 9d21ad3429
commit 9fcf7329ba
6 changed files with 11 additions and 19 deletions
+3 -9
View File
@@ -44,12 +44,13 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/role-compile.ps1" -
"Document.Реализация: @edit", "Document.Реализация: @edit",
"DataProcessor.Загрузка: @view", "DataProcessor.Загрузка: @view",
"InformationRegister.Цены: Read, Update", "InformationRegister.Цены: Read, Update",
{ "name": "Document.Продажа", "preset": "view", "rights": {"Delete": false}, "rls": {"Read": "#Шаблон(\"\")"} } { "name": "Document.Продажа", "preset": "view", "rls": {"Read": "#Шаблон(\"\")"} },
{ "name": "Catalog.Номенклатура.Attribute.Цена", "rights": {"View": false} }
] ]
``` ```
- Shorthand: `"Тип.Имя: @пресет"` или `"Тип.Имя: Право1, Право2"` - Shorthand: `"Тип.Имя: @пресет"` или `"Тип.Имя: Право1, Право2"`
- Объектная форма: `preset` + `rights` (переопределения) + `rls` (ограничения) - Объектная форма: `preset` + `rights` (точечные значения прав) + `rls` (ограничения)
### Пресеты ### Пресеты
@@ -60,10 +61,6 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/role-compile.ps1" -
`@` обязателен в shorthand. В объектной форме — `"preset": "view"` без `@`. `@` обязателен в shorthand. В объектной форме — `"preset": "view"` без `@`.
### Зависимые права
Набор прав дополняется до замыкания: `Edit` тянет `Read`, `Update`, `View`; интерактивные права —
свой базовый набор; `View` у обработки и отчёта — `Use`. Дописанное перечисляется в выводе.
### Сервисы ### Сервисы
@@ -78,9 +75,6 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/role-compile.ps1" -
Часть маршрутов — полным путём: `"HTTPService.ЭДО.URLTemplate.ЕстьНовыеДокументы.Method.POST: Use"`. Часть маршрутов — полным путём: `"HTTPService.ЭДО.URLTemplate.ЕстьНовыеДокументы.Method.POST: Use"`.
### Русские синонимы
Поддерживаются русские типы (`Справочник`→Catalog, `Документ`→Document) и права (`Чтение`→Read, `Просмотр`→View). Каноничная форма — английская.
### Шаблоны RLS ### Шаблоны RLS
@@ -1,4 +1,4 @@
# role-compile v1.42 — Compile 1C role from JSON # role-compile v1.43 — Compile 1C role from JSON
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)] [CmdletBinding(PositionalBinding=$false)]
param( param(
@@ -1,5 +1,5 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# role-compile v1.42 — Compile 1C role from JSON # role-compile v1.43 — Compile 1C role from JSON
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse import argparse
import json import json
+4 -6
View File
@@ -78,14 +78,12 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/role-edit.ps1" -Rol
## Права ## Права
Имена объектов и прав — те же, что в `/role-compile`: английские (`Catalog`, `Read`) или русские Имена объектов и прав — те же, что в `/role-compile`: `Catalog`, `Read`, пресеты `@view` и
(`Справочник`, `Чтение`), пресеты `@view` и `@edit`, вложенные пути `@edit`, вложенные пути (`Catalog.Контрагенты.Attribute.ИНН: View, Edit`), короткая запись сервиса
(`Catalog.Контрагенты.Attribute.ИНН: View, Edit`), короткая запись сервиса
(`HTTPService.ЭДО: Use` раскрывается по всем методам шаблонов URL). (`HTTPService.ЭДО: Use` раскрывается по всем методам шаблонов URL).
Набор прав дополняется до замыкания: `Edit` тянет `Read`, `Update`, `View`; `View` у обработки и `remove-rights` и `deny-rights` задевают больше перечисленного: уходят и права, которым снятое
отчёта — `Use`. Снятие работает в обратную сторону: снимаешь `Read` — уходят и права, которые его нужно (сняли `Read` — уйдут `Update`, `View`, `Edit`). Снятое каскадом перечисляется в выводе.
требуют. Дописанное и снятое каскадом перечисляется в выводе.
Роль хранит только то, что отличается от её умолчаний, — всё совпавшее навык не пишет и говорит Роль хранит только то, что отличается от её умолчаний, — всё совпавшее навык не пишет и говорит
об этом: об этом:
@@ -1,4 +1,4 @@
# role-edit v1.3 — Edit existing 1C role rights in place # role-edit v1.4 — Edit existing 1C role rights in place
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)] [CmdletBinding(PositionalBinding=$false)]
param( param(
@@ -1,5 +1,5 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# role-edit v1.3 — Edit existing 1C role rights in place # role-edit v1.4 — Edit existing 1C role rights in place
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse import argparse
import json import json