mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-07 12:10:21 +03:00
feat(form-decompile,form-compile): формат динамического заголовка группы/страницы (Format при titleDataPath)
Раундтрип терял <Format> на UsualGroup/Page — формат значения пути к данным заголовка (<TitleDataPath>): мультиязычный формат вида БЛ=; БИ=* / BF=; BT=* (напр. УчетныеЗаписиЭДО/ УчетнаяЗапись — 4 группы/страницы, 40 строк diff с каскадом структурных v8:item-обёрток). Корпус (acc+erp 8.3.24): <Format>-блоки — LabelField 1784, InputField 1480 (уже обрабатывались), UsualGroup 13, Page 10 (пробел). Механизм формата уже был у полей (Add-FormatProps / Emit-MLText); подключён к группе/странице. decompile: Add-FormatProps в ветках UsualGroup/Page (захват format/editFormat). compile (ps1+py): Emit-MLText <Format>/<EditFormat> в Emit-Group/Emit-Page (рядом с titleDataPath). Верификация: таргет-раундтрип 11 форм с group/page Format → категория закрыта (0 Format LOST; целевая форма match, было 40→0); остаток — др. категория ListSettings + 1 ring3 (SpreadsheetDocument). Регресс form-compile 43/43 (ps1+py); 1С-cert кейса groups (группа с Format+TitleDataPath грузится). spec. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
cb3dda0d53
commit
3340d48898
@@ -1,4 +1,4 @@
|
||||
# form-compile v1.131 — Compile 1C managed form from JSON or object metadata
|
||||
# form-compile v1.132 — Compile 1C managed form from JSON or object metadata
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
param(
|
||||
[string]$JsonPath,
|
||||
@@ -3531,6 +3531,10 @@ function Emit-Group {
|
||||
# United
|
||||
if ($el.united -eq $false) { X "$inner<United>false</United>" }
|
||||
|
||||
# Формат значения пути к данным заголовка (<Format>; парный к titleDataPath группы)
|
||||
if ($el.format) { Emit-MLText -tag "Format" -text $el.format -indent $inner }
|
||||
if ($el.editFormat) { Emit-MLText -tag "EditFormat" -text $el.editFormat -indent $inner }
|
||||
|
||||
Emit-CommonFlags -el $el -indent $inner
|
||||
Emit-Layout -el $el -indent $inner
|
||||
|
||||
@@ -4432,6 +4436,9 @@ function Emit-Page {
|
||||
if ($orientation) { X "$inner<Group>$orientation</Group>" }
|
||||
}
|
||||
if ($null -ne $el.showTitle) { X "$inner<ShowTitle>$(if ($el.showTitle){'true'}else{'false'})</ShowTitle>" }
|
||||
# Формат значения пути к данным заголовка (<Format>; парный к titleDataPath страницы)
|
||||
if ($el.format) { Emit-MLText -tag "Format" -text $el.format -indent $inner }
|
||||
if ($el.editFormat) { Emit-MLText -tag "EditFormat" -text $el.editFormat -indent $inner }
|
||||
Emit-Layout -el $el -indent $inner
|
||||
|
||||
# Оформление страницы (BackColor / TitleTextColor / TitleFont) — после ShowTitle, перед компаньоном
|
||||
|
||||
Reference in New Issue
Block a user