feat(form-decompile,form-compile): HorizontalLocation у CommandBar (хвост дополнений)

Свойство horizontalLocation у элемента cmdBar (<CommandBar>): auto (дефолт,
не эмитим) / left / right / center, forgiving + рус.синонимы. Переиспользует
Get-HLocation от дополнений (+ добавлен center). Только у <CommandBar> в корпусе
(104 шт, в осн. Right), не у ButtonGroup/Popup/AutoCommandBar.

Компилятор (ps1+py байт-в-байт) + декомпилятор (захват <HorizontalLocation>).
Форма с CommandBar HorizontalLocation → round-trip match. Кейс commands расширен,
сертифицирован в 1С. Регресс 39/39 ps1+py. Закрывает остаток CommandBar>HorizontalLocation.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-06-08 17:22:39 +03:00
co-authored by Claude Opus 4.8
parent d06c2c49bb
commit 09c3dcd988
6 changed files with 17 additions and 5 deletions
@@ -1,4 +1,4 @@
# form-compile v1.74 — Compile 1C managed form from JSON or object metadata
# form-compile v1.75 — Compile 1C managed form from JSON or object metadata
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
param(
[string]$JsonPath,
@@ -2351,6 +2351,7 @@ function Get-HLocation {
'^(auto|авто)$' { return $null } # дефолт — не эмитим
'^(left|слева|лево)$' { return 'Left' }
'^(right|справа|право)$' { return 'Right' }
'^(center|центр|по центру)$' { return 'Center' }
default { return "$v" }
}
}
@@ -3997,6 +3998,7 @@ function Emit-CommandBar {
if ($el.autofill -eq $true) { X "$inner<Autofill>true</Autofill>" }
$hl = Get-HLocation $el; if ($hl) { X "$inner<HorizontalLocation>$hl</HorizontalLocation>" }
Emit-CommonFlags -el $el -indent $inner
Emit-Layout -el $el -indent $inner
Emit-Companion -tag "ExtendedTooltip" -name "${name}РасширеннаяПодсказка" -indent $inner -content $el.extendedTooltip