/role-compile - генерация роли 1С из JSON DSL

SkillAI & models

Creates 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.

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