diff --git a/.claude/skills/skd-compile/scripts/skd-compile.ps1 b/.claude/skills/skd-compile/scripts/skd-compile.ps1
index 69c975ee..4efb3e45 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.45 — Compile 1C DCS from JSON
+# skd-compile v1.46 — Compile 1C DCS from JSON
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
param(
[string]$DefinitionFile,
@@ -1884,6 +1884,13 @@ function Emit-SelectionItem {
}
return
}
+ # Object form: { auto: true, use: false } — отключённый Auto в selection
+ if ($item.auto -eq $true) {
+ X "$indent"
+ if ($item.use -eq $false) { X "$indent`tfalse" }
+ X "$indent"
+ return
+ }
if ($item.folder -or (Has-JsonProp $item 'folder')) {
X "$indent"
# Optional на folder (редкий случай, для round-trip-целостности)
@@ -1898,8 +1905,11 @@ function Emit-SelectionItem {
X "$indent"
return
}
- # field with optional title
+ # field with optional title / use=false / viewMode
X "$indent"
+ if ($item.use -eq $false) {
+ X "$indent`tfalse"
+ }
X "$indent`t$(Esc-Xml "$($item.field)")"
if ($item.title) {
Emit-MLText -tag "dcsset:lwsTitle" -text $item.title -indent "$indent`t" -NoXsiType
diff --git a/.claude/skills/skd-compile/scripts/skd-compile.py b/.claude/skills/skd-compile/scripts/skd-compile.py
index 0b79ceb7..93fbd3fb 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.45 — Compile 1C DCS from JSON
+# skd-compile v1.46 — Compile 1C DCS from JSON
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
import json
@@ -1570,6 +1570,13 @@ def emit_selection_item(lines, item, indent):
lines.append(f'{indent}\t{esc_xml(item)}')
lines.append(f'{indent}')
return
+ # Object form: { auto: true, use: false } — отключённый Auto в selection
+ if item.get('auto') is True:
+ lines.append(f'{indent}')
+ if item.get('use') is False:
+ lines.append(f'{indent}\tfalse')
+ lines.append(f'{indent}')
+ return
if 'folder' in item:
lines.append(f'{indent}')
if item.get('field'):
@@ -1580,8 +1587,10 @@ def emit_selection_item(lines, item, indent):
lines.append(f'{indent}\tAuto')
lines.append(f'{indent}')
return
- # field with optional title
+ # field with optional title / use=false / viewMode
lines.append(f'{indent}')
+ if item.get('use') is False:
+ lines.append(f'{indent}\tfalse')
lines.append(f'{indent}\t{esc_xml(str(item["field"]))}')
if item.get('title'):
emit_mltext(lines, f'{indent}\t', 'dcsset:lwsTitle', item['title'], no_xsi_type=True)
diff --git a/.claude/skills/skd-decompile/scripts/skd-decompile.ps1 b/.claude/skills/skd-decompile/scripts/skd-decompile.ps1
index 370cf53b..43236bf3 100644
--- a/.claude/skills/skd-decompile/scripts/skd-decompile.ps1
+++ b/.claude/skills/skd-decompile/scripts/skd-decompile.ps1
@@ -1,4 +1,4 @@
-# skd-decompile v0.30 — Decompile 1C DCS Template.xml to JSON DSL (draft)
+# skd-decompile v0.31 — Decompile 1C DCS Template.xml to JSON DSL (draft)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
param(
[Parameter(Mandatory)]
@@ -1374,14 +1374,24 @@ function Build-SelectionItem {
if ($fieldEl) { return 'Auto' }
}
switch ($xt) {
- 'SelectedItemAuto' { return 'Auto' }
+ 'SelectedItemAuto' {
+ # Auto может иметь — отключённый Auto-элемент в selection.
+ $useV = Get-Text $item "dcsset:use"
+ if ($useV -eq 'false') {
+ return [ordered]@{ auto = $true; use = $false }
+ }
+ return 'Auto'
+ }
'SelectedItemField' {
$fName = Get-Text $item "dcsset:field"
$titleNode = $item.SelectSingleNode("dcsset:lwsTitle", $ns)
$title = Get-MLText $titleNode
$vmN = $item.SelectSingleNode("dcsset:viewMode", $ns)
- if ($title -or $vmN) {
+ $useV = Get-Text $item "dcsset:use"
+ $useFalse = ($useV -eq 'false')
+ if ($title -or $vmN -or $useFalse) {
$obj = [ordered]@{ field = $fName }
+ if ($useFalse) { $obj['use'] = $false }
if ($title) { $obj['title'] = $title }
if ($vmN) { $obj['viewMode'] = $vmN.InnerText }
return $obj