Files
cc-1c-skills/tests/skills/cases/meta-compile/catalog-attr-choice-params.json
T
Nick Shirokov e9e3323542 feat(meta-compile): type-подсказка для голых ref-значений choiceParameters (v1.24)
Раньше голое значение параметра выбора (["ПустаяСсылка","ТТН"]) тихо
становилось xs:string вместо DTR — footgun для авторинга с нуля. Причина:
у значения нет типа (тип задаёт поле-фильтр, не реквизит).

Опциональный ключ `type` на элементе choiceParameters (напр. EnumRef.X /
СправочникСсылка.X) разворачивает голые значения через ref-машинку:
value ["EmptyRef","ТТН"] + type EnumRef.X → Enum.X.EmptyRef,
Enum.X.EnumValue.ТТН. Полные пути и скаляры — без изменений; принимает
Ref-форму и голый метатип (Enum.X), рус. корни.

Только компилятор (декомпилятор пишет полные пути) → роундтрип не затронут
(remaining=0). Кейс ТипТТН переведён на type+голые (снэпшот идентичен).
Регресс 43/43 ps1+py, ps1↔py identical. spec §4.2.

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

22 lines
1.0 KiB
JSON

{
"name": "Реквизит: ChoiceParameterLinks + ChoiceParameters (ограничение выбора)",
"input": {
"type": "Catalog",
"name": "ТестВыбора",
"attributes": [
{ "name": "Счет", "type": "CatalogRef.БанковскиеСчета",
"choiceParameterLinks": [ { "name": "Отбор.Владелец", "dataPath": "Ссылка", "valueChange": "Clear" } ] },
{ "name": "Партнер", "type": "CatalogRef.Партнеры",
"choiceParameters": "Отбор.ЭтоГруппа=false" },
{ "name": "ТипТТН", "type": "CatalogRef.ВидыТранспорта",
"choiceParameters": [ { "name": "Отбор.Тип", "type": "EnumRef.ТипыВЕТИС", "value": ["EmptyRef", "ТТН"] } ] },
{ "name": "Валюта", "type": "CatalogRef.Валюты",
"choiceParameterLinks": "Отбор.Владелец=Ссылка" }
]
},
"validatePath": "Catalogs/ТестВыбора",
"expect": {
"files": ["Catalogs/ТестВыбора.xml"]
}
}