diff --git a/.claude/skills/skd-compile/scripts/skd-compile.ps1 b/.claude/skills/skd-compile/scripts/skd-compile.ps1 index 3250afdf..b88a316a 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.56 — Compile 1C DCS from JSON +# skd-compile v1.57 — Compile 1C DCS from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [string]$DefinitionFile, @@ -2026,6 +2026,7 @@ function Emit-FilterItem { elseif ($v -is [int] -or $v -is [long] -or $v -is [double]) { $vt = 'xs:decimal' } elseif ("$v" -match '^\d{4}-\d{2}-\d{2}T') { $vt = 'xs:dateTime' } elseif ("$v" -match '^-?\d+(\.\d+)?$') { $vt = 'xs:decimal' } + elseif ("$v" -match '^(Перечисление|Справочник|ПланСчетов|Документ|ПланВидовХарактеристик|ПланВидовРасчета|БизнесПроцесс|Задача|РегистрСведений|ПланОбмена|Catalog|Enum|Document|ChartOfAccounts|ChartOfCharacteristicTypes|ChartOfCalculationTypes|BusinessProcess|Task|InformationRegister|ExchangePlan)\.') { $vt = 'dcscor:DesignTimeValue' } else { $vt = 'xs:string' } } $vStr = if ($v -is [bool]) { "$v".ToLower() } else { Esc-Xml "$v" } @@ -2044,6 +2045,8 @@ function Emit-FilterItem { $vt = "xs:dateTime" } elseif ("$v" -match '^-?\d+(\.\d+)?$') { $vt = "xs:decimal" + } elseif ("$v" -match '^(Перечисление|Справочник|ПланСчетов|Документ|ПланВидовХарактеристик|ПланВидовРасчета|БизнесПроцесс|Задача|РегистрСведений|ПланОбмена|Catalog|Enum|Document|ChartOfAccounts|ChartOfCharacteristicTypes|ChartOfCalculationTypes|BusinessProcess|Task|InformationRegister|ExchangePlan)\.') { + $vt = "dcscor:DesignTimeValue" } else { $vt = "xs:string" } diff --git a/.claude/skills/skd-compile/scripts/skd-compile.py b/.claude/skills/skd-compile/scripts/skd-compile.py index f6b106d7..fc6e16d3 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.56 — Compile 1C DCS from JSON +# skd-compile v1.57 — Compile 1C DCS from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import json @@ -1695,6 +1695,8 @@ def emit_filter_item(lines, item, indent): vt = 'xs:dateTime' elif re.match(r'^-?\d+(\.\d+)?$', str(v)): vt = 'xs:decimal' + elif re.match(r'^(Перечисление|Справочник|ПланСчетов|Документ|ПланВидовХарактеристик|ПланВидовРасчета|БизнесПроцесс|Задача|РегистрСведений|ПланОбмена|Catalog|Enum|Document|ChartOfAccounts|ChartOfCharacteristicTypes|ChartOfCalculationTypes|BusinessProcess|Task|InformationRegister|ExchangePlan)\.', str(v)): + vt = 'dcscor:DesignTimeValue' else: vt = 'xs:string' v_str = str(v).lower() if isinstance(v, bool) else esc_xml(str(v))