Files
cc-1c-skills/tests/skills/cases/form-compile/radio-auto-enum.json
T
Nick Shirokov f9ae24a678 fix(form-compile): пустая строка-значение self-closing + Enum.X.EmptyRef без EnumValue
Два общих бага value (всплыли на полном прогоне 2.17, чинят и choiceList,
и параметры выбора):

- Пустое строковое значение эмитилось <Value xsi:type="xs:string"></Value>
  вместо самозакрывающегося <Value xsi:type="xs:string"/>. Введён хелпер
  Get-ChoiceValueTag (3 места: choiceList scalar + choiceParam scalar +
  FixedArray inner). Форма АктивныеПользователи теперь round-trip match.
- Enum.X.EmptyRef нормализатор ломал вставкой .EnumValue. → EnumValue.EmptyRef
  (EmptyRef — пустая ссылка перечисления, не значение). Фикс в Normalize-
  ChoiceValue (Enum-ветка): EmptyRef сохраняется как есть.

Зеркало py. Кейсы: input-fields (пустая строка в choiceList), radio-auto-enum
(Enum.X.EmptyRef) — оба сертифицированы загрузкой в 1С. Регресс 36/36 ps1+py.

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

47 lines
2.0 KiB
JSON

{
"name": "RadioButtonField Auto + ссылки на перечисление с мультиязычной презентацией",
"preRun": [
{
"script": "meta-compile/scripts/meta-compile",
"input": { "type": "Enum", "name": "СпособыКурса", "values": [
{ "name": "Авто" }, { "name": "Ручной" }
]},
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
},
{
"script": "meta-compile/scripts/meta-compile",
"input": { "type": "DataProcessor", "name": "ТестРадио", "attributes": [
{ "name": "СпособКурса", "type": "EnumRef.СпособыКурса" }
]},
"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": "Радио — Auto + Enum",
"attributes": [
{ "name": "Объект", "type": "DataProcessorObject.ТестРадио", "main": true },
{ "name": "СпособКурса", "type": "EnumRef.СпособыКурса" }
],
"elements": [
{
"radio": "СпособКурса",
"path": "СпособКурса",
"title": "Способ курса",
"radioButtonType": "Auto",
"columnsCount": 1,
"choiceList": [
{ "value": "Enum.СпособыКурса.EnumValue.Авто", "presentation": { "ru": "Автоматически", "en": "Automatic" } },
{ "value": "Enum.СпособыКурса.EnumValue.Ручной", "presentation": "вручную" },
{ "value": "Enum.СпособыКурса.EmptyRef", "presentation": "(не задан)" }
]
}
]
}
}