/role-edit — точечное редактирование роли 1С

SkillDev tools

Lets your agent edit an existing 1C role file to add, remove, or restrict access rights without losing other rights or UUIDs.

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-edit — точечное редактирование роли 1С skill

About this capability

Targeted editing of an existing 1C role. Use when you need to add, remove, or restrict rights, configure RLS restrictions and templates, or change role properties without losing other rights and UUIDs

What this skill tells your AI

The instructions your AI receives, as published by nikolay-shirokov/cc-1c-skills in .claude/skills/role-edit/SKILL.md and read by ahel’s review.

Меняет права существующей роли на месте: UUID, прочие права, RLS и шаблоны сохраняются. Создание новой роли — /role-compile.

Параметры и команда

ПараметрОписание
RolePathКаталог роли, Roles/Имя.xml или Roles/Имя/Ext/Rights.xml
OperationОдна операция из таблицы ниже
ValueЗначение операции; несколько значений — через ;;
DefinitionFileJSON-массив операций (альтернатива Operation) — так задают несколько разных операций
NoValidateНе запускать role-validate после правки
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/role-edit.ps1" -RolePath "<роль>" -Operation <op> -Value "<значение>"

Операции применяются в том порядке, в котором перечислены.

Операции

ОперацияФормат ValueОписание
add-rightsТип.Имя: Право1, Право2 или Тип.Имя: @пресетДобавить права, прежние сохранить
set-rightsто жеЗаменить набор прав объекта целиком
remove-rightsТип.Имя: Право1, Право2 — снять праваТип.Имя — удалить объект целикомСнять права
deny-rightsТип.Имя: Право1, Право2Закрыть реквизит или ТЧ, которые иначе наследуют права объекта
set-rlsТип.Имя.Право: условиеТип.Имя.Право[Поле1, Поле2]: условиеОграничение доступа к данным
remove-rlsТип.Имя.Право — снять всеТип.Имя.Право[Поле1] — снять одну строкуСнять ограничение, право оставить
add-templateИмя(Параметры): условиеДобавить шаблон ограничения
set-templateто жеЗаменить шаблон, а если его нет — добавить
remove-templateИмя(Параметры) или ИмяУдалить шаблон
modify-propertysetForNewObjects=truesetForAttributesByDefault=falseindependentRightsOfChildObjects=trueГлобальные флаги роли
set-synonymтекстСиноним роли
set-commentтекстКомментарий роли

Быстрые примеры

# Добавить права нового регистра, ничего не потеряв
... -RolePath "src/Roles/Менеджер" -Operation add-rights -Value "InformationRegister.Цены: Read, Update"

# Пресет и несколько объектов в одном вызове
... -RolePath "src/Roles/Менеджер" -Operation add-rights -Value "Catalog.Товары: @view ;; Document.Заказ: @edit"

# Снять права; объект без разрешающих прав удаляется целиком
... -RolePath "src/Roles/Менеджер" -Operation remove-rights -Value "Document.Заказ: Delete"

# Закрыть реквизит от роли
... -RolePath "src/Roles/Менеджер" -Operation deny-rights -Value "Catalog.Товары.Attribute.Цена: View"

Несколько разных операций — списком в файле:

[
  { "operation": "add-rights", "value": "Catalog.Товары: @view" },
  { "operation": "set-rls", "value": "Catalog.Товары.Read: #ПоОрганизации(\"\")" }
]
... -RolePath "src/Roles/Менеджер" -DefinitionFile "операции.json"

Права

Имена объектов и прав — те же, что в /role-compile: Catalog, Read, пресеты @view и @edit, вложенные пути (Catalog.Контрагенты.Attribute.ИНН: View, Edit), короткая запись сервиса (HTTPService.ЭДО: Use раскрывается по всем методам шаблонов URL).

remove-rights и deny-rights задевают больше перечисленного: уходят и права, которым снятое нужно (сняли Read — уйдут Update, View, Edit). Снятое каскадом перечисляется в выводе.

Ошибка в значении — отказ до записи, файл не меняется. Полные таблицы «тип → права» и виды вложенности — в справке /role-compile.

RLS

Ограничения права — это список строк, как в таблице «Ограничения доступа к данным» редактора. Строка без списка полей действует на все прочие поля, строка со списком — только на них. Типовой приём: закрыть данные целиком, но оставить поля представления ссылки открытыми, иначе ссылки на объект превратятся в «объект не найден»:

... -Operation set-rls -Value "Catalog.Товары.Read: ГДЕ ЛОЖЬ"
... -Operation set-rls -Value "Catalog.Товары.Read[Ссылка, Код, Наименование]: "

Строка с тем же набором полей заменяется, с другим — добавляется. Право должно быть уже выдано: ограничение без права платформа игнорирует, поэтому навык откажет.

Ссылка на шаблон — #ИмяШаблона(""); & в условиях экранируется автоматически.

Значение из файла

Вместо текста можно указать @путь — условие RLS, тело шаблона, синоним и комментарий берутся из файла. Относительный путь ищется рядом с DefinitionFile, затем в текущем каталоге. Разделитель ;; внутри файла остаётся обычным текстом.

... -Operation set-rls -Value "Catalog.Товары.Read: @условие.txt"
... -Operation add-template -Value "ПоОрганизации(Мод): @условие.txt"
... -Operation set-comment -Value "@комментарий.txt"

Верификация

/role-info <RightsPath>      — сводка прав после правки
/role-validate <RightsPath>  — проверка корректности (запускается автоматически)

Signals

GitHub stars
606
Forks
116
Last commit
Sep 2026

ahel review

  • K5info
    obfuscation (in scripts/role-edit.ps1)

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Catalog kind
skill
Gateway key
role-edit
Source
github.com/nikolay-shirokov/cc-1c-skills