feat(form-decompile,form-compile): измерения планировщика (dimensions) — Planner Phase 1

Расширение Phase 1 кластера Chart-Settings: реквизит pl:Planner теперь несёт
измерения планировщика (<pl:dimension> — «Измерения» в конфигураторе) с элементами.

DSL planner.dimensions[]: объект разреза (value — ссылка xr:DesignTimeRef или nil,
text-заголовок, цвета, font) + elements[] (элементы измерения, РЕКУРСИВНЫ — могут
нести вложенные elements, как показывает UI колонкой «Элементы»; поле
showOnlySubordinatesAreas). Тип value авто-выводится: ссылочный вид →
xsi:type="xr:DesignTimeRef", иначе xs:string. Пустой текст → самозакрывающийся
<pl:text/> (как в выгрузке). Общие хелперы Emit/Get-PlannerValue/Text применены
и к элементам расписания (items).

Раундтрип бит-в-бит: синтетика upload/epf/Диаграммы (items + 2 dimensions +
вложенные elements + period). Зеркало py (ps1==py байт-в-байт). Кейс chart-fields
расширен измерением (nil-разрез + xs:string-элемент + showOnlySubordinatesAreas),
сертифицирован загрузкой в 1С. Регресс 41/41 (ps1+py).

Ограничение: item.dimensionValues (привязка элемента расписания к элементам
измерений) пока всегда пустой.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-06-10 13:57:54 +03:00
parent f064d53eb2
commit f534add7b4
6 changed files with 192 additions and 21 deletions
@@ -171,6 +171,25 @@
</pl:border>
<pl:editMode>EnableEdit</pl:editMode>
</pl:item>
<pl:dimension>
<pl:value xsi:nil="true"/>
<pl:text>Измерение</pl:text>
<pl:borderColor>auto</pl:borderColor>
<pl:backColor>auto</pl:backColor>
<pl:textColor>auto</pl:textColor>
<pl:font kind="AutoFont"/>
<pl:item>
<pl:value xsi:type="xs:string">А</pl:value>
<pl:text>Элемент А</pl:text>
<pl:borderColor>auto</pl:borderColor>
<pl:backColor>auto</pl:backColor>
<pl:textColor>auto</pl:textColor>
<pl:font kind="AutoFont"/>
<pl:showOnlySubordinatesAreas>true</pl:showOnlySubordinatesAreas>
<pl:textFormatted>false</pl:textFormatted>
</pl:item>
<pl:textFormatted>false</pl:textFormatted>
</pl:dimension>
<pl:borderColor>auto</pl:borderColor>
<pl:backColor>auto</pl:backColor>
<pl:textColor>auto</pl:textColor>