mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-23 13:11:05 +03:00
feat(form-decompile,form-compile): параметры выбора / связи параметров выбора / связь по типу (кластер ChoiceParameters)
Покрытие трёх конструкций поля ввода (InputField), массовых в корпусе
(ChoiceParameters 844 / ChoiceParameterLinks 685 / TypeLink 84 файлов):
- choiceParameters: [{name, value}] — параметры выбора. value через общий
Normalize-ChoiceValue (bool/число/строка/ref-путь + синонимы Перечисление./
Справочник.); массив значений → v8:FixedArray. Presentation всегда пустой.
- choiceParameterLinks: [{name, dataPath, valueChange?}] — связи параметров
выбора. valueChange дефолт Clear (опускается декомпилятором), forgiving
Clear/DontChange + рус.синонимы. DataPath xsi:type=xs:string.
- typeLink: {dataPath, linkItem} — связь по типу. linkItem дефолт 0.
Декомпилятор: регистрация app namespace; инверсные хелперы (FixedArray →
массив, дефолт Clear опускается). Компилятор ps1 + зеркало py (байт-в-байт).
Spec: секция в #### input. Тест-кейс input-fields расширен полем со всеми
тремя конструкциями; round-trip бит-в-бит на 3 реальных формах; снэпшот
сертифицирован загрузкой в 1С 8.3.24.
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
d88859580f
commit
0397d8f37e
@@ -26,6 +26,18 @@
|
||||
{ "value": "Второй", "presentation": "Второй вариант" }
|
||||
]},
|
||||
{ "input": "ПолеПодсказка", "path": "ПолеПодсказка", "inputHint": "Введите значение...", "title": "Подсказка" },
|
||||
{ "input": "ПолеСвязи", "path": "ПолеСвязи", "title": "Поле со связями",
|
||||
"choiceParameters": [
|
||||
{ "name": "Отбор.Активный", "value": true },
|
||||
{ "name": "Отбор.Вид", "value": "Основной" },
|
||||
{ "name": "Отбор.Список", "value": ["Один", "Два"] }
|
||||
],
|
||||
"choiceParameterLinks": [
|
||||
{ "name": "Отбор.Организация", "dataPath": "ОбычноеПоле" },
|
||||
{ "name": "Отбор.Тип", "dataPath": "ПолеСписокВыбора", "valueChange": "DontChange" }
|
||||
],
|
||||
"typeLink": { "dataPath": "ПолеПодсказка", "linkItem": 0 }
|
||||
},
|
||||
{ "check": "Флаг", "path": "Флаг", "title": "Включено" },
|
||||
{ "check": "ФлагПлатформенный", "path": "ФлагПлатформенный", "title": "Слева", "titleLocation": "" },
|
||||
{ "check": "ФлагЯвный", "path": "ФлагЯвный", "title": "Сверху", "titleLocation": "top" },
|
||||
@@ -39,6 +51,7 @@
|
||||
{ "name": "ПолеСКнопками", "type": "string" },
|
||||
{ "name": "ПолеСписокВыбора", "type": "string" },
|
||||
{ "name": "ПолеПодсказка", "type": "string" },
|
||||
{ "name": "ПолеСвязи", "type": "string" },
|
||||
{ "name": "Флаг", "type": "boolean" },
|
||||
{ "name": "ФлагПлатформенный", "type": "boolean" },
|
||||
{ "name": "ФлагЯвный", "type": "boolean" },
|
||||
|
||||
Reference in New Issue
Block a user