/role-edit - точечная правка существующей роли 1С

SkillAI & models

Targeted editing of an existing 1C role. Use when you need to add, change, or revoke object rights, an RLS condition, a restriction template, or role properties. New roles are assembled by 1c-role-compile.

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the /role-edit - точечная правка существующей роли 1С skill

What this skill tells your AI

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

Меняет уже собранную роль: Roles/<Имя>.xml и Roles/<Имя>/Ext/Rights.xml. UUID роли, права других объектов и их порядок в файле остаются. После правки набор прав затронутого объекта замыкается так же, как при сборке роли, и выстраивается в каноническом порядке выгрузки платформы 8.3.27.

Когда применять

Роль уже лежит в выгрузке, и нужно изменить ее права, ограничение RLS, шаблон или свойства.

Когда не применять

ЗадачаКуда
Роли еще нет, ее надо создать1c-role-compile
Показать состав роли1c-role-info
Проверить файл роли1c-role-validate

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

ПараметрОписание
RolePathRoles/<Имя>.xml, каталог роли или Ext/Rights.xml
DefinitionFileJSON: одна операция, массив или объект с полем operations
OperationОдна операция без JSON-файла
ObjectОбъект метаданных, например Catalog.Товары
RightsПрава для add-rights, set-rights, remove-rights, deny-rights
RightОдно право для set-rls и remove-rls
TemplateИмя шаблона ограничения
ConditionТекст условия RLS или шаблона
Propertysynonym, comment, setForNewObjects, setForAttributesByDefault, independentRightsOfChildObjects
ValueЗначение свойства или запасной носитель прав и условия
NoValidateНе вызывать 1c-role-validate после записи
powershell.exe -NoProfile -File skills/1c-role-edit/scripts/role-edit.ps1 -RolePath "Roles/Кладовщик.xml" -DefinitionFile "edit.json"
python skills/1c-role-edit/scripts/role-edit.py -RolePath "Roles/Кладовщик.xml" -Operation add-rights -Object "Catalog.Товары" -Rights "Edit"

-DefinitionFile и -Operation вместе не задают. Неизвестная операция и право, которого нет у типа объекта, завершают команду с кодом 1 до записи.

Операции

ОперацияЧто меняет
add-rightsДобавляет права к объекту. Уже заданные права другого объекта не переписываются
set-rightsЗаменяет набор прав объекта. Условие RLS сохраняется у права, которое осталось в наборе
remove-rightsСнимает перечисленные права. Пустой набор удаляет блок объекта
deny-rightsЗаписывает явное false. Если включенное право требует это право, в stderr предупреждение: платформа отбросит блок объекта при загрузке
set-rlsСтавит условие на право и включает это право
remove-rlsСнимает условие, само право не снимает
add-templateДобавляет шаблон. Если имя уже есть, код 1: для замены нужен set-template
set-templateЗадает текст шаблона, при отсутствии шаблон создается
remove-templateУдаляет шаблон по имени
modify-propertyСиноним и комментарий в файле метаданных роли, три признака в Rights.xml

Имена типов и прав можно давать по-русски (Справочник.Товары, Чтение): они переводятся в канонические английские имена. Ключи JSON читаются без учета регистра.

Замыкание включенных прав совпадает с 1c-role-compile: Edit влечет Read, Update, View, и дальше по зависимостям, замер платформы 8.3.27. У вложенного объекта (Catalog.Товары.Attribute.Код) зависимости не дописываются.

View и Edit реквизита, табличной части, стандартного реквизита, измерения и ресурса регистра после операции совпадают с выгрузкой: Edit=true при View=false дает View=true, View=false без явного Edit дает Edit=false, право, равное setForAttributesByDefault, из файла уходит. Право стандартного реквизита с условием RLS остается при любом значении; set-rls на реквизит, измерение или ресурс - ошибка ввода. Если при setForAttributesByDefault=true и independentRightsOfChildObjects=false остаются права на поля объекта без прав на сам объект, в stderr предупреждение со ссылкой на стандарт #std532.

Примеры

Добавить редактирование справочника и условие на чтение:

[
  { "operation": "add-rights", "object": "Catalog.Товары", "rights": "Edit" },
  { "operation": "set-rls", "object": "Catalog.Товары", "right": "Read", "condition": "#ПоОрганизации(\"\")" },
  { "operation": "add-template", "template": "ПоОрганизации(Мод)", "condition": "ГДЕ Организация = &ТекущаяОрганизация" }
]

Снять просмотр у обработки, явно запретить интерактивное удаление, сменить синоним:

[
  { "operation": "remove-rights", "object": "DataProcessor.Загрузка", "rights": ["View"] },
  { "operation": "deny-rights", "object": "Catalog.Товары", "rights": "InteractiveDelete" },
  { "operation": "modify-property", "property": "synonym", "value": "Кладовщик склада" },
  { "operation": "modify-property", "property": "setForNewObjects", "value": true }
]

rights принимает строку через запятую, список имен или словарь {"Read": true, "Delete": false}. Для deny-rights перечисленные права записываются как false независимо от словаря.

Signals

GitHub stars
74
Forks
16
Last commit
Sep 2026

ahel review

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

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

Others that do the same job

Advanced
Item type
skill
Key
x-1c-role-edit
Source
github.com/desko77/claude-code-skills-1c