mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-03 02:00:22 +03:00
Раундтрип по справочникам УТ 11.5.27 вскрыл: <app:value xsi:type="xr:DesignTimeRef"/>
с пустым содержимым декомпилировался в "value": "", и компилятор законно
эмитил свой дефолт xs:string — тип ссылки терялся.
Конвенция для этого случая уже была (маркер {emptyRef: true} у fillValue),
пробел был только в ChoiceParameters. Декомпилятор теперь ставит маркер,
компилятор его понимает — и в скалярном значении, и внутри FixedArray.
Форма редкая, поэтому прежние кампании её не поймали: в acc она встречается
1 раз, в erp — ни разу, в УТ — 7 раз.
Is-EmptyRef в PS явно отсекает коллекции: у массива $v.emptyRef разворачивается
в свойства элементов (member enumeration), и массив с одним таким элементом
схлопывал FixedArray в скаляр. В py-порте isinstance(v, dict) такого не допускает —
расхождение поймано снэпшотом.
Проверка: справочники УТ 519/519 без расхождений (было 519 diff),
сюита meta-compile 76/76 на обоих портах, 1С-сертификация кейса пройдена.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
26 lines
1.4 KiB
JSON
26 lines
1.4 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": "Отбор.Владелец=Ссылка" },
|
|
{ "name": "ПустаяСсылка", "type": "String(10)",
|
|
"choiceParameters": [ { "name": "Отбор.ТипПоказателя", "value": { "emptyRef": true } } ] },
|
|
{ "name": "ПустаяСсылкаВМассиве", "type": "String(10)",
|
|
"choiceParameters": [ { "name": "Отбор.Набор", "value": [ { "emptyRef": true }, "ТТН" ] } ] }
|
|
]
|
|
},
|
|
"validatePath": "Catalogs/ТестВыбора",
|
|
"expect": {
|
|
"files": ["Catalogs/ТестВыбора.xml"]
|
|
}
|
|
}
|