fix(form-compile): convert new generators from dict to array DSL format

Root cause: new generators (IR, AccumReg, CoA, CCOCT/EP wrappers) used
OrderedDict for elements/columns, but PS1 compiler expects array format.
ConvertTo-Json→ConvertFrom-Json wraps dict into single PSCustomObject,
not iterable array — so ChildItems were empty.

Converted all new generators to array format matching existing
Document/Catalog patterns: elements=@(), columns=@().

Also fixed CCOCT/EP wrapper inject logic to iterate array elements
instead of dict keys.

PS1: 12/12, PY: 8/12 (minor case/autofill differences in PY port).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-04-13 15:11:55 +03:00
co-authored by Claude Opus 4.6
parent 8a9f285da9
commit 2206c4cf3e
62 changed files with 11913 additions and 158 deletions
@@ -1 +1,21 @@
<?xml version="1.0" encoding="utf-8"?><MetaDataObject version="2.17"><Form uuid="UUID-001"><Properties><Name>ФормаЭлемента</Name><Synonym><v8:item><v8:lang>ru</v8:lang><v8:content>ФормаЭлемента</v8:content></v8:item></Synonym><Comment/><FormType>Managed</FormType><IncludeHelpInContents>false</IncludeHelpInContents><UsePurposes><v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value><v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value></UsePurposes></Properties></Form></MetaDataObject>
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
<Form uuid="UUID-001">
<Properties>
<Name>ФормаЭлемента</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ФормаЭлемента</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Managed</FormType>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
</UsePurposes>
</Properties>
</Form>
</MetaDataObject>
@@ -1 +1,58 @@
<?xml version="1.0" encoding="utf-8"?><Form version="2.17"><Title><v8:item><v8:lang>ru</v8:lang><v8:content>Виды номенклатуры</v8:content></v8:item></Title><AutoCommandBar name="ФормаКоманднаяПанель" id="-1"><HorizontalAlign>Right</HorizontalAlign><Autofill>false</Autofill></AutoCommandBar><ChildItems><UsualGroup name="ГруппаШапка" id="1"><Group>Vertical</Group><Representation>None</Representation><ShowTitle>false</ShowTitle><ExtendedTooltip name="ГруппаШапкаРасширеннаяПодсказка" id="2"/><ChildItems><UsualGroup name="ГруппаКодНаименование" id="3"><Group>Horizontal</Group><Representation>None</Representation><ShowTitle>false</ShowTitle><ExtendedTooltip name="ГруппаКодНаименованиеРасширеннаяПодсказка" id="4"/><ChildItems><InputField name="Наименование" id="5"><DataPath>Объект.Description</DataPath><ContextMenu name="НаименованиеКонтекстноеМеню" id="6"/><ExtendedTooltip name="НаименованиеРасширеннаяПодсказка" id="7"/></InputField><InputField name="Код" id="8"><DataPath>Объект.Code</DataPath><ContextMenu name="КодКонтекстноеМеню" id="9"/><ExtendedTooltip name="КодРасширеннаяПодсказка" id="10"/></InputField></ChildItems></UsualGroup></ChildItems></UsualGroup><UsualGroup name="ГруппаДополнительныеРеквизиты" id="11"><Group>Vertical</Group><ExtendedTooltip name="ГруппаДополнительныеРеквизитыРасширеннаяПодсказка" id="12"/></UsualGroup><InputField name="ТипЗначения" id="13"><DataPath>Объект.ValueType</DataPath><ContextMenu name="ТипЗначенияКонтекстноеМеню" id="14"/><ExtendedTooltip name="ТипЗначенияРасширеннаяПодсказка" id="15"/></InputField></ChildItems><Attributes><Attribute name="Объект" id="16"><Type><v8:Type>cfg:ChartOfCharacteristicTypesObject.ВидыНоменклатуры</v8:Type></Type><MainAttribute>true</MainAttribute></Attribute></Attributes></Form>
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcssch="http://v8.1c.ru/8.1/data-composition-system/schema" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Виды номенклатуры</v8:content>
</v8:item>
</Title>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<HorizontalAlign>Right</HorizontalAlign>
<Autofill>false</Autofill>
</AutoCommandBar>
<ChildItems>
<UsualGroup name="ГруппаШапка" id="1">
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаШапкаРасширеннаяПодсказка" id="2"/>
<ChildItems>
<UsualGroup name="ГруппаКодНаименование" id="3">
<Group>Horizontal</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаКодНаименованиеРасширеннаяПодсказка" id="4"/>
<ChildItems>
<InputField name="Наименование" id="5">
<DataPath>Объект.Description</DataPath>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="6"/>
<ExtendedTooltip name="НаименованиеРасширеннаяПодсказка" id="7"/>
</InputField>
<InputField name="Код" id="8">
<DataPath>Объект.Code</DataPath>
<ContextMenu name="КодКонтекстноеМеню" id="9"/>
<ExtendedTooltip name="КодРасширеннаяПодсказка" id="10"/>
</InputField>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаДополнительныеРеквизиты" id="11">
<Group>Vertical</Group>
<ExtendedTooltip name="ГруппаДополнительныеРеквизитыРасширеннаяПодсказка" id="12"/>
</UsualGroup>
<InputField name="ТипЗначения" id="13">
<DataPath>Объект.ValueType</DataPath>
<ContextMenu name="ТипЗначенияКонтекстноеМеню" id="14"/>
<ExtendedTooltip name="ТипЗначенияРасширеннаяПодсказка" id="15"/>
</InputField>
</ChildItems>
<Attributes>
<Attribute name="Объект" id="16">
<Type>
<v8:Type>cfg:ChartOfCharacteristicTypesObject.ВидыНоменклатуры</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
</Attribute>
</Attributes>
</Form>
File diff suppressed because one or more lines are too long
@@ -1 +1,16 @@
<?xml version="1.0" encoding="utf-8"?><MetaDataObject version="2.17"><Language uuid="UUID-001"><Properties><Name>Русский</Name><Synonym><v8:item><v8:lang>ru</v8:lang><v8:content>Русский</v8:content></v8:item></Synonym><Comment/><LanguageCode>ru</LanguageCode></Properties></Language></MetaDataObject>
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
<Language uuid="UUID-001">
<Properties>
<Name>Русский</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Русский</v8:content>
</v8:item>
</Synonym>
<Comment/>
<LanguageCode>ru</LanguageCode>
</Properties>
</Language>
</MetaDataObject>