feat(form-decompile,form-compile): эмиссия оформления Page/Popup + ColumnGroup HeaderPicture + whitespace Title/ToolTip

Декомпилятор ловил эти свойства (Add-CommonProps/Add-Appearance), но эмиттеры
компилятора их не выводили → LOST. Четыре подфикса (по выбору пользователя из топа
list-iter):

1. Page>BackColor/TitleTextColor/TitleFont (193+): Emit-Page не звал Emit-Appearance.
   Добавлен (profile field, после ShowTitle перед компаньоном — порядок корпуса).
2. Popup>TitleTextColor/TitleFont (133/127): Emit-Popup не звал Emit-Appearance. Добавлен.
3. ColumnGroup>HeaderPicture (144): Emit-ColumnGroup не звал Emit-ColumnPics. Добавлен
   (после ShowInHeader/Layout перед оформлением — порядок корпуса).
4. UsualGroup Title/ToolTip с whitespace-контентом: Add-CommonProps читал title/tooltip
   через Get-LangText (PreserveWhitespace=false стрипал <v8:content> </> → "" →
   компилятор подавлял). Новый Get-LangTextWS восстанавливает " " (как Get-MLFormattedValue).
   1-пробельные tooltip'ы теперь матчатся; редкий N-пробельный → косметика числа пробелов.

Зеркало py. Выборка 40 форм с этими категориями: целевые потери 0 (match 21,
остаток — несвязанный хвост). Кейсы pages (+backColor/titleTextColor/titleFont),
column-group (+headerPicture), button-group (popup +titleTextColor/titleFont)
сертифицированы в 1С. Регресс 43/43 (ps1+py).

Раскрыто (отдельно): MultipleValuesBackColor (input) — другой appearance-ключ.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-06-11 20:04:09 +03:00
co-authored by Claude Opus 4.8
parent c96bcc3566
commit 32273d2be8
10 changed files with 49 additions and 10 deletions
@@ -23,7 +23,7 @@
{ "button": "Вниз", "command": "Вниз" }
]},
{ "buttonGroup": "ГруппаГлобальныеКоманды", "commandSource": "FormCommandPanelGlobalCommands" },
{ "popup": "ПодменюПечать", "title": "Печать", "picture": "StdPicture.Print", "loadTransparent": false, "representation": "PictureAndText", "children": [
{ "popup": "ПодменюПечать", "title": "Печать", "picture": "StdPicture.Print", "loadTransparent": false, "representation": "PictureAndText", "titleTextColor": "style:ButtonTextColor", "titleFont": "style:ВажнаяНадписьШрифт", "children": [
{ "button": "ПечатьСчёта", "command": "Выполнить" }
]}
]}
@@ -18,7 +18,7 @@
"elements": [
{ "table": "Список", "path": "Список", "columns": [
{ "input": "Наименование", "path": "Список.Наименование" },
{ "columnGroup": "horizontal", "name": "ГруппаСрок", "title": "Срок", "children": [
{ "columnGroup": "horizontal", "name": "ГруппаСрок", "title": "Срок", "headerPicture": "StdPicture.ExecuteTask", "children": [
{ "input": "ДатаНачала", "path": "Список.ДатаНачала" },
{ "input": "ДатаОкончания", "path": "Список.ДатаОкончания" }
]},
+1 -1
View File
@@ -21,7 +21,7 @@
{ "page": "Шаг1", "title": "", "showTitle": false, "picture": "StdPicture.ExecuteTask", "children": [
{ "input": "Параметр1", "path": "Параметр1" }
]},
{ "page": "Шаг2", "title": "Результат", "titleDataPath": "Итог", "tooltip": "Шаг \"Результат\"", "group": "horizontalIfPossible", "picture": { "src": "StdPicture.FilterCriterion", "loadTransparent": true, "transparentPixel": { "x": 2, "y": 4 } }, "children": [
{ "page": "Шаг2", "title": "Результат", "titleDataPath": "Итог", "tooltip": "Шаг \"Результат\"", "group": "horizontalIfPossible", "picture": { "src": "StdPicture.FilterCriterion", "loadTransparent": true, "transparentPixel": { "x": 2, "y": 4 } }, "backColor": "style:FormBackColor", "titleTextColor": "style:FormTextColor", "titleFont": "style:TextFont", "children": [
{ "input": "Итог", "path": "Итог", "readOnly": true }
]}
]},
@@ -57,6 +57,8 @@
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
<Representation>PictureAndText</Representation>
<TitleTextColor>style:ButtonTextColor</TitleTextColor>
<TitleFont ref="style:ВажнаяНадписьШрифт" kind="StyleItem"/>
<ExtendedTooltip name="ПодменюПечатьРасширеннаяПодсказка" id="14"/>
<ChildItems>
<Button name="ПечатьСчёта" id="15">
@@ -52,6 +52,10 @@
</v8:item>
</Title>
<Group>Horizontal</Group>
<HeaderPicture>
<xr:Ref>StdPicture.ExecuteTask</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</HeaderPicture>
<ExtendedTooltip name="ГруппаСрокРасширеннаяПодсказка" id="18"/>
<ChildItems>
<InputField name="ДатаНачала" id="19">
@@ -54,6 +54,9 @@
</Picture>
<Group>HorizontalIfPossible</Group>
<TitleDataPath>Итог</TitleDataPath>
<TitleTextColor>style:FormTextColor</TitleTextColor>
<TitleFont ref="style:TextFont" kind="StyleItem"/>
<BackColor>style:FormBackColor</BackColor>
<ExtendedTooltip name="Шаг2РасширеннаяПодсказка" id="9"/>
<ChildItems>
<InputField name="Итог" id="10">