From 87c7ca0e23b4831e70b679b854d0c2d10e67ec82 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Mon, 6 Jul 2026 17:15:52 +0300 Subject: [PATCH] =?UTF-8?q?fix(meta-decompile):=20=D0=BF=D1=80=D0=BE=D0=B1?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9=20xs:string=20FillValue=20?= =?UTF-8?q?=D1=82=D0=B5=D1=80=D1=8F=D0=BB=D1=81=D1=8F=20(PreserveWhitespac?= =?UTF-8?q?e,=20v0.34)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Загрузка XML с PreserveWhitespace=false рубила пробельное содержимое → FillValue из одних пробелов (` `) декомпилировался как пустой → компилятор эмитил typed-empty, роундтрип диффил (known NOT COVERED с v1.27). Включение PreserveWhitespace=true захватывает пробелы, компилятор их эмитит через Esc-XmlText. Чистый выигрыш без регрессий (валидировано): Catalog match 44→52, TOTAL 28→12; Document match 118→130, TOTAL 94→62; 0 крашей, 0 паразитных whitespace-ADDED. Остаток FillValue — нишевые typed-fillValue (LineNumber decimal-0, composite-Number type-loss, DTR). Co-Authored-By: Claude Opus 4.8 (1M context) --- .claude/skills/meta-decompile/scripts/meta-decompile.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.claude/skills/meta-decompile/scripts/meta-decompile.ps1 b/.claude/skills/meta-decompile/scripts/meta-decompile.ps1 index ae9c7ea2..2b03dcce 100644 --- a/.claude/skills/meta-decompile/scripts/meta-decompile.ps1 +++ b/.claude/skills/meta-decompile/scripts/meta-decompile.ps1 @@ -1,4 +1,4 @@ -# meta-decompile v0.33 — XML объекта метаданных 1С → JSON-черновик формата meta-compile +# meta-decompile v0.34 — XML объекта метаданных 1С → JSON-черновик формата meta-compile # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills # # Поддержаны: Catalog, ExchangePlan, ChartOfCharacteristicTypes, ChartOfAccounts, ChartOfCalculationTypes, Document. Инверс meta-compile (omit-on-default: ключ эмитим только @@ -72,7 +72,7 @@ function Quote-Json { # --- XML загрузка + namespace manager --- $doc = New-Object System.Xml.XmlDocument -$doc.PreserveWhitespace = $false +$doc.PreserveWhitespace = $true $doc.Load((Resolve-Path -LiteralPath $ObjectPath).Path) $nsm = New-Object System.Xml.XmlNamespaceManager($doc.NameTable) $nsm.AddNamespace('md', 'http://v8.1c.ru/8.3/MDClasses')