mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-05 09:40:52 +03:00
fix(form-decompile,form-compile): formatted у LabelDecoration независим от hyperlink (кластер formatted)
Компилятор выводил <Title formatted="…"> из hyperlink (formatted = hyperlink), но это неверно: атрибут formatted НЕЗАВИСИМ. По корпусу acc+erp: - 9080 label'ов: hyperlink есть, formatted=false (компилятор давал true); - 6545: formatted=true без hyperlink (компилятор давал false). Итого ~15625 расхождений. Введён отдельный ключ formatted (bool, выводится при true): - декомпилятор: захват атрибута <Title formatted> у LabelDecoration (независимо от <Hyperlink>); - компилятор Emit-Label: formatted из ключа, не из hyperlink. Декомпилятор (ps1) + компилятор (ps1+py) + spec (label.formatted). Снэпшот events обновлён: label с hyperlink:true теперь даёт formatted="false" (фиксирует развязку) — сертифицирован в 1С 8.3.24. Регресс ps+py 33/33. Остаток <Title formatted> в раундтрипе принадлежит ExtendedTooltip-с-контентом и PictureDecoration — отдельные кластеры (в BACKLOG). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
908af27bf0
commit
6857ad5060
@@ -1,4 +1,4 @@
|
||||
# form-compile v1.37 — Compile 1C managed form from JSON or object metadata
|
||||
# form-compile v1.38 — Compile 1C managed form from JSON or object metadata
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
param(
|
||||
[string]$JsonPath,
|
||||
@@ -1974,7 +1974,7 @@ function Emit-Element {
|
||||
"spinButton"=1;"dropListButton"=1;"markIncomplete"=1;"skipOnInput"=1;"inputHint"=1
|
||||
"textEdit"=1
|
||||
# label/hyperlink
|
||||
"hyperlink"=1
|
||||
"hyperlink"=1;"formatted"=1
|
||||
# group-specific
|
||||
"showTitle"=1;"united"=1;"collapsed"=1
|
||||
# hierarchy
|
||||
@@ -2527,7 +2527,8 @@ function Emit-Label {
|
||||
$hasTitleKey = $null -ne $el.PSObject.Properties['title']
|
||||
$labelTitle = if ($hasTitleKey) { $el.title } else { Title-FromName -name $name }
|
||||
if ($labelTitle) {
|
||||
$formatted = if ($el.hyperlink -eq $true) { "true" } else { "false" }
|
||||
# formatted — независимое свойство (НЕ выводится из hyperlink): ссылка может быть не-форматированной и наоборот.
|
||||
$formatted = if ($el.formatted -eq $true) { "true" } else { "false" }
|
||||
X "$inner<Title formatted=`"$formatted`">"
|
||||
Emit-MLItems -val $labelTitle -indent "$inner`t"
|
||||
X "$inner</Title>"
|
||||
|
||||
Reference in New Issue
Block a user