diff --git a/.claude/skills/skd-compile/scripts/skd-compile.ps1 b/.claude/skills/skd-compile/scripts/skd-compile.ps1 index 8e31fe34..fe7a545b 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.51 — Compile 1C DCS from JSON +# skd-compile v1.52 — Compile 1C DCS from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [string]$DefinitionFile, @@ -2226,7 +2226,12 @@ function Emit-ConditionalAppearance { # Presentation if ($ca.presentation) { - X "$indent`t`t$(Esc-Xml "$($ca.presentation)")" + # Multilang dict {ru, en, ...} → LocalStringType; иначе — xs:string + if ($ca.presentation -is [hashtable] -or $ca.presentation -is [System.Collections.IDictionary] -or $ca.presentation -is [PSCustomObject]) { + Emit-MLText -tag "dcsset:presentation" -text $ca.presentation -indent "$indent`t`t" + } else { + X "$indent`t`t$(Esc-Xml "$($ca.presentation)")" + } } if ($ca.viewMode) { diff --git a/.claude/skills/skd-compile/scripts/skd-compile.py b/.claude/skills/skd-compile/scripts/skd-compile.py index d42f46cd..378f24db 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.51 — Compile 1C DCS from JSON +# skd-compile v1.52 — Compile 1C DCS from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import json @@ -1863,7 +1863,11 @@ def emit_conditional_appearance(lines, items, indent, block_view_mode=None): # Presentation if ca.get('presentation'): - lines.append(f'{indent}\t\t{esc_xml(str(ca["presentation"]))}') + # Multilang dict {ru, en, ...} → LocalStringType; иначе — xs:string + if isinstance(ca['presentation'], dict): + emit_mltext(lines, f'{indent}\t\t', 'dcsset:presentation', ca['presentation']) + else: + lines.append(f'{indent}\t\t{esc_xml(str(ca["presentation"]))}') if ca.get('viewMode'): lines.append(f'{indent}\t\t{esc_xml(str(ca["viewMode"]))}')