diff --git a/.claude/skills/skd-compile/scripts/skd-compile.ps1 b/.claude/skills/skd-compile/scripts/skd-compile.ps1 index 83717196..542c332b 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.48 — Compile 1C DCS from JSON +# skd-compile v1.49 — Compile 1C DCS from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [string]$DefinitionFile, @@ -2519,6 +2519,12 @@ function Emit-TableAxisBlock { if ($block.outputParameters) { Emit-OutputParameters -params $block.outputParameters -indent $indent } + # nested children (StructureItemGroup внутри table row/column или chart axis) + if ($block.children) { + foreach ($child in $block.children) { + Emit-StructureItem -item $child -indent $indent + } + } if ($block.viewMode) { X "$indent$(Esc-Xml "$($block.viewMode)")" } @@ -2539,6 +2545,11 @@ function Emit-StructureItem { if ($type -eq "group") { X "$indent" + # use=false — отключённая ветка структуры + if ($item.use -eq $false) { + X "$indent`tfalse" + } + if ($item.name) { X "$indent`t$(Esc-Xml "$($item.name)")" } diff --git a/.claude/skills/skd-compile/scripts/skd-compile.py b/.claude/skills/skd-compile/scripts/skd-compile.py index 23d988ea..b97423c7 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.48 — Compile 1C DCS from JSON +# skd-compile v1.49 — Compile 1C DCS from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import json @@ -2091,6 +2091,10 @@ def emit_table_axis_block(lines, block, indent, emit_name=True): emit_selection(lines, block['selection'], indent) if block.get('outputParameters'): emit_output_parameters(lines, block['outputParameters'], indent) + # nested children (StructureItemGroup внутри table row/column или chart axis) + if block.get('children'): + for child in block['children']: + emit_structure_item(lines, child, indent) if block.get('viewMode'): lines.append(f'{indent}{esc_xml(str(block["viewMode"]))}') if block.get('userSettingID'): @@ -2106,6 +2110,9 @@ def emit_structure_item(lines, item, indent): if item_type == 'group': lines.append(f'{indent}') + if item.get('use') is False: + lines.append(f'{indent}\tfalse') + if item.get('name'): lines.append(f'{indent}\t{esc_xml(str(item["name"]))}')