From 6781bb3ee5e29e84ca31dfdd0e268d004e9c9ca9 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Tue, 26 May 2026 12:38:13 +0300 Subject: [PATCH] =?UTF-8?q?fix(skd-compile):=20=D0=B0=D0=B2=D1=82=D0=BE-?= =?UTF-8?q?=D0=B2=D1=8B=D0=B1=D0=BE=D1=80=D0=BA=D0=B0=20=D0=B8=20=D0=B0?= =?UTF-8?q?=D0=B2=D1=82=D0=BE-=D0=BF=D0=BE=D1=80=D1=8F=D0=B4=D0=BE=D0=BA?= =?UTF-8?q?=20=D0=B2=20=D0=B3=D1=80=D1=83=D0=BF=D0=BF=D0=B0=D1=85=20=D0=B8?= =?UTF-8?q?=D0=B7=20shorthand-=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82=D1=83?= =?UTF-8?q?=D1=80=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Платформа добавляет SelectedItemAuto и OrderItemAuto в каждую группировку при ручном создании в конфигураторе. Shorthand-запись (например 'Номенклатура > details') теперь даёт эквивалентный результат — каждая группа получает selection=['Auto'] и order=['Auto']. Без этого roundtrip decompile→compile терял авто-элементы. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../skills/skd-compile/scripts/skd-compile.ps1 | 7 ++++++- .../skills/skd-compile/scripts/skd-compile.py | 7 ++++++- .../auto-data-parameters/Template.xml | 6 ++++++ .../snapshots/full-example/Template.xml | 12 ++++++++++++ .../snapshots/grouping-and-totals/Template.xml | 18 ++++++++++++++++++ .../snapshots/horizontal-merge/Template.xml | 6 ++++++ .../orgroup-string-items/Template.xml | 6 ++++++ .../snapshots/with-filters/Template.xml | 6 ++++++ 8 files changed, 66 insertions(+), 2 deletions(-) diff --git a/.claude/skills/skd-compile/scripts/skd-compile.ps1 b/.claude/skills/skd-compile/scripts/skd-compile.ps1 index 8c9e5ce1..1680ecde 100644 --- a/.claude/skills/skd-compile/scripts/skd-compile.ps1 +++ b/.claude/skills/skd-compile/scripts/skd-compile.ps1 @@ -1,4 +1,4 @@ -# skd-compile v1.103 — Compile 1C DCS from JSON +# skd-compile v1.104 — Compile 1C DCS from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [string]$DefinitionFile, @@ -2933,6 +2933,11 @@ function Parse-StructureShorthand { $group | Add-Member -NotePropertyName "groupBy" -NotePropertyValue @($seg) } + # Платформа в каждую группировку кладёт авто-поле выбора и авто-порядок; + # shorthand должен соответствовать ручному добавлению группировки в конфигураторе. + $group | Add-Member -NotePropertyName "selection" -NotePropertyValue @("Auto") + $group | Add-Member -NotePropertyName "order" -NotePropertyValue @("Auto") + if ($null -ne $innermost) { $group | Add-Member -NotePropertyName "children" -NotePropertyValue @($innermost) } diff --git a/.claude/skills/skd-compile/scripts/skd-compile.py b/.claude/skills/skd-compile/scripts/skd-compile.py index 0120d172..a3131746 100644 --- a/.claude/skills/skd-compile/scripts/skd-compile.py +++ b/.claude/skills/skd-compile/scripts/skd-compile.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# skd-compile v1.103 — Compile 1C DCS from JSON +# skd-compile v1.104 — Compile 1C DCS from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import json @@ -2330,6 +2330,11 @@ def parse_structure_shorthand(s): else: group['groupBy'] = [seg] + # Платформа в каждую группировку кладёт авто-поле выбора и авто-порядок; + # shorthand должен соответствовать ручному добавлению группировки в конфигураторе. + group['selection'] = ['Auto'] + group['order'] = ['Auto'] + if innermost is not None: group['children'] = [innermost] innermost = group diff --git a/tests/skills/cases/skd-compile/snapshots/auto-data-parameters/Template.xml b/tests/skills/cases/skd-compile/snapshots/auto-data-parameters/Template.xml index 5a615e08..9157a1b8 100644 --- a/tests/skills/cases/skd-compile/snapshots/auto-data-parameters/Template.xml +++ b/tests/skills/cases/skd-compile/snapshots/auto-data-parameters/Template.xml @@ -207,6 +207,12 @@ + + + + + + diff --git a/tests/skills/cases/skd-compile/snapshots/full-example/Template.xml b/tests/skills/cases/skd-compile/snapshots/full-example/Template.xml index 8d154830..c31d0e27 100644 --- a/tests/skills/cases/skd-compile/snapshots/full-example/Template.xml +++ b/tests/skills/cases/skd-compile/snapshots/full-example/Template.xml @@ -147,7 +147,19 @@ 0001-01-01T00:00:00 + + + + + + + + + + + + diff --git a/tests/skills/cases/skd-compile/snapshots/grouping-and-totals/Template.xml b/tests/skills/cases/skd-compile/snapshots/grouping-and-totals/Template.xml index cb542fbc..cb7a6678 100644 --- a/tests/skills/cases/skd-compile/snapshots/grouping-and-totals/Template.xml +++ b/tests/skills/cases/skd-compile/snapshots/grouping-and-totals/Template.xml @@ -95,6 +95,12 @@ 0001-01-01T00:00:00 + + + + + + @@ -105,7 +111,19 @@ 0001-01-01T00:00:00 + + + + + + + + + + + + diff --git a/tests/skills/cases/skd-compile/snapshots/horizontal-merge/Template.xml b/tests/skills/cases/skd-compile/snapshots/horizontal-merge/Template.xml index ad8c981d..b4897977 100644 --- a/tests/skills/cases/skd-compile/snapshots/horizontal-merge/Template.xml +++ b/tests/skills/cases/skd-compile/snapshots/horizontal-merge/Template.xml @@ -2267,6 +2267,12 @@ + + + + + + diff --git a/tests/skills/cases/skd-compile/snapshots/orgroup-string-items/Template.xml b/tests/skills/cases/skd-compile/snapshots/orgroup-string-items/Template.xml index 7a89c24f..92855a0b 100644 --- a/tests/skills/cases/skd-compile/snapshots/orgroup-string-items/Template.xml +++ b/tests/skills/cases/skd-compile/snapshots/orgroup-string-items/Template.xml @@ -97,6 +97,12 @@ + + + + + + diff --git a/tests/skills/cases/skd-compile/snapshots/with-filters/Template.xml b/tests/skills/cases/skd-compile/snapshots/with-filters/Template.xml index d8deaa1c..66bccb77 100644 --- a/tests/skills/cases/skd-compile/snapshots/with-filters/Template.xml +++ b/tests/skills/cases/skd-compile/snapshots/with-filters/Template.xml @@ -145,6 +145,12 @@ + + + + + +