mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-16 15:55:16 +03:00
feat(skd-compile): additionalProperties в settings
<dcsset:additionalProperties> — список <v8:Property name="X">
<v8:Value xsi:type="xs:string">Y</v8:Value></v8:Property>. Используется
платформой для служебных свойств варианта (ВариантНаименование,
КлючВарианта, Адрес — URL tempstorage).
DSL: settings.additionalProperties = { "имя": "значение", ... }
Эмит — после itemsViewMode, перед закрытием settings.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# skd-compile v1.53 — Compile 1C DCS from JSON
|
||||
# skd-compile v1.54 — Compile 1C DCS from JSON
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
param(
|
||||
[string]$DefinitionFile,
|
||||
@@ -2850,6 +2850,17 @@ function Emit-SettingsVariants {
|
||||
X "`t`t`t<dcsset:itemsViewMode>$(Esc-Xml "$($s.itemsViewMode)")</dcsset:itemsViewMode>"
|
||||
}
|
||||
|
||||
# <dcsset:additionalProperties> — key/value свойства варианта
|
||||
if ($s.additionalProperties) {
|
||||
X "`t`t`t<dcsset:additionalProperties>"
|
||||
foreach ($prop in $s.additionalProperties.PSObject.Properties) {
|
||||
X "`t`t`t`t<v8:Property name=`"$(Esc-Xml $prop.Name)`">"
|
||||
X "`t`t`t`t`t<v8:Value xsi:type=`"xs:string`">$(Esc-Xml "$($prop.Value)")</v8:Value>"
|
||||
X "`t`t`t`t</v8:Property>"
|
||||
}
|
||||
X "`t`t`t</dcsset:additionalProperties>"
|
||||
}
|
||||
|
||||
X "`t`t</dcsset:settings>"
|
||||
X "`t</settingsVariant>"
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# skd-compile v1.53 — Compile 1C DCS from JSON
|
||||
# skd-compile v1.54 — Compile 1C DCS from JSON
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
import argparse
|
||||
import json
|
||||
@@ -2353,6 +2353,15 @@ def emit_settings_variants(lines, defn):
|
||||
if s.get('itemsViewMode'):
|
||||
lines.append(f'\t\t\t<dcsset:itemsViewMode>{esc_xml(str(s["itemsViewMode"]))}</dcsset:itemsViewMode>')
|
||||
|
||||
# <dcsset:additionalProperties> — key/value свойства варианта
|
||||
if s.get('additionalProperties'):
|
||||
lines.append('\t\t\t<dcsset:additionalProperties>')
|
||||
for k, v in s['additionalProperties'].items():
|
||||
lines.append(f'\t\t\t\t<v8:Property name="{esc_xml(str(k))}">')
|
||||
lines.append(f'\t\t\t\t\t<v8:Value xsi:type="xs:string">{esc_xml(str(v))}</v8:Value>')
|
||||
lines.append('\t\t\t\t</v8:Property>')
|
||||
lines.append('\t\t\t</dcsset:additionalProperties>')
|
||||
|
||||
lines.append('\t\t</dcsset:settings>')
|
||||
lines.append('\t</settingsVariant>')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user