mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-06 19:50:20 +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,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# form-compile v1.158 — Compile 1C managed form from JSON or object metadata
|
||||
# form-compile v1.159 — Compile 1C managed form from JSON or object metadata
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
import argparse
|
||||
import copy
|
||||
@@ -3371,6 +3371,16 @@ GENERIC_SCALARS = [
|
||||
('ItemTitleHeight', 'itemTitleHeight', 'value'),
|
||||
# Спец-режим ввода текста (input, моб.: Email/PhoneNumber/...) — листовой enum-скаляр
|
||||
('SpecialTextInputMode', 'specialTextInputMode', 'value'),
|
||||
# Ширина пункта (radio/check) / выбор нескольких значений из выпадающего (input)
|
||||
('ItemWidth', 'itemWidth', 'value'),
|
||||
('ShowCheckBoxesInDropList', 'showCheckBoxesInDropList', 'bool'),
|
||||
('MultipleValueDataPath', 'multipleValueDataPath', 'value'),
|
||||
('MultipleValuePresentDataPath', 'multipleValuePresentDataPath', 'value'),
|
||||
# Оформление/картинка множественного выбора (input, редко; цвета — текст-контент)
|
||||
('MultipleValuesTextColor', 'multipleValuesTextColor', 'value'),
|
||||
('MultipleValuesBackColor', 'multipleValuesBackColor', 'value'),
|
||||
('MultipleValuePictureShape', 'multipleValuePictureShape', 'value'),
|
||||
('MultipleValuePictureDataPath', 'multipleValuePictureDataPath', 'value'),
|
||||
]
|
||||
|
||||
|
||||
@@ -4747,6 +4757,10 @@ def emit_popup(lines, el, name, eid, indent):
|
||||
emit_title(lines, el, name, inner, auto=True)
|
||||
emit_common_flags(lines, el, inner)
|
||||
|
||||
# Источник команд попапа (после Title/ToolTip, перед компаньоном) — как у ButtonGroup/CommandBar
|
||||
if el.get('commandSource'):
|
||||
lines.append(f'{inner}<CommandSource>{el["commandSource"]}</CommandSource>')
|
||||
|
||||
emit_command_picture(lines, el.get('picture'), el.get('loadTransparent'), inner)
|
||||
|
||||
if el.get('representation'):
|
||||
|
||||
Reference in New Issue
Block a user