fix(form-compile): cfg-префикс для голых конфигурационных типов ConstantsSet/ReportObject

Раундтрип терял префикс: оригинал <v8:Type>cfg:ConstantsSet</v8:Type>, regen — голый
<v8:Type>ConstantsSet</v8:Type> (напр. ПанельАдминистрированияБП/НастройкиРегистровУчета,
реквизит НаборКонстант). cfg:-regex компилятора требует точку (ConstantsSet.X), а голая
форма без .Имя уходила в default без префикса.

Корпус (acc+erp 8.3.24) — голые cfg-типы (без точки): DynamicList 5205 (уже обрабатывался),
ConstantsSet 103, ReportObject 10. Блок DynamicList расширен на все три. Дотированные формы
ConstantsSet.X/ReportObject.X по-прежнему ловит общий cfg:-regex. Декомпилятор не трогали —
он уже отдаёт голую форму (Decompile-Type снимает cfg:).

compile (ps1+py). Верификация: таргет-раундтрип формы → match (было 2 → 0); регресс
form-compile 43/43 (ps1+py); 1С-cert кейса attributes-types (реквизиты ConstantsSet/ReportObject
грузятся в платформу). spec обновлён.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-06-12 13:04:54 +03:00
parent d0361561ca
commit 569234b448
5 changed files with 41 additions and 12 deletions
@@ -31,6 +31,8 @@
{ "name": "СписокЗначений", "type": "ValueList", "valueType": "string(50) | decimal(10,2)" },
{ "name": "СписокЛюбой", "type": "ValueList", "valueType": "" },
{ "name": "Идентификатор", "type": "v8:UUID" },
{ "name": "НаборКонстант", "type": "ConstantsSet" },
{ "name": "ОбъектОтчета", "type": "ReportObject" },
{ "name": "Таблица", "type": "ValueTable", "title": "Таблица", "columns": [
{ "name": "ИНН", "type": "string(12,fixed)" },
{ "name": "Код", "type": "string(9,fixed)" },
@@ -165,7 +165,29 @@
<v8:Type>v8:UUID</v8:Type>
</Type>
</Attribute>
<Attribute name="Таблица" id="22">
<Attribute name="НаборКонстант" id="22">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Набор констант</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:ConstantsSet</v8:Type>
</Type>
</Attribute>
<Attribute name="ОбъектОтчета" id="23">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Объект отчета</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:ReportObject</v8:Type>
</Type>
</Attribute>
<Attribute name="Таблица" id="24">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -176,7 +198,7 @@
<v8:Type>v8:ValueTable</v8:Type>
</Type>
<Columns>
<Column name="ИНН" id="23">
<Column name="ИНН" id="25">
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
@@ -185,7 +207,7 @@
</v8:StringQualifiers>
</Type>
</Column>
<Column name="Код" id="24">
<Column name="Код" id="26">
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
@@ -194,7 +216,7 @@
</v8:StringQualifiers>
</Type>
</Column>
<Column name="Имя" id="25">
<Column name="Имя" id="27">
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>