feat(skd): block-level viewMode/userSettingID на <dcsset:order> внутри structure group

Раньше теряли viewMode/userSettingID, которые platform пишет прямо в блок order
(не в item). Build-Structure теперь читает их как orderViewMode/orderUserSettingID,
Emit-Order принимает -blockUserSettingID параметр.

sample30: −10 строк (1778 → 1768).
This commit is contained in:
Nick Shirokov
2026-05-23 19:25:20 +03:00
parent fb9d29408c
commit 64c2037fe1
3 changed files with 20 additions and 7 deletions
@@ -1,4 +1,4 @@
# skd-decompile v0.58 — Decompile 1C DCS Template.xml to JSON DSL (draft)
# skd-decompile v0.59 — Decompile 1C DCS Template.xml to JSON DSL (draft)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
param(
[Parameter(Mandatory)]
@@ -2047,6 +2047,12 @@ function Build-Structure {
if ($ordNode) {
$ordItems = Build-Order -ordNode $ordNode -loc "$loc/order"
if ($ordItems.Count -gt 0) { $entry['order'] = $ordItems }
# Block-level viewMode/userSettingID на <dcsset:order>
foreach ($ch in $ordNode.ChildNodes) {
if ($ch.NodeType -ne 'Element' -or $ch.NamespaceURI -ne 'http://v8.1c.ru/8.1/data-composition-system/settings') { continue }
if ($ch.LocalName -eq 'viewMode') { $entry['orderViewMode'] = $ch.InnerText }
elseif ($ch.LocalName -eq 'userSettingID') { $entry['orderUserSettingID'] = 'auto' }
}
}
# Local filter
$filterNode = $it.SelectSingleNode("dcsset:filter", $ns)