From 3453e64bea06696306a0054d7f767c2c8b857e0f Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Fri, 22 May 2026 16:01:08 +0300 Subject: [PATCH] =?UTF-8?q?fix(skd-decompile):=20=D1=87=D1=82=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20DataSetUnion=20inner=20=20=D1=8D=D0=BB?= =?UTF-8?q?=D0=B5=D0=BC=D0=B5=D0=BD=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Build-DataSet для типа DataSetUnion теперь читает (платформенный формат), сохранена обратная совместимость с для XML, сгенерированных предыдущими версиями skd-compile. Эффект на sample30: -12000 строк diff (LOST // в полях inner-Union datasets). Co-Authored-By: Claude Opus 4.7 --- .claude/skills/skd-decompile/scripts/skd-decompile.ps1 | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.claude/skills/skd-decompile/scripts/skd-decompile.ps1 b/.claude/skills/skd-decompile/scripts/skd-decompile.ps1 index b10b0030..b58919d3 100644 --- a/.claude/skills/skd-decompile/scripts/skd-decompile.ps1 +++ b/.claude/skills/skd-decompile/scripts/skd-decompile.ps1 @@ -1,4 +1,4 @@ -# skd-decompile v0.22 — Decompile 1C DCS Template.xml to JSON DSL (draft) +# skd-decompile v0.23 — Decompile 1C DCS Template.xml to JSON DSL (draft) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [Parameter(Mandatory)] @@ -1805,7 +1805,10 @@ function Build-DataSet { 'DataSetUnion' { $nested = @() $ni = 0 - foreach ($nNode in $dsNode.SelectNodes("r:dataSet", $ns)) { + # Inner Union datasets are wrapped as in real 1C output. + # Accept too for backward compatibility with older builds. + $innerNodes = @($dsNode.SelectNodes("r:item", $ns)) + @($dsNode.SelectNodes("r:dataSet", $ns)) + foreach ($nNode in $innerNodes) { $nested += (Build-DataSet -dsNode $nNode -loc "$loc/items[$ni]") $ni++ }