diff --git a/.claude/skills/skd-compile/scripts/skd-compile.ps1 b/.claude/skills/skd-compile/scripts/skd-compile.ps1
index fe7a545b..6e6bd035 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.52 — Compile 1C DCS from JSON
+# skd-compile v1.53 — Compile 1C DCS from JSON
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
param(
[string]$DefinitionFile,
@@ -799,6 +799,9 @@ function Emit-InputParameters {
X "$indent`t`t$vStr"
} elseif ($val -is [int] -or $val -is [long] -or $val -is [double] -or $val -is [decimal]) {
X "$indent`t`t$val"
+ } elseif ($val -is [hashtable] -or $val -is [System.Collections.IDictionary] -or $val -is [PSCustomObject]) {
+ # Multilang dict {ru, en, ...} → LocalStringType
+ Emit-MLText -tag "dcscor:value" -text $val -indent "$indent`t`t"
} else {
X "$indent`t`t$(Esc-Xml "$val")"
}
@@ -1316,6 +1319,11 @@ function Emit-SingleParam {
X "`t`t"
}
+ # InputParameters на параметре (ФорматРедактирования и т.п.)
+ if ($null -ne $p -and $p -isnot [string] -and $p.inputParameters) {
+ Emit-InputParameters -ip $p.inputParameters -indent "`t`t"
+ }
+
X "`t"
}
diff --git a/.claude/skills/skd-compile/scripts/skd-compile.py b/.claude/skills/skd-compile/scripts/skd-compile.py
index 378f24db..a1cd2df3 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.52 — Compile 1C DCS from JSON
+# skd-compile v1.53 — Compile 1C DCS from JSON
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
import json
@@ -605,6 +605,9 @@ def emit_input_parameters(lines, ip, indent):
lines.append(f'{indent}\t\t{vstr}')
elif isinstance(val, (int, float)):
lines.append(f'{indent}\t\t{val}')
+ elif isinstance(val, dict):
+ # Multilang dict {ru, en, ...} → LocalStringType
+ emit_mltext(lines, f'{indent}\t\t', 'dcscor:value', val)
else:
lines.append(f'{indent}\t\t{esc_xml(str(val))}')
lines.append(f'{indent}\t')
@@ -1132,6 +1135,10 @@ def emit_single_param(lines, p, parsed):
if use_val:
lines.append(f'\t\t')
+ # InputParameters на параметре (ФорматРедактирования и т.п.)
+ if p is not None and not isinstance(p, str) and p.get('inputParameters'):
+ emit_input_parameters(lines, p['inputParameters'], '\t\t')
+
lines.append('\t')