Files
cc-1c-skills/tests/skills/cases/form-compile/radio-tumbler-strings.json
T
Nick ShirokovandClaude Opus 4.8 c4f600a36b feat(form-decompile,form-compile): WarningOnEdit на check/radio/labelField (не только input)
`<WarningOnEdit>` (мультиязычный текст предупреждения при редактировании)
встречается на InputField (576), CheckBoxField (119), RadioButtonField (54),
LabelField (1) по корпусу 8.3.24, но компилятор эмитил и декомпилятор ловил его
только у InputField → терялся на check/radio/labelField.

Расширил эмиссию (Emit-Check/Emit-Radio/Emit-LabelField, после Emit-Layout перед
Format) + захват в декомпиляторе (инлайн SelectSingleNode+Get-LangText в трёх
обработчиках, как у InputField). Парный enum `warningOnEditRepresentation`
(Show/DontShow) уже был generic-скаляром на любом поле — не трогаю. 1С толерантна
к позиции тега внутри поля (сертифицировано загрузкой).

Зеркало py (байт-в-байт). Выборка 46 форм с WarningOnEdit на check/radio:
0 потерь WarningOnEdit. Кейсы input-fields (+check multilang, +labelField) и
radio-tumbler-strings (+radio) сертифицированы в 1С. Регресс 43/43 (ps1+py).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 16:04:15 +03:00

38 lines
1.4 KiB
JSON

{
"name": "RadioButtonField Tumbler + строковые значения с автогенерацией презентации",
"preRun": [
{
"script": "meta-compile/scripts/meta-compile",
"input": { "type": "DataProcessor", "name": "ТестТумблер", "attributes": [
{ "name": "ОтборСтрок", "type": "string(50)" }
]},
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
},
{
"script": "form-add/scripts/form-add",
"args": { "-ObjectPath": "{workDir}/DataProcessors/ТестТумблер.xml", "-FormName": "Форма" }
}
],
"params": { "outputPath": "DataProcessors/ТестТумблер/Forms/Форма/Ext/Form.xml" },
"validatePath": "DataProcessors/ТестТумблер/Forms/Форма/Ext/Form.xml",
"input": {
"title": "Радио — Tumbler",
"attributes": [
{ "name": "Объект", "type": "DataProcessorObject.ТестТумблер", "main": true },
{ "name": "ОтборСтрок", "type": "string(50)" }
],
"elements": [
{
"radio": "ОтборСтрок",
"path": "ОтборСтрок",
"radioButtonType": "Tumbler",
"warningOnEdit": "Смена отбора перезагрузит список",
"choiceList": [
{ "value": "Рекомендуемые" },
{ "value": "Все" }
]
}
]
}
}