Role Compile
Создание роли 1С из описания прав.
Install
npx skills add Nikolay-Shirokov/cc-1c-skills --skill role-compile -g -a claude-code -y- Repository
- Nikolay-Shirokov/cc-1c-skills750
- Category
- Engineering
- Updated
- 4d ago
- License
- MIT
- Context cost
- Lightabout 1,174 tokens
- Runs scripts
- Yes, review before use
What it does
Создание роли 1С из описания прав. Используй когда нужно создать новую роль с набором прав на объекты
/role-compile, генерация роли 1С из JSON DSL
Принимает JSON-определение роли → генерирует Roles/Имя.xml (метаданные) и Roles/Имя/Ext/Rights.xml (права). UUID автоматически.
Параметры и команда
| Параметр | Описание |
|---|---|
JsonPath | Путь к JSON-определению роли |
OutputDir | Корень выгрузки конфигурации (где Configuration.xml, Roles/ и т.д.) |
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/role-compile.ps1" -JsonPath "<json>" -OutputDir "<ConfigDir>"
Создаёт {OutputDir}/Roles/Имя.xml и {OutputDir}/Roles/Имя/Ext/Rights.xml. Регистрирует <Role> в Configuration.xml.
JSON DSL
Структура
{ "name": "ИмяРоли", "synonym": "Отображаемое имя", "objects": [...], "templates": [...] }
Необязательные: comment (""), setForNewObjects (false), setForAttributesByDefault (true), independentRightsOfChildObjects (false).
Shorthand-строки и объектная форма
"objects": [
"Catalog.Номенклатура: @view",
"Document.Реализация: @edit",
"DataProcessor.Загрузка: @view",
"InformationRegister.Цены: Read, Update",
{ "name": "Document.Продажа", "preset": "view", "rls": {"Read": "#Шаблон(\"\")"} },
{ "name": "Catalog.Номенклатура.Attribute.Цена", "rights": {"View": false} }
]
- Shorthand:
"Тип.Имя: @пресет"или"Тип.Имя: Право1, Право2" - Объектная форма:
preset+rights(точечные значения прав) +rls(ограничения)
Пресеты
| Пресет | Действие |
|---|---|
@view | Просмотр, Read, View (+InputByString для справочников/документов; Use+View для обработок/отчётов) |
@edit | Полное редактирование, CRUD + Interactive* + Posting (документы) |
@ обязателен в shorthand. В объектной форме, "preset": "view" без @.
Сервисы
Право живёт на вложенном объекте сервиса, методе шаблона URL, операции, канале; на сервисе целиком его не бывает. Весь сервис, короткая запись, навык раскроет её по метаданным в OutputDir:
