mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-16 15:55:16 +03:00
feat(form-decompile,form-compile): настройки динамического списка — источник, ListSettings, контент filter/order/conditionalAppearance (кластер DynamicList Settings)
Декомпилятор (v0.21): парс <Settings xsi:type="DynamicList"> — mainTable/query/ dynamicDataRead(дефолт true→omit)/fields(только при наличии); вынос query в <basename>-<имяСписка>.sql рядом с JSON (зеркало skd-decompile); захват контента ListSettings (filter/order/conditionalAppearance) в skd-грамматику. Пустой/ каноничный скелет опускается (компилятор регенерит). Компилятор (ps1+py v1.39): query→ManualQuery=true+QueryText (+@file-резолвер); порядок платформы ManualQuery→DynamicDataRead→QueryText→Field*→MainTable→ListSettings; прощающий ввод (Справочник.X→Catalog.X через refRootSynonyms; убыв→desc/возр→asc); каноничный ListSettings-скелет с константными GUID контейнеров (~90% форм бит-в-бит); эмиттеры filter/order/conditionalAppearance скопированы из skd-compile (навыки автономны). Валидация: раундтрип CLEAN (бит-в-бит, GUID-норм.) на order/filter/condApp/пустом; сертификация в 1С PASS (пустой скелет + контент грузятся в базу); py==ps1 идентичны; регресс 33/33 ps+py; harness 12381→9634 (−22%), 0 fail, LOST контента=0. Тест-кейс dynamic-list-form дополнен контентом; spec — раздел settings динсписка. Хвост (минимальный/частичный ListSettings) — в BACKLOG. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+17
-1
@@ -92,9 +92,25 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<Settings xsi:type="DynamicList">
|
||||
<MainTable>AccumulationRegister.ДенежныеСредства</MainTable>
|
||||
<ManualQuery>false</ManualQuery>
|
||||
<DynamicDataRead>true</DynamicDataRead>
|
||||
<MainTable>AccumulationRegister.ДенежныеСредства</MainTable>
|
||||
<ListSettings>
|
||||
<dcsset:filter>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-001</dcsset:userSettingID>
|
||||
</dcsset:filter>
|
||||
<dcsset:order>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-002</dcsset:userSettingID>
|
||||
</dcsset:order>
|
||||
<dcsset:conditionalAppearance>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-003</dcsset:userSettingID>
|
||||
</dcsset:conditionalAppearance>
|
||||
<dcsset:itemsViewMode>Normal</dcsset:itemsViewMode>
|
||||
<dcsset:itemsUserSettingID>UUID-004</dcsset:itemsUserSettingID>
|
||||
</ListSettings>
|
||||
</Settings>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
|
||||
+17
-1
@@ -105,9 +105,25 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<Settings xsi:type="DynamicList">
|
||||
<MainTable>Catalog.Валюты</MainTable>
|
||||
<ManualQuery>false</ManualQuery>
|
||||
<DynamicDataRead>true</DynamicDataRead>
|
||||
<MainTable>Catalog.Валюты</MainTable>
|
||||
<ListSettings>
|
||||
<dcsset:filter>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-001</dcsset:userSettingID>
|
||||
</dcsset:filter>
|
||||
<dcsset:order>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-002</dcsset:userSettingID>
|
||||
</dcsset:order>
|
||||
<dcsset:conditionalAppearance>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-003</dcsset:userSettingID>
|
||||
</dcsset:conditionalAppearance>
|
||||
<dcsset:itemsViewMode>Normal</dcsset:itemsViewMode>
|
||||
<dcsset:itemsUserSettingID>UUID-004</dcsset:itemsUserSettingID>
|
||||
</ListSettings>
|
||||
</Settings>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
|
||||
+17
-1
@@ -73,9 +73,25 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<Settings xsi:type="DynamicList">
|
||||
<MainTable>ChartOfAccounts.Хозрасчетный</MainTable>
|
||||
<ManualQuery>false</ManualQuery>
|
||||
<DynamicDataRead>true</DynamicDataRead>
|
||||
<MainTable>ChartOfAccounts.Хозрасчетный</MainTable>
|
||||
<ListSettings>
|
||||
<dcsset:filter>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-001</dcsset:userSettingID>
|
||||
</dcsset:filter>
|
||||
<dcsset:order>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-002</dcsset:userSettingID>
|
||||
</dcsset:order>
|
||||
<dcsset:conditionalAppearance>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-003</dcsset:userSettingID>
|
||||
</dcsset:conditionalAppearance>
|
||||
<dcsset:itemsViewMode>Normal</dcsset:itemsViewMode>
|
||||
<dcsset:itemsUserSettingID>UUID-004</dcsset:itemsUserSettingID>
|
||||
</ListSettings>
|
||||
</Settings>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
|
||||
+17
-1
@@ -125,9 +125,25 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<Settings xsi:type="DynamicList">
|
||||
<MainTable>Document.АктВыполненныхВнутреннихРабот</MainTable>
|
||||
<ManualQuery>false</ManualQuery>
|
||||
<DynamicDataRead>true</DynamicDataRead>
|
||||
<MainTable>Document.АктВыполненныхВнутреннихРабот</MainTable>
|
||||
<ListSettings>
|
||||
<dcsset:filter>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-001</dcsset:userSettingID>
|
||||
</dcsset:filter>
|
||||
<dcsset:order>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-002</dcsset:userSettingID>
|
||||
</dcsset:order>
|
||||
<dcsset:conditionalAppearance>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-003</dcsset:userSettingID>
|
||||
</dcsset:conditionalAppearance>
|
||||
<dcsset:itemsViewMode>Normal</dcsset:itemsViewMode>
|
||||
<dcsset:itemsUserSettingID>UUID-004</dcsset:itemsUserSettingID>
|
||||
</ListSettings>
|
||||
</Settings>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
|
||||
+17
-1
@@ -82,9 +82,25 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<Settings xsi:type="DynamicList">
|
||||
<MainTable>InformationRegister.ЦеныНоменклатуры</MainTable>
|
||||
<ManualQuery>false</ManualQuery>
|
||||
<DynamicDataRead>true</DynamicDataRead>
|
||||
<MainTable>InformationRegister.ЦеныНоменклатуры</MainTable>
|
||||
<ListSettings>
|
||||
<dcsset:filter>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-001</dcsset:userSettingID>
|
||||
</dcsset:filter>
|
||||
<dcsset:order>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-002</dcsset:userSettingID>
|
||||
</dcsset:order>
|
||||
<dcsset:conditionalAppearance>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-003</dcsset:userSettingID>
|
||||
</dcsset:conditionalAppearance>
|
||||
<dcsset:itemsViewMode>Normal</dcsset:itemsViewMode>
|
||||
<dcsset:itemsUserSettingID>UUID-004</dcsset:itemsUserSettingID>
|
||||
</ListSettings>
|
||||
</Settings>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
|
||||
@@ -16,7 +16,12 @@
|
||||
"input": {
|
||||
"title": "Товары",
|
||||
"attributes": [
|
||||
{ "name": "Список", "type": "DynamicList", "settings": { "mainTable": "Catalog.Товары", "dynamicDataRead": true } }
|
||||
{ "name": "Список", "type": "DynamicList", "settings": {
|
||||
"mainTable": "Catalog.Товары", "dynamicDataRead": true,
|
||||
"order": [ "Description", "Code desc" ],
|
||||
"filter": [ "Артикул = _ @off @user" ],
|
||||
"conditionalAppearance": [ { "filter": ["Артикул = _"], "appearance": { "ЦветТекста": "web:Red" } } ]
|
||||
} }
|
||||
],
|
||||
"elements": [
|
||||
{ "table": "Список", "path": "Список", "columns": [
|
||||
|
||||
+17
-1
@@ -66,9 +66,25 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<Settings xsi:type="DynamicList">
|
||||
<MainTable>Catalog.Бригады</MainTable>
|
||||
<ManualQuery>false</ManualQuery>
|
||||
<DynamicDataRead>true</DynamicDataRead>
|
||||
<MainTable>Catalog.Бригады</MainTable>
|
||||
<ListSettings>
|
||||
<dcsset:filter>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-001</dcsset:userSettingID>
|
||||
</dcsset:filter>
|
||||
<dcsset:order>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-002</dcsset:userSettingID>
|
||||
</dcsset:order>
|
||||
<dcsset:conditionalAppearance>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-003</dcsset:userSettingID>
|
||||
</dcsset:conditionalAppearance>
|
||||
<dcsset:itemsViewMode>Normal</dcsset:itemsViewMode>
|
||||
<dcsset:itemsUserSettingID>UUID-004</dcsset:itemsUserSettingID>
|
||||
</ListSettings>
|
||||
</Settings>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
|
||||
+46
-1
@@ -62,9 +62,54 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<Settings xsi:type="DynamicList">
|
||||
<MainTable>Catalog.Товары</MainTable>
|
||||
<ManualQuery>false</ManualQuery>
|
||||
<DynamicDataRead>true</DynamicDataRead>
|
||||
<MainTable>Catalog.Товары</MainTable>
|
||||
<ListSettings>
|
||||
<dcsset:filter>
|
||||
<dcsset:item xsi:type="dcsset:FilterItemComparison">
|
||||
<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:item>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-002</dcsset:userSettingID>
|
||||
</dcsset:filter>
|
||||
<dcsset:order>
|
||||
<dcsset:item xsi:type="dcsset:OrderItemField">
|
||||
<dcsset:field>Description</dcsset:field>
|
||||
<dcsset:orderType>Asc</dcsset:orderType>
|
||||
</dcsset:item>
|
||||
<dcsset:item xsi:type="dcsset:OrderItemField">
|
||||
<dcsset:field>Code</dcsset:field>
|
||||
<dcsset:orderType>Desc</dcsset:orderType>
|
||||
</dcsset:item>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-003</dcsset:userSettingID>
|
||||
</dcsset:order>
|
||||
<dcsset:conditionalAppearance>
|
||||
<dcsset:item>
|
||||
<dcsset:selection/>
|
||||
<dcsset:filter>
|
||||
<dcsset:item xsi:type="dcsset:FilterItemComparison">
|
||||
<dcsset:left xsi:type="dcscor:Field">Артикул</dcsset:left>
|
||||
<dcsset:comparisonType>Equal</dcsset:comparisonType>
|
||||
</dcsset:item>
|
||||
</dcsset:filter>
|
||||
<dcsset:appearance>
|
||||
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
|
||||
<dcscor:parameter>ЦветТекста</dcscor:parameter>
|
||||
<dcscor:value xsi:type="v8ui:Color">web:Red</dcscor:value>
|
||||
</dcscor:item>
|
||||
</dcsset:appearance>
|
||||
</dcsset:item>
|
||||
<dcsset:viewMode>Normal</dcsset:viewMode>
|
||||
<dcsset:userSettingID>UUID-004</dcsset:userSettingID>
|
||||
</dcsset:conditionalAppearance>
|
||||
<dcsset:itemsViewMode>Normal</dcsset:itemsViewMode>
|
||||
<dcsset:itemsUserSettingID>UUID-005</dcsset:itemsUserSettingID>
|
||||
</ListSettings>
|
||||
</Settings>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
|
||||
Reference in New Issue
Block a user