/role-edit — точечное редактирование роли 1С
SkillDev toolsLets 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.
No other account needed.
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 | Значение операции; несколько значений — через ;; |
DefinitionFile | JSON-массив операций (альтернатива 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-property | setForNewObjects=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