mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-20 09:15:52 +03:00
fix(role-edit): операции применяются в порядке ввода
Внутри навыка они были сгруппированы по типам, поэтому список [remove-rights, add-rights] для одного права выполнялся наоборот: право сначала добавлялось, потом снималось. В инструкции об этом не было ни слова, а порядок ввода — то, чего ожидает читающий. Заодно: условие RLS со ссылкой на шаблон, которого в роли нет, больше не проходит молча — предупреждение в stderr (отказывать нельзя, шаблон могут добавить следующей операцией). Вычитка инструкций обоих навыков: сказано, что -Operation это одна операция, а несколько разных задают списком в файле (с примером); перечислены все три глобальных флага; про значение из файла вынесено в свой раздел; добавлено, что права реквизитам поштучно платформа не хранит — ограничивают их запретом. Из role-compile убрано объяснение, зачем навык замыкает набор: инструкция про применение. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGkXwoXTuafcu1SXMsauFq
This commit is contained in:
co-authored by
Claude Opus 5
parent
d425833709
commit
b28c044e06
@@ -63,8 +63,7 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/role-compile.ps1" -
|
||||
### Зависимые права
|
||||
|
||||
Набор прав дополняется до замыкания: `Edit` тянет `Read`, `Update`, `View`; интерактивные права —
|
||||
свой базовый набор; `View` у обработки и отчёта — `Use`. Дописанное перечисляется в выводе. Так же
|
||||
поступает сама платформа при загрузке, поэтому без этого файл роли и база расходятся.
|
||||
свой базовый набор; `View` у обработки и отчёта — `Use`. Дописанное перечисляется в выводе.
|
||||
|
||||
### Сервисы
|
||||
|
||||
@@ -130,6 +129,11 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/role-compile.ps1" -
|
||||
|
||||
Права на части объекта задаются точечным путём: `Catalog.Контрагенты.Attribute.ИНН: View, Edit`, `WebService.Обмен.Operation.Загрузить: Use`, `HTTPService.ЭДО.URLTemplate.ЕстьНовыеДокументы.Method.POST: Use`.
|
||||
|
||||
Реквизиты, табличные части, измерения и ресурсы по умолчанию наследуют права своего объекта:
|
||||
выдавать их отдельно бессмысленно, платформа такую запись не сохранит. Поштучные права на них
|
||||
имеют смысл только при `"setForAttributesByDefault": false`; ограничить реквизит в обычной роли
|
||||
можно запретом — `{"name": "Catalog.Товары.Attribute.Цена", "rights": {"View": false}}`.
|
||||
|
||||
Роль расширения, включённая в основные (`DefaultRoles`), прав на заимствованные объекты давать не может — платформа это запрещает. Такие права выноси в отдельную роль вне основных.
|
||||
|
||||
Полные таблицы «тип → права», виды вложенности (включая внешние источники данных), список типов без прав, таблицы пресетов и дополнительные примеры — в `dsl-reference.md`.
|
||||
|
||||
Reference in New Issue
Block a user