Skip to content
cccskills
FreePublished on GitHub

role-compile

Создание роли 1С из описания прав. Используй когда нужно создать новую роль с набором прав на объекты

The English summary is being prepared. Showing the original description.

See how to install

Files included (4)

  • SKILL.md6.8 KB
  • dsl-reference.md11.3 KB
  • scripts/role-compile.ps194.7 KB
  • scripts/role-compile.py99.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

/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:

"objects": ["HTTPService.ЭДО: Use"]

→ HTTPService.ЭДО.URLTemplate.ЕстьНовыеДокументы.Method.POST: Use, и так по каждому методу каждого шаблона.

Часть маршрутов — полным путём: "HTTPService.ЭДО.URLTemplate.ЕстьНовыеДокументы.Method.POST: Use".

Шаблоны RLS

"templates": [{"name": "ДляОбъекта(Мод)", "condition": "ГДЕ Организация = &ТекОрг"}]

Ссылка в rls: "#ДляОбъекта(\"\")". Символ & автоматически экранируется в XML.

Длинное условие держи в файле — в значении пишется @путь. Относительный путь ищется рядом с JSON-описанием роли, затем в текущем каталоге:

"objects": [{"name": "Document.Продажа", "preset": "view", "rls": {"Read": "@условие.txt"}}],
"templates": [{"name": "ДляОбъекта(Мод)", "condition": "@шаблон.txt"}]

Примеры

Простая роль

{
  "name": "ЧтениеНоменклатуры", "synonym": "Чтение номенклатуры",
  "objects": ["Catalog.Номенклатура: @view", "Catalog.Контрагенты: @view", "DataProcessor.Загрузка: @view"]
}

Роль с RLS

{
  "name": "ЧтениеДокументовПоОрганизации",
  "synonym": "Чтение документов (ограничение по организации)",
  "objects": [
    "Catalog.Организации: @view",
    {"name": "Document.РеализацияТоваровУслуг", "preset": "view", "rls": {"Read": "#ДляОбъекта(\"\")"}}
  ],
  "templates": [{"name": "ДляОбъекта(Модификатор)", "condition": "ГДЕ Организация = &ТекущаяОрганизация"}]
}

Что можно писать в objects

Прав не бывает у Enum, CommonModule, DefinedType, CommonPicture, CommonTemplate, Language, FunctionalOption, EventSubscription, ScheduledJob, StyleItem, SettingsStorage и подобных — в дереве редактора ролей их нет. Ошибка в описании — отказ до записи: файлы не создаются, Configuration.xml не меняется.

Права на части объекта задаются точечным путём: Catalog.Контрагенты.Attribute.ИНН: View, Edit, WebService.Обмен.Operation.Загрузить: Use, HTTPService.ЭДО.URLTemplate.ЕстьНовыеДокументы.Method.POST: Use.

Реквизиты, табличные части, измерения и ресурсы наследуют права своего объекта — им задают запрет, чтобы закрыть унаследованное:

{"name": "Catalog.Товары.Attribute.Цена", "rights": {"View": false}}

Роль расширения, включённая в основные (DefaultRoles), прав на заимствованные объекты давать не может — платформа это запрещает. Такие права выноси в отдельную роль вне основных.

Полные таблицы «тип → права», виды вложенности (включая внешние источники данных), список типов без прав, таблицы пресетов и дополнительные примеры — в dsl-reference.md.

Верификация

/role-validate <RightsPath>  — проверка корректности XML, прав, RLS
/role-info <RightsPath>      — визуальная сводка структуры

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Точечное редактирование конфигурации 1С. Используй когда нужно изменить свойства конфигурации, добавить или удалить объект из состава, настроить роли по умолчанию, поменять раскладку панелей, настроить начальную страницу

The English summary is being prepared. Showing the original description.

Nikolay-Shirokov/cc-1c-skills717Updated Oct 22, 2026

Анализ структуры конфигурации 1С — свойства, состав, счётчики объектов. Используй для обзора конфигурации — какие объекты есть, сколько их, какие настройки

The English summary is being prepared. Showing the original description.

Nikolay-Shirokov/cc-1c-skills717Updated Oct 22, 2026

Создать пустую конфигурацию 1С (scaffold XML-исходников). Используй когда нужно начать новую конфигурацию с нуля

The English summary is being prepared. Showing the original description.

Nikolay-Shirokov/cc-1c-skills717Updated Oct 22, 2026

Валидация конфигурации 1С. Используй после создания или модификации конфигурации для проверки корректности

The English summary is being prepared. Showing the original description.

Nikolay-Shirokov/cc-1c-skills717Updated Oct 22, 2026

Заимствование объектов из конфигурации 1С в расширение (CFE). Используй когда нужно перехватить метод, изменить форму или добавить реквизит к существующему объекту конфигурации

The English summary is being prepared. Showing the original description.

Nikolay-Shirokov/cc-1c-skills717Updated Oct 22, 2026

Анализ расширения конфигурации 1С (CFE) — состав, заимствованные объекты, перехватчики, проверка переноса. Используй когда нужно понять что содержит расширение или проверить перенесены ли вставки в конфигурацию

The English summary is being prepared. Showing the original description.

Nikolay-Shirokov/cc-1c-skills717Updated Oct 22, 2026

See all skills by Nikolay-Shirokov

Report a problem with this skill