feat(form-decompile,form-compile): valueType — пустой Settings (список без ограничения типа)

Пустой <Settings xsi:type="v8:TypeDescription"/> у ValueList (список без
ограничения типа) — частый случай (в корпусе пустых 1893 vs непустых 864).
Три состояния valueType: нет ключа → нет Settings; "" → пустой <Settings…/>;
тип → с типом. Компилятор эмитит по присутствию ключа (включая ""); декомпилятор
для пустого Settings пишет маркер "". (ValueList без Settings вовсе — 58%, без
ключа valueType.)

Зеркало py. Кейс attributes-types: + СписокЛюбой с valueType:"" (пустой Settings),
сертифицирован в 1С. Регресс 39/39 ps1+py.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-06-08 18:52:46 +03:00
parent 9f672044ff
commit 8ac0dfefd0
6 changed files with 30 additions and 12 deletions
@@ -29,6 +29,7 @@
{ "name": "Булево", "type": "boolean" },
{ "name": "Период", "type": "СтандартныйПериод", "save": ["Период", "EndDate", "StartDate", "Variant"] },
{ "name": "СписокЗначений", "type": "ValueList", "valueType": "string(50) | decimal(10,2)" },
{ "name": "СписокЛюбой", "type": "ValueList", "valueType": "" },
{ "name": "Идентификатор", "type": "v8:UUID" }
]
}
@@ -140,7 +140,19 @@
</v8:NumberQualifiers>
</Settings>
</Attribute>
<Attribute name="Идентификатор" id="20">
<Attribute name="СписокЛюбой" id="20">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Список любой</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8:ValueListType</v8:Type>
</Type>
<Settings xsi:type="v8:TypeDescription"/>
</Attribute>
<Attribute name="Идентификатор" id="21">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>