fix(form-decompile,form-compile): PictureDecoration имя-как-Ref + <xr:Abs> + порядок Title декораций

Баг: Emit-PictureDecoration брал $el.picture (тип-ключ = имя элемента) фолбэком
источника картинки → при отсутствии src писал <xr:Ref>ИмяДекорации>. Фикс:
источник картинки — ТОЛЬКО src.

<xr:Abs> (встроенная картинка, 131 в корпусе): декомпилятор ловил лишь xr:Ref →
теперь src:"abs:Имя" → <xr:Abs>Имя</xr:Abs> (префикс abs:, иначе <xr:Ref>).

Порядок: LabelDecoration эмитил Title перед own-content, а платформа — layout-first
(корпус 16970 vs 44). Переставил флаги/hyperlink/layout/оформление ПЕРЕД Title (как
ExtendedTooltip) — заодно убирает шум атрибуции харнесса на многострочном Title
(Height «уезжал» на родительскую группу; контент был корректен, ломалась line-
атрибуция). Форма МобильноеПриложениеПредприниматель → round-trip match.

Зеркало py (байт-в-байт). Снэпшоты events/element-appearance/additional-columns
обновлены (только порядок) и пере-сертифицированы в 1С. Регресс 39/39 ps1+py.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-06-08 21:27:37 +03:00
parent 8915e99ac8
commit f7d5e2fd00
6 changed files with 38 additions and 30 deletions
@@ -10,17 +10,17 @@
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
<ChildItems>
<LabelDecoration name="Внимание!" id="1">
<TextColor>web:FireBrick</TextColor>
<Font faceName="Arial" height="12" bold="true" italic="false" underline="false" strikeout="false" kind="Absolute" scale="100"/>
<Border width="1">
<v8ui:style xsi:type="v8ui:ControlBorderType">Single</v8ui:style>
</Border>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Внимание!</v8:content>
</v8:item>
</Title>
<TextColor>web:FireBrick</TextColor>
<Font faceName="Arial" height="12" bold="true" italic="false" underline="false" strikeout="false" kind="Absolute" scale="100"/>
<Border width="1">
<v8ui:style xsi:type="v8ui:ControlBorderType">Single</v8ui:style>
</Border>
<ContextMenu name="Внимание!КонтекстноеМеню" id="2"/>
<ExtendedTooltip name="Внимание!РасширеннаяПодсказка" id="3"/>
</LabelDecoration>
@@ -32,15 +32,15 @@
<ExtendedTooltip name="ЦенаРасширеннаяПодсказка" id="6"/>
</InputField>
<LabelDecoration name="Из стиля" id="7">
<TextColor>web:DimGray</TextColor>
<Font ref="style:NormalTextFont" kind="StyleItem"/>
<Border ref="style:ControlBorder"/>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Из стиля</v8:content>
</v8:item>
</Title>
<TextColor>web:DimGray</TextColor>
<Font ref="style:NormalTextFont" kind="StyleItem"/>
<Border ref="style:ControlBorder"/>
<ContextMenu name="Из стиляКонтекстноеМеню" id="8"/>
<ExtendedTooltip name="Из стиляРасширеннаяПодсказка" id="9"/>
</LabelDecoration>
@@ -31,6 +31,7 @@
</Events>
</InputField>
<LabelDecoration name="Подсказка" id="7">
<Hyperlink>true</Hyperlink>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
@@ -38,7 +39,6 @@
</v8:item>
</Title>
<ToolTipRepresentation>Button</ToolTipRepresentation>
<Hyperlink>true</Hyperlink>
<ContextMenu name="ПодсказкаКонтекстноеМеню" id="8"/>
<ExtendedTooltip name="ПодсказкаРасширеннаяПодсказка" id="9"/>
<Events>