mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-14 01:44:57 +03:00
feat(skd): use=false на OrderItemField
OrderItemField в settings может иметь <dcsset:use>false</dcsset:use>
(отключённая сортировка-пункт пользовательских настроек). Build-Order
теперь читает use=false и переводит item в object form
{field, direction, use, viewMode}. Compile эмитит <dcsset:use> в
начале item, перед <dcsset:field>.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -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<dcsset:item xsi:type=`"dcsset:OrderItemField`">"
|
||||
if ($item.use -eq $false) {
|
||||
X "$indent`t`t<dcsset:use>false</dcsset:use>"
|
||||
}
|
||||
X "$indent`t`t<dcsset:field>$(Esc-Xml "$($item.field)")</dcsset:field>"
|
||||
X "$indent`t`t<dcsset:orderType>$dir</dcsset:orderType>"
|
||||
if ($item.viewMode) {
|
||||
|
||||
@@ -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<dcsset:item xsi:type="dcsset:OrderItemField">')
|
||||
if item.get('use') is False:
|
||||
lines.append(f'{indent}\t\t<dcsset:use>false</dcsset:use>')
|
||||
lines.append(f'{indent}\t\t<dcsset:field>{esc_xml(str(item["field"]))}</dcsset:field>')
|
||||
lines.append(f'{indent}\t\t<dcsset:orderType>{d}</dcsset:orderType>')
|
||||
if item.get('viewMode'):
|
||||
|
||||
@@ -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 }
|
||||
|
||||
Reference in New Issue
Block a user