mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-23 21:21:04 +03:00
feat(form-decompile,form-compile): HorizontalIfPossible в ориентации страницы/группы
Страница (Page) и обычная группа (UsualGroup) теряли <Group>HorizontalIfPossible </Group> — orientation-карта содержала Horizontal/Vertical/AlwaysHorizontal/ AlwaysVertical, но не HorizontalIfPossible (ROOT Page>Group 359 на 189 формах). Доступные значения (по конфигуратору + корпусу): страница/обычная группа — Vertical/HorizontalIfPossible/AlwaysHorizontal (+ Horizontal реально встречается: 1288 форм на странице — XML-enum шире UI-дропдауна, оставлен forgiving); группа колонок таблицы — Vertical/Horizontal/InCell (уже обрабатывалось, не трогаем). InCell на странице/группе не добавляем — в корпусе не встречается. Коэрция не делается: фактическое значение сохраняется как есть (верность раундтрипа). Добавлен horizontalIfPossible в Emit-Page + Emit-Group switch (ps1+py) и в gmap декомпилятора (Page + UsualGroup). Таргет-верификация (выборка 50 из 189): 0 остатка, 29 стали match, 0 регрессов. Кейс pages пере-сертифицирован в 1С (HorizontalIfPossible грузится). Регресс 43/43. 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
dd9af25e67
commit
a3395d4abe
@@ -1,4 +1,4 @@
|
||||
# form-decompile v0.86 — Decompile 1C managed Form.xml to JSON DSL (draft)
|
||||
# form-decompile v0.87 — Decompile 1C managed Form.xml to JSON DSL (draft)
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
# ВНИМАНИЕ: раундтрип не гарантируется. Навык исключён из авто-использования моделью.
|
||||
param(
|
||||
@@ -1495,7 +1495,7 @@ function Decompile-Element {
|
||||
# не эмитим). Платформа явно пишет Vertical в большинстве случаев, поэтому '' ≠ 'vertical'
|
||||
# — иначе компилятор додумает <Group>Vertical</Group> там, где его нет.
|
||||
$g = Get-Child $node 'Group'
|
||||
$gmap = @{ 'Horizontal'='horizontal'; 'Vertical'='vertical'; 'AlwaysHorizontal'='alwaysHorizontal'; 'AlwaysVertical'='alwaysVertical' }
|
||||
$gmap = @{ 'Horizontal'='horizontal'; 'Vertical'='vertical'; 'AlwaysHorizontal'='alwaysHorizontal'; 'AlwaysVertical'='alwaysVertical'; 'HorizontalIfPossible'='horizontalIfPossible' }
|
||||
if ($g -and $gmap.ContainsKey($g)) { $obj[$key] = $gmap[$g] } else { $obj[$key] = '' }
|
||||
$behavior = Get-Child $node 'Behavior'
|
||||
if ($behavior) {
|
||||
@@ -1734,7 +1734,7 @@ function Decompile-Element {
|
||||
$obj[$key] = $name
|
||||
Add-CommonProps $obj $node $name
|
||||
$g = Get-Child $node 'Group'
|
||||
$gmap = @{ 'Horizontal'='horizontal'; 'Vertical'='vertical'; 'AlwaysHorizontal'='alwaysHorizontal'; 'AlwaysVertical'='alwaysVertical' }
|
||||
$gmap = @{ 'Horizontal'='horizontal'; 'Vertical'='vertical'; 'AlwaysHorizontal'='alwaysHorizontal'; 'AlwaysVertical'='alwaysVertical'; 'HorizontalIfPossible'='horizontalIfPossible' }
|
||||
if ($g -and $gmap.ContainsKey($g)) { $obj['group'] = $gmap[$g] }
|
||||
if ((Get-Child $node 'ShowTitle') -eq 'false') { $obj['showTitle'] = $false }
|
||||
$kids = Decompile-Children $node
|
||||
|
||||
Reference in New Issue
Block a user