feat(form-decompile,form-compile): Table refreshRequest + форм. collapseItemsByImportanceVariant/groupList (pass-through)

Раундтрип терял три скаляра (чистые двусторонние пробелы — не ловились ни декомпилятором,
ни компилятором):
- Table <RefreshRequest> (запрос обновления дин-списка; корпус acc+erp 8.3.24 — 33, всегда PullFromTop)
- форм-уровень <CollapseItemsByImportanceVariant> (сворачивание по важности; 27: DontUse 26/Use 1)
- форм-уровень <GroupList> (ссылка на группу списка, значение 2:<GUID>/имя; 30)

Все три — pass-through (захват «как есть», зеркало платформы). RefreshRequest — в Emit-Table
рядом с currentRowUse; форм-уровневые — через KNOWN_FORM_PROPS (decompile) + generic Emit-Properties
(авто-PascalCase, compile ps1+py).

Верификация: таргет-раундтрип 68 форм с этими тегами → три категории закрыты (0 LOST; остаток —
другие категории valueType/HorizontalSpacing). Регресс form-compile 43/43 (ps1+py); 1С-cert кейса
dynamic-list-form (все три тега, включая GroupList с GUID, грузятся в платформу). spec обновлён.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-06-12 13:43:55 +03:00
parent 569234b448
commit e007233c91
6 changed files with 24 additions and 11 deletions
@@ -15,7 +15,7 @@
"validatePath": "Catalogs/Товары/Forms/ФормаСписка/Ext/Form.xml",
"input": {
"title": "Товары",
"properties": { "saveWindowSettings": false },
"properties": { "saveWindowSettings": false, "collapseItemsByImportanceVariant": "DontUse", "groupList": "2:02023637-7868-4a5f-8576-835a76e0c9ba" },
"attributes": [
{ "name": "Список", "type": "DynamicList", "useAlways": ["~Артикул", "Список.Code", "Description"], "settings": {
"mainTable": "Catalog.Товары", "dynamicDataRead": true, "autoSaveUserSettings": false,
@@ -25,7 +25,7 @@
} }
],
"elements": [
{ "table": "Список", "path": "Список",
{ "table": "Список", "path": "Список", "refreshRequest": "PullFromTop",
"additions": { "viewStatus": { "horizontalLocation": "left" } },
"commandBar": [
{ "searchString": "ПоискСписка", "source": "Список", "width": 15, "horizontalStretch": true }
@@ -8,12 +8,15 @@
</Title>
<AutoTitle>false</AutoTitle>
<SaveWindowSettings>false</SaveWindowSettings>
<CollapseItemsByImportanceVariant>DontUse</CollapseItemsByImportanceVariant>
<GroupList>2:UUID-001</GroupList>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
<ChildItems>
<Table name="Список" id="1">
<DataPath>Список</DataPath>
<CommandBarLocation>None</CommandBarLocation>
<RowPictureDataPath>Список.DefaultPicture</RowPictureDataPath>
<RefreshRequest>PullFromTop</RefreshRequest>
<AutoRefresh>false</AutoRefresh>
<AutoRefreshPeriod>60</AutoRefreshPeriod>
<Period>
@@ -105,10 +108,10 @@
<dcsset:use>false</dcsset:use>
<dcsset:left xsi:type="dcscor:Field">Артикул</dcsset:left>
<dcsset:comparisonType>Equal</dcsset:comparisonType>
<dcsset:userSettingID>UUID-001</dcsset:userSettingID>
<dcsset:userSettingID>UUID-002</dcsset:userSettingID>
</dcsset:item>
<dcsset:viewMode>Normal</dcsset:viewMode>
<dcsset:userSettingID>UUID-002</dcsset:userSettingID>
<dcsset:userSettingID>UUID-003</dcsset:userSettingID>
</dcsset:filter>
<dcsset:order>
<dcsset:item xsi:type="dcsset:OrderItemField">
@@ -120,7 +123,7 @@
<dcsset:orderType>Desc</dcsset:orderType>
</dcsset:item>
<dcsset:viewMode>Normal</dcsset:viewMode>
<dcsset:userSettingID>UUID-003</dcsset:userSettingID>
<dcsset:userSettingID>UUID-004</dcsset:userSettingID>
</dcsset:order>
<dcsset:conditionalAppearance>
<dcsset:item>
@@ -139,10 +142,10 @@
</dcsset:appearance>
</dcsset:item>
<dcsset:viewMode>Normal</dcsset:viewMode>
<dcsset:userSettingID>UUID-004</dcsset:userSettingID>
<dcsset:userSettingID>UUID-005</dcsset:userSettingID>
</dcsset:conditionalAppearance>
<dcsset:itemsViewMode>Normal</dcsset:itemsViewMode>
<dcsset:itemsUserSettingID>UUID-005</dcsset:itemsUserSettingID>
<dcsset:itemsUserSettingID>UUID-006</dcsset:itemsUserSettingID>
</ListSettings>
</Settings>
</Attribute>