mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-20 09:15:52 +03:00
fix(role-compile,role-edit): шесть находок ревью
1. Резолв uuid вложенного объекта переписан со сквозной регулярки на спуск по дереву. Поиск по всему файлу брал первый узел с подходящим именем, а реквизит шапки и реквизит табличной части сплошь и рядом называются одинаково — ключ сортировки был чужим и вдобавок дублировался, из-за чего порты могли разложить узлы по-разному. Дочерние подсистемы лежат отдельными файлами и не резолвились вовсе: 431 узел в ролях ACC. Теперь на реальной роли резолвится 90% узлов, остальное — стандартные реквизиты, у которых uuid в выгрузке нет. Для них предупреждение больше не печатается: это норма, а не потеря. 2. Фильтр умолчаний уносил право вместе с его ограничением RLS: условие пропадало молча. Право с ограничением отличается от умолчания самим ограничением и остаётся. 3. modify-property не обновлял кэш умолчаний, и следующие операции того же вызова фильтровали по старому флагу — запись попадала в файл ровно вопреки тому, о чём навык сам предупреждает. 4. Edit-RoleMetadata перечитывал Roles/Имя.xml на каждой операции, и в пакете первая правка молча терялась: set-synonym + set-comment сохранял только комментарий. В py-порте такого не было — расхождение портов закрыто. 5. Атрибуция сообщения в PS шла подстрокой по всему списку отброшенного, из-за чего причина приписывалась чужому объекту. Теперь префиксное сравнение, как в py. Три новых кейса, семьи get_rights_object_uuid и is_standard_kind заведены в check-inline-drift. 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
5ec732e12b
commit
5b00410485
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"name": "Синоним и комментарий в одном вызове не затирают друг друга",
|
||||
"setup": "fixture:role-base",
|
||||
"params": {
|
||||
"rolePath": "Roles/Менеджер"
|
||||
},
|
||||
"input": [
|
||||
{
|
||||
"operation": "set-synonym",
|
||||
"value": "Менеджер продаж"
|
||||
},
|
||||
{
|
||||
"operation": "set-comment",
|
||||
"value": "Комментарий роли"
|
||||
}
|
||||
],
|
||||
"expect": {
|
||||
"fileContains": {
|
||||
"file": "Roles/Менеджер.xml",
|
||||
"text": [
|
||||
"Менеджер продаж",
|
||||
"Комментарий роли"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user