mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-04 09:10:52 +03:00
feat(skd): user-settings + axis-viewMode + use=false на StructureItemTable/Chart
Раньше для StructureItemTable читали только viewMode/userSettingID/
userSettingPresentation/itemsViewMode, а для StructureItemChart — вовсе
ничего из user-settings. Также не поддерживали axis-level режим
доступности секций (columnsViewMode/rowsViewMode/pointsViewMode/
seriesViewMode) и use=false на самих table/chart.
Расширено:
- table: + use=false, + columnsViewMode, + rowsViewMode
- chart: + use=false, + viewMode, + userSettingID, + userSettingPresentation,
+ itemsViewMode, + pointsViewMode, + seriesViewMode
Все эти атрибуты эмитятся платформой как direct children самой item-ноды
после rows/columns (table) или points/series (chart). DSL — простые поля
прямо на table/chart-объекте (как у table уже было для viewMode/etc).
Sample30 total: 729 → 620 строк diff (-109).
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# skd-compile v1.95 — Compile 1C DCS from JSON
|
||||
# skd-compile v1.96 — Compile 1C DCS from JSON
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
param(
|
||||
[string]$DefinitionFile,
|
||||
@@ -3097,6 +3097,11 @@ function Emit-StructureItem {
|
||||
elseif ($type -eq "table") {
|
||||
X "$indent<dcsset:item xsi:type=`"dcsset:StructureItemTable`">"
|
||||
|
||||
# use=false — отключённая таблица
|
||||
if ($item.use -eq $false) {
|
||||
X "$indent`t<dcsset:use>false</dcsset:use>"
|
||||
}
|
||||
|
||||
if ($item.name) {
|
||||
X "$indent`t<dcsset:name>$(Esc-Xml "$($item.name)")</dcsset:name>"
|
||||
}
|
||||
@@ -3129,6 +3134,13 @@ function Emit-StructureItem {
|
||||
if ($item.outputParameters) {
|
||||
Emit-OutputParameters -params $item.outputParameters -indent "$indent`t"
|
||||
}
|
||||
# columnsViewMode / rowsViewMode — axis-level режим доступности (после rows/columns)
|
||||
if ($item.columnsViewMode) {
|
||||
X "$indent`t<dcsset:columnsViewMode>$(Esc-Xml "$($item.columnsViewMode)")</dcsset:columnsViewMode>"
|
||||
}
|
||||
if ($item.rowsViewMode) {
|
||||
X "$indent`t<dcsset:rowsViewMode>$(Esc-Xml "$($item.rowsViewMode)")</dcsset:rowsViewMode>"
|
||||
}
|
||||
# viewMode / userSettingID / userSettingPresentation / itemsViewMode на самой таблице
|
||||
if ($item.viewMode) {
|
||||
X "$indent`t<dcsset:viewMode>$(Esc-Xml "$($item.viewMode)")</dcsset:viewMode>"
|
||||
@@ -3149,6 +3161,11 @@ function Emit-StructureItem {
|
||||
elseif ($type -eq "chart") {
|
||||
X "$indent<dcsset:item xsi:type=`"dcsset:StructureItemChart`">"
|
||||
|
||||
# use=false — отключённая диаграмма
|
||||
if ($item.use -eq $false) {
|
||||
X "$indent`t<dcsset:use>false</dcsset:use>"
|
||||
}
|
||||
|
||||
if ($item.name) {
|
||||
X "$indent`t<dcsset:name>$(Esc-Xml "$($item.name)")</dcsset:name>"
|
||||
}
|
||||
@@ -3196,6 +3213,28 @@ function Emit-StructureItem {
|
||||
Emit-OutputParameters -params $item.outputParameters -indent "$indent`t"
|
||||
}
|
||||
|
||||
# pointsViewMode / seriesViewMode — axis-level режим доступности (после points/series)
|
||||
if ($item.pointsViewMode) {
|
||||
X "$indent`t<dcsset:pointsViewMode>$(Esc-Xml "$($item.pointsViewMode)")</dcsset:pointsViewMode>"
|
||||
}
|
||||
if ($item.seriesViewMode) {
|
||||
X "$indent`t<dcsset:seriesViewMode>$(Esc-Xml "$($item.seriesViewMode)")</dcsset:seriesViewMode>"
|
||||
}
|
||||
# viewMode / userSettingID / userSettingPresentation / itemsViewMode на самой диаграмме
|
||||
if ($item.viewMode) {
|
||||
X "$indent`t<dcsset:viewMode>$(Esc-Xml "$($item.viewMode)")</dcsset:viewMode>"
|
||||
}
|
||||
if ($item.userSettingID) {
|
||||
$gid = if ("$($item.userSettingID)" -eq "auto") { New-Guid-String } else { "$($item.userSettingID)" }
|
||||
X "$indent`t<dcsset:userSettingID>$(Esc-Xml $gid)</dcsset:userSettingID>"
|
||||
}
|
||||
if ($item.userSettingPresentation) {
|
||||
Emit-MLText -tag "dcsset:userSettingPresentation" -text $item.userSettingPresentation -indent "$indent`t"
|
||||
}
|
||||
if ($item.itemsViewMode) {
|
||||
X "$indent`t<dcsset:itemsViewMode>$(Esc-Xml "$($item.itemsViewMode)")</dcsset:itemsViewMode>"
|
||||
}
|
||||
|
||||
X "$indent</dcsset:item>"
|
||||
}
|
||||
elseif ($type -eq "nestedObject") {
|
||||
|
||||
Reference in New Issue
Block a user