mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-02 01:37:45 +03:00
feat(form-decompile,form-compile): Popup>CommandSource + InputField multiple-value/itemWidth скаляры
(1) Popup>CommandSource — источник команд попапа (Form/FormCommandPanelGlobalCommands/ Item.X) не ловился/эмитился (был только у ButtonGroup/CommandBar). Добавлен в обработчик Popup (декомпилятор, с тем же id-ссылка guard) + Emit-Popup (после Title/ ToolTip, перед компаньоном). Зеркало py. (2) Листовые скаляры в GENERIC_SCALARS (обе стороны + py): ItemWidth (radio/check, 22), ShowCheckBoxesInDropList (input bool, 7), MultipleValueDataPath / MultipleValuePresentDataPath (input, по 10) + хвост множественного выбора MultipleValuesTextColor/BackColor (цвет — текст-контент) / MultipleValuePictureShape / MultipleValuePictureDataPath (input, по 1). Выборка 41 форма: match 35 (целевые категории ItemWidth/ShowCheckBoxes/ MultipleValue*/Popup>CommandSource закрыты; Контрагенты/ФормаВыбора → match). ps1==py байт-в-байт. Регресс 43/43. Spec обновлён (commandSource +popup). Остаток 6 форм — отдельные кластеры (MultipleValuesFont структурный, CA-whitespace value, DataSet field, DisplayImportance на companion). 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
2d326c99a5
commit
e1fb40189c
@@ -1,4 +1,4 @@
|
||||
# form-decompile v0.133 — Decompile 1C managed Form.xml to JSON DSL (draft)
|
||||
# form-decompile v0.134 — Decompile 1C managed Form.xml to JSON DSL (draft)
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
# ВНИМАНИЕ: раундтрип не гарантируется. Навык исключён из авто-использования моделью.
|
||||
param(
|
||||
@@ -1611,6 +1611,16 @@ $GENERIC_SCALARS = @(
|
||||
@{ Tag='ItemTitleHeight'; Key='itemTitleHeight'; Kind='value' }
|
||||
# Спец-режим ввода текста (input, моб.: Email/PhoneNumber/...) — листовой enum-скаляр
|
||||
@{ Tag='SpecialTextInputMode'; Key='specialTextInputMode'; Kind='value' }
|
||||
# Ширина пункта (radio/check) / выбор нескольких значений из выпадающего (input)
|
||||
@{ Tag='ItemWidth'; Key='itemWidth'; Kind='value' }
|
||||
@{ Tag='ShowCheckBoxesInDropList'; Key='showCheckBoxesInDropList'; Kind='bool' }
|
||||
@{ Tag='MultipleValueDataPath'; Key='multipleValueDataPath'; Kind='value' }
|
||||
@{ Tag='MultipleValuePresentDataPath'; Key='multipleValuePresentDataPath'; Kind='value' }
|
||||
# Оформление/картинка множественного выбора (input, редко; цвета — текст-контент)
|
||||
@{ Tag='MultipleValuesTextColor'; Key='multipleValuesTextColor'; Kind='value' }
|
||||
@{ Tag='MultipleValuesBackColor'; Key='multipleValuesBackColor'; Kind='value' }
|
||||
@{ Tag='MultipleValuePictureShape'; Key='multipleValuePictureShape'; Kind='value' }
|
||||
@{ Tag='MultipleValuePictureDataPath'; Key='multipleValuePictureDataPath'; Kind='value' }
|
||||
)
|
||||
|
||||
# Захват generic-скаляров. Специфичная обработка (если ключ уже задан) — побеждает.
|
||||
@@ -2166,6 +2176,9 @@ function Decompile-Element {
|
||||
Add-CommonProps $obj $node $name
|
||||
Set-CommandPicture $obj $node
|
||||
$rep = Get-Child $node 'Representation'; if ($rep) { $obj['representation'] = $rep }
|
||||
# Источник команд попапа (Form / FormCommandPanelGlobalCommands / Item.X) — как у ButtonGroup/CommandBar
|
||||
$cs = Get-Child $node 'CommandSource'
|
||||
if ($cs) { if ($cs -match '^\d+:[0-9a-fA-F]{8}-') { [Console]::Error.WriteLine("form-decompile: CommandSource '$cs' ($name) — ссылка по id, не воспроизводима, опущена") } else { $obj['commandSource'] = $cs } }
|
||||
$kids = Decompile-Children $node
|
||||
if ($kids) { $obj['children'] = $kids }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user