From 29a9fbe9501127b623d6276c27b3e3510ce08bf7 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Fri, 22 May 2026 21:28:50 +0300 Subject: [PATCH] =?UTF-8?q?feat(skd):=20use=3Dfalse=20=D0=BD=D0=B0=20Order?= =?UTF-8?q?ItemField?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OrderItemField в settings может иметь false (отключённая сортировка-пункт пользовательских настроек). Build-Order теперь читает use=false и переводит item в object form {field, direction, use, viewMode}. Compile эмитит в начале item, перед . Co-Authored-By: Claude Opus 4.7 --- .claude/skills/skd-compile/scripts/skd-compile.ps1 | 5 ++++- .claude/skills/skd-compile/scripts/skd-compile.py | 4 +++- .claude/skills/skd-decompile/scripts/skd-decompile.ps1 | 9 ++++++--- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/.claude/skills/skd-compile/scripts/skd-compile.ps1 b/.claude/skills/skd-compile/scripts/skd-compile.ps1 index 94101c4a..7f873e3a 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.58 — Compile 1C DCS from JSON +# skd-compile v1.59 — Compile 1C DCS from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [string]$DefinitionFile, @@ -2149,6 +2149,9 @@ function Emit-Order { $dir = if ($item.direction) { "$($item.direction)" } else { "Asc" } if ($dir -match '^(?i)desc$') { $dir = "Desc" } elseif ($dir -match '^(?i)asc$') { $dir = "Asc" } X "$indent`t" + if ($item.use -eq $false) { + X "$indent`t`tfalse" + } X "$indent`t`t$(Esc-Xml "$($item.field)")" X "$indent`t`t$dir" if ($item.viewMode) { diff --git a/.claude/skills/skd-compile/scripts/skd-compile.py b/.claude/skills/skd-compile/scripts/skd-compile.py index 620926f7..e098adf4 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.58 — Compile 1C DCS from JSON +# skd-compile v1.59 — Compile 1C DCS from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import json @@ -1801,6 +1801,8 @@ def emit_order(lines, items, indent, skip_auto=False, block_view_mode=None): elif re.match(r'(?i)^asc$', d): d = 'Asc' lines.append(f'{indent}\t') + if item.get('use') is False: + lines.append(f'{indent}\t\tfalse') lines.append(f'{indent}\t\t{esc_xml(str(item["field"]))}') lines.append(f'{indent}\t\t{d}') if item.get('viewMode'): diff --git a/.claude/skills/skd-decompile/scripts/skd-decompile.ps1 b/.claude/skills/skd-decompile/scripts/skd-decompile.ps1 index b2018e1a..76d9904f 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.43 — Decompile 1C DCS Template.xml to JSON DSL (draft) +# skd-decompile v0.44 — Decompile 1C DCS Template.xml to JSON DSL (draft) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [Parameter(Mandatory)] @@ -1533,10 +1533,13 @@ function Build-Order { $fn = Get-Text $it "dcsset:field" $ot = Get-Text $it "dcsset:orderType" $vmN = $it.SelectSingleNode("dcsset:viewMode", $ns) - if ($vmN) { + $useV = Get-Text $it "dcsset:use" + $useFalse = ($useV -eq 'false') + if ($vmN -or $useFalse) { $obj = [ordered]@{ field = $fn } + if ($useFalse) { $obj['use'] = $false } if ($ot -eq 'Desc') { $obj['direction'] = 'desc' } - $obj['viewMode'] = $vmN.InnerText + if ($vmN) { $obj['viewMode'] = $vmN.InnerText } $out += $obj } else { if ($ot -eq 'Desc') { $out += "$fn desc" } else { $out += $fn }