diff --git a/.claude/skills/skd-compile/scripts/skd-compile.ps1 b/.claude/skills/skd-compile/scripts/skd-compile.ps1 index af565106..65f8ccce 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.81 — Compile 1C DCS from JSON +# skd-compile v1.82 — Compile 1C DCS from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [string]$DefinitionFile, @@ -1496,12 +1496,14 @@ function Emit-ParamValue { $valStr = "$val" if ($type -eq "StandardPeriod") { - # val is a period variant string like "LastMonth" or "Custom". - # Always emit startDate/endDate to match how 1C Designer saves the schema. + # Platform-pattern: startDate/endDate эмитятся ТОЛЬКО для variant=Custom. + # Для всех остальных вариантов (ThisMonth, LastYear, Today, ...) — без дат. X "$indent" X "$indent`t$(Esc-Xml $valStr)" - X "$indent`t0001-01-01T00:00:00" - X "$indent`t0001-01-01T00:00:00" + if ($valStr -eq 'Custom') { + X "$indent`t0001-01-01T00:00:00" + X "$indent`t0001-01-01T00:00:00" + } X "$indent" } elseif ($type -match '^date') { X "$indent$(Esc-Xml $valStr)" @@ -2575,7 +2577,8 @@ function Emit-DataParameters { } elseif ($null -ne $dp.value) { $vtype = "$($dp.valueType)" if (($dp.value -is [PSCustomObject] -or $dp.value -is [hashtable]) -and ($dp.value.variant)) { - # StandardPeriod (PSCustomObject from JSON / hashtable from shorthand parser) + # StandardPeriod (PSCustomObject from JSON / hashtable from shorthand parser). + # Platform-pattern: startDate/endDate ТОЛЬКО для variant=Custom. $_sd = $null; $_ed = $null if ($dp.value -is [PSCustomObject]) { if ($dp.value.PSObject.Properties['startDate']) { $_sd = "$($dp.value.startDate)" } @@ -2584,12 +2587,15 @@ function Emit-DataParameters { if ($dp.value.Contains('startDate')) { $_sd = "$($dp.value['startDate'])" } if ($dp.value.Contains('endDate')) { $_ed = "$($dp.value['endDate'])" } } - if (-not $_sd) { $_sd = '0001-01-01T00:00:00' } - if (-not $_ed) { $_ed = '0001-01-01T00:00:00' } + $_variantStr = "$($dp.value.variant)" X "$indent`t`t" - X "$indent`t`t`t$(Esc-Xml "$($dp.value.variant)")" - X "$indent`t`t`t$(Esc-Xml $_sd)" - X "$indent`t`t`t$(Esc-Xml $_ed)" + X "$indent`t`t`t$(Esc-Xml $_variantStr)" + if ($_variantStr -eq 'Custom') { + if (-not $_sd) { $_sd = '0001-01-01T00:00:00' } + if (-not $_ed) { $_ed = '0001-01-01T00:00:00' } + X "$indent`t`t`t$(Esc-Xml $_sd)" + X "$indent`t`t`t$(Esc-Xml $_ed)" + } X "$indent`t`t" } elseif ($vtype -match '^[a-zA-Z]+:') { # Полный xsi:type из decompile (например "xs:boolean", "dcscor:DesignTimeValue"). diff --git a/.claude/skills/skd-compile/scripts/skd-compile.py b/.claude/skills/skd-compile/scripts/skd-compile.py index 3bf27198..dfe37cc3 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.81 — Compile 1C DCS from JSON +# skd-compile v1.82 — Compile 1C DCS from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import json @@ -1035,11 +1035,12 @@ def emit_param_value(lines, type_str, val, indent, value_list_allowed=False): val_str = str(val) if type_str == 'StandardPeriod': - # Always emit startDate/endDate to match how 1C Designer saves the schema. + # Platform-pattern: startDate/endDate ТОЛЬКО для variant=Custom. lines.append(f'{indent}') lines.append(f'{indent}\t{esc_xml(val_str)}') - lines.append(f'{indent}\t0001-01-01T00:00:00') - lines.append(f'{indent}\t0001-01-01T00:00:00') + if val_str == 'Custom': + lines.append(f'{indent}\t0001-01-01T00:00:00') + lines.append(f'{indent}\t0001-01-01T00:00:00') lines.append(f'{indent}') elif type_str and re.match(r'^date', type_str): lines.append(f'{indent}{esc_xml(val_str)}') @@ -2091,13 +2092,15 @@ def emit_data_parameters(lines, items, indent): val = dp['value'] vtype = str(dp.get('valueType') or '') if isinstance(val, dict) and val.get('variant'): - # StandardPeriod (с явными датами или boilerplate) - sd = str(val.get('startDate') or '0001-01-01T00:00:00') - ed = str(val.get('endDate') or '0001-01-01T00:00:00') + # StandardPeriod. Platform-pattern: startDate/endDate ТОЛЬКО для variant=Custom. + variant_str = str(val['variant']) lines.append(f'{indent}\t\t') - lines.append(f'{indent}\t\t\t{esc_xml(str(val["variant"]))}') - lines.append(f'{indent}\t\t\t{esc_xml(sd)}') - lines.append(f'{indent}\t\t\t{esc_xml(ed)}') + lines.append(f'{indent}\t\t\t{esc_xml(variant_str)}') + if variant_str == 'Custom': + sd = str(val.get('startDate') or '0001-01-01T00:00:00') + ed = str(val.get('endDate') or '0001-01-01T00:00:00') + lines.append(f'{indent}\t\t\t{esc_xml(sd)}') + lines.append(f'{indent}\t\t\t{esc_xml(ed)}') lines.append(f'{indent}\t\t') elif re.match(r'^[a-zA-Z]+:', vtype): # Полный xsi:type из decompile (например "xs:boolean", "dcscor:DesignTimeValue"). 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 da151f4a..bd33ea82 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 @@ -35,8 +35,6 @@ LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 false true @@ -170,8 +168,6 @@ Период LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 UUID-001 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 00688565..de09759f 100644 --- a/tests/skills/cases/skd-compile/snapshots/full-example/Template.xml +++ b/tests/skills/cases/skd-compile/snapshots/full-example/Template.xml @@ -65,8 +65,6 @@ LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 false true @@ -141,8 +139,6 @@ Период LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 UUID-002 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 886d56f2..64d85bd1 100644 --- a/tests/skills/cases/skd-compile/snapshots/with-filters/Template.xml +++ b/tests/skills/cases/skd-compile/snapshots/with-filters/Template.xml @@ -60,8 +60,6 @@ LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 false true @@ -148,8 +146,6 @@ Период LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 UUID-002 diff --git a/tests/skills/cases/skd-compile/snapshots/with-parameters/Template.xml b/tests/skills/cases/skd-compile/snapshots/with-parameters/Template.xml index a09afb7e..641a5553 100644 --- a/tests/skills/cases/skd-compile/snapshots/with-parameters/Template.xml +++ b/tests/skills/cases/skd-compile/snapshots/with-parameters/Template.xml @@ -57,8 +57,6 @@ LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 false true diff --git a/tests/skills/cases/skd-decompile/snapshots/calc-total-params/Template.xml b/tests/skills/cases/skd-decompile/snapshots/calc-total-params/Template.xml index 942a3851..46d94609 100644 --- a/tests/skills/cases/skd-decompile/snapshots/calc-total-params/Template.xml +++ b/tests/skills/cases/skd-decompile/snapshots/calc-total-params/Template.xml @@ -100,8 +100,6 @@ LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 false true diff --git a/tests/skills/cases/skd-decompile/snapshots/variant-full/Template.xml b/tests/skills/cases/skd-decompile/snapshots/variant-full/Template.xml index 8fff1c0d..f18eb6c3 100644 --- a/tests/skills/cases/skd-decompile/snapshots/variant-full/Template.xml +++ b/tests/skills/cases/skd-decompile/snapshots/variant-full/Template.xml @@ -78,8 +78,6 @@ LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 false true @@ -358,8 +356,6 @@ Период LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 UUID-003 diff --git a/tests/skills/cases/skd-edit/snapshots/empty-dataparam-values/Template.xml b/tests/skills/cases/skd-edit/snapshots/empty-dataparam-values/Template.xml index d67aad06..0bea5077 100644 --- a/tests/skills/cases/skd-edit/snapshots/empty-dataparam-values/Template.xml +++ b/tests/skills/cases/skd-edit/snapshots/empty-dataparam-values/Template.xml @@ -35,8 +35,6 @@ LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 false diff --git a/tests/skills/cases/skd-edit/snapshots/modify-dataParameter-preserves-use/Template.xml b/tests/skills/cases/skd-edit/snapshots/modify-dataParameter-preserves-use/Template.xml index b3a927a9..4d91f3b3 100644 --- a/tests/skills/cases/skd-edit/snapshots/modify-dataParameter-preserves-use/Template.xml +++ b/tests/skills/cases/skd-edit/snapshots/modify-dataParameter-preserves-use/Template.xml @@ -35,8 +35,6 @@ LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 false diff --git a/tests/skills/cases/skd-edit/snapshots/modify-parameter-title/Template.xml b/tests/skills/cases/skd-edit/snapshots/modify-parameter-title/Template.xml index 286fd742..a85db38a 100644 --- a/tests/skills/cases/skd-edit/snapshots/modify-parameter-title/Template.xml +++ b/tests/skills/cases/skd-edit/snapshots/modify-parameter-title/Template.xml @@ -41,8 +41,6 @@ LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 false true diff --git a/tests/skills/cases/skd-edit/snapshots/rename-parameter/Template.xml b/tests/skills/cases/skd-edit/snapshots/rename-parameter/Template.xml index a88d7fb7..2e761be9 100644 --- a/tests/skills/cases/skd-edit/snapshots/rename-parameter/Template.xml +++ b/tests/skills/cases/skd-edit/snapshots/rename-parameter/Template.xml @@ -35,8 +35,6 @@ LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 false true @@ -106,8 +104,6 @@ ПериодОтчета LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 UUID-001 diff --git a/tests/skills/cases/skd-edit/snapshots/reorder-parameters/Template.xml b/tests/skills/cases/skd-edit/snapshots/reorder-parameters/Template.xml index b093b213..d01bee5a 100644 --- a/tests/skills/cases/skd-edit/snapshots/reorder-parameters/Template.xml +++ b/tests/skills/cases/skd-edit/snapshots/reorder-parameters/Template.xml @@ -34,8 +34,6 @@ LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 false diff --git a/tests/skills/cases/skd-info/snapshots/overview-with-params/Template.xml b/tests/skills/cases/skd-info/snapshots/overview-with-params/Template.xml index 24a8e3f8..5acb6122 100644 --- a/tests/skills/cases/skd-info/snapshots/overview-with-params/Template.xml +++ b/tests/skills/cases/skd-info/snapshots/overview-with-params/Template.xml @@ -65,8 +65,6 @@ LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 false true @@ -141,8 +139,6 @@ Период LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 UUID-002 diff --git a/tests/skills/cases/skd-validate/snapshots/valid-full/Template.xml b/tests/skills/cases/skd-validate/snapshots/valid-full/Template.xml index af20dce5..e5d3d4e8 100644 --- a/tests/skills/cases/skd-validate/snapshots/valid-full/Template.xml +++ b/tests/skills/cases/skd-validate/snapshots/valid-full/Template.xml @@ -75,8 +75,6 @@ LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 false true @@ -154,8 +152,6 @@ Период LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 UUID-002 diff --git a/tests/skills/cases/skd-validate/snapshots/valid-with-params/Template.xml b/tests/skills/cases/skd-validate/snapshots/valid-with-params/Template.xml index 6871c608..3bc51af5 100644 --- a/tests/skills/cases/skd-validate/snapshots/valid-with-params/Template.xml +++ b/tests/skills/cases/skd-validate/snapshots/valid-with-params/Template.xml @@ -65,8 +65,6 @@ LastMonth - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 false true