mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-07 20:20:20 +03:00
feat(skd): userSettingPresentation на conditionalAppearance item
Build-ConditionalAppearance не читал userSettingPresentation (read только viewMode/userSettingID), теперь сохраняет multilang презентацию в JSON, а Emit-ConditionalAppearance эмитит её обратно. sample30: −80 строк (2114 → 2034).
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# skd-compile v1.71 — Compile 1C DCS from JSON
|
||||
# skd-compile v1.72 — Compile 1C DCS from JSON
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
param(
|
||||
[string]$DefinitionFile,
|
||||
@@ -2340,6 +2340,10 @@ function Emit-ConditionalAppearance {
|
||||
X "$indent`t`t<dcsset:userSettingID>$(Esc-Xml $uid)</dcsset:userSettingID>"
|
||||
}
|
||||
|
||||
if ($ca.userSettingPresentation) {
|
||||
Emit-MLText -tag "dcsset:userSettingPresentation" -text $ca.userSettingPresentation -indent "$indent`t`t"
|
||||
}
|
||||
|
||||
# useInXxx — список областей где правило НЕ применяется (DontUse).
|
||||
# Порядок имитирует платформенный (group → hierarchicalGroup → overall → ...).
|
||||
if ($ca.useInDontUse -and $ca.useInDontUse.Count -gt 0) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# skd-compile v1.70 — Compile 1C DCS from JSON
|
||||
# skd-compile v1.72 — Compile 1C DCS from JSON
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
import argparse
|
||||
import json
|
||||
@@ -1932,6 +1932,9 @@ def emit_conditional_appearance(lines, items, indent, block_view_mode=None):
|
||||
uid = new_uuid() if str(ca['userSettingID']) == 'auto' else str(ca['userSettingID'])
|
||||
lines.append(f'{indent}\t\t<dcsset:userSettingID>{esc_xml(uid)}</dcsset:userSettingID>')
|
||||
|
||||
if ca.get('userSettingPresentation'):
|
||||
emit_mltext(lines, f'{indent}\t\t', 'dcsset:userSettingPresentation', ca['userSettingPresentation'])
|
||||
|
||||
# useInXxx — список областей где правило НЕ применяется (DontUse)
|
||||
if ca.get('useInDontUse'):
|
||||
use_in_order = ['group', 'hierarchicalGroup', 'overall',
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# skd-decompile v0.54 — Decompile 1C DCS Template.xml to JSON DSL (draft)
|
||||
# skd-decompile v0.55 — Decompile 1C DCS Template.xml to JSON DSL (draft)
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
param(
|
||||
[Parameter(Mandatory)]
|
||||
@@ -1639,6 +1639,11 @@ function Build-ConditionalAppearance {
|
||||
if ($vmN) { $entry['viewMode'] = $vmN.InnerText }
|
||||
$usid = Get-Text $it "dcsset:userSettingID"
|
||||
if ($usid) { $entry['userSettingID'] = 'auto' }
|
||||
$uspN = $it.SelectSingleNode("dcsset:userSettingPresentation", $ns)
|
||||
if ($uspN) {
|
||||
$usp = Get-MLText $uspN
|
||||
if ($usp) { $entry['userSettingPresentation'] = $usp }
|
||||
}
|
||||
# use=false на самом condAppearance item
|
||||
$useV = Get-Text $it "dcsset:use"
|
||||
if ($useV -eq 'false') { $entry['use'] = $false }
|
||||
|
||||
Reference in New Issue
Block a user