/role-compile - генерация роли 1С из JSON DSL
SkillAI & modelsCreates a 1C role from a rights description. Use when you need to create a new role with a set of object permissions.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the /role-compile - генерация роли 1С из JSON DSL skill
What this skill tells your AI
The instructions your AI receives, as published by desko77/claude-code-skills-1c in skills/1c-role-compile/SKILL.md and read by ahel’s review.
Принимает JSON-определение роли → генерирует Roles/Имя.xml (метаданные) и Roles/Имя/Ext/Rights.xml (права). UUID автоматически.
Параметры и команда
| Параметр | Описание |
|---|---|
JsonPath | Путь к JSON-определению роли |
OutputDir | Корень выгрузки конфигурации (где Configuration.xml, Roles/ и т.д.) |
powershell.exe -NoProfile -File skills/1c-role-compile/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", "rights": {"Delete": false}, "rls": {"Read": "#Шаблон(\"\")"} }
]
- Shorthand:
"Тип.Имя: @пресет"или"Тип.Имя: Право1, Право2" - Объектная форма:
preset+rights(переопределения) +rls(ограничения)
Пресеты
| Пресет | Действие |
|---|---|
@view | Просмотр - Read, View (+InputByString для справочников/документов; Use+View для обработок/отчетов) |
@edit | Полное редактирование - CRUD + Interactive* + Posting (документы) |
@ обязателен в shorthand. В объектной форме - "preset": "view" без @.
Для сервисов (WebService, HTTPService, IntegrationService) пресеты не определены - используй явные права: "WebService.Имя: Use".
Русские синонимы
Поддерживаются русские типы (Справочник→Catalog, Документ→Document) и права (Чтение→Read, Просмотр→View). Смешивание допустимо: "Справочник.Контрагенты: Чтение, View".
Шаблоны RLS
"templates": [{"name": "ДляОбъекта(Мод)", "condition": "ГДЕ Организация = &ТекОрг"}]
Ссылка в rls: "#ДляОбъекта(\"\")". Символ & автоматически экранируется в XML.
Примеры
Простая роль
{
"name": "ЧтениеНоменклатуры", "synonym": "Чтение номенклатуры",
"objects": ["Catalog.Номенклатура: @view", "Catalog.Контрагенты: @view", "DataProcessor.Загрузка: @view"]
}
Роль с RLS
{
"name": "ЧтениеДокументовПоОрганизации",
"synonym": "Чтение документов (ограничение по организации)",
"objects": [
"Catalog.Организации: @view",
{"name": "Document.РеализацияТоваровУслуг", "preset": "view", "rls": {"Read": "#ДляОбъекта(\"\")"}}
],
"templates": [{"name": "ДляОбъекта(Модификатор)", "condition": "ГДЕ Организация = &ТекущаяОрганизация"}]
}
Подробные таблицы пресетов, русских синонимов и дополнительные примеры - в dsl-reference.md.
Верификация
/role-validate <RightsPath> [MetadataPath] - проверка корректности XML, прав, RLS
/role-info <RightsPath> - визуальная сводка структуры
Signals
- GitHub stars
- 61
- Forks
- 14
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
x-1c-role-compile- Source
- github.com/desko77/claude-code-skills-1c