mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-19 09:09:41 +03:00
ddc1641176
При поиске корня конфигурации guard поднимался по дереву вверх и «проскакивал» собственный корень автономной внешней обработки/отчёта (ExternalDataProcessor / ExternalReport), лежащей внутри дерева выгрузки конфигурации. Если у охватывающей конфигурации выключена возможность изменения (G=1), внешний объект ложно блокировался как «объект типовой конфигурации на поддержке», а info-навыки выводили нерелевантную строку «Поддержка: конфигурация read-only». Теперь climb останавливается на границе автономного объекта: если целевой файл или встреченный по пути <каталог>.xml имеет корень ExternalDataProcessor/ExternalReport, подъём прекращается и объект не привязывается к конфигурации. Корень внешнего объекта всегда глубже Configuration.xml, поэтому встречается первым — регрессии для обычных объектов конфигурации нет. Синхронно во всех копиях guard-а (навыки автономны): хук support-state.mjs (decideSupport + findConfigRoot), 16 мутаторов (Assert-EditAllowed), 5 info-навыков и meta-info (Get-SupportStatusForPath / Get-ObjectSupportStatus) — ps1 и py. Для info-навыков строка «Поддержка:» для внешнего объекта опускается. Тесты: hooks/test/run.mjs — секция внешней границы (G=1 + встроенная EPF); tests/skills — кейсы mxl-compile (guard пропускает) и mxl-info (строка опущена). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
24 lines
539 B
JSON
24 lines
539 B
JSON
{
|
||
"name": "Guard #39: автономная EPF внутри конфигурации на поддержке (G=1) НЕ блокируется",
|
||
"setup": "fixture:epf-in-locked-config",
|
||
"input": {
|
||
"columns": 2,
|
||
"areas": [
|
||
{
|
||
"name": "О",
|
||
"rows": [
|
||
{
|
||
"cells": [
|
||
{
|
||
"col": 1,
|
||
"text": "a"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"outputPath": "print-forms/Демо/Templates/Макет/Ext/Template.xml"
|
||
}
|