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