From bf4005bf7616d10e6be43136af016d1fc0244092 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Fri, 22 May 2026 15:38:29 +0300 Subject: [PATCH] =?UTF-8?q?feat(skd-compile):=20viewMode/itemsViewMode=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B1=D0=BB=D0=BE=D0=BA=D0=B0=D1=85=20=D0=B8=20?= =?UTF-8?q?structure=20items?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DSL расширения (item-level — паттерн object form расширен): - selection: {field, viewMode} - order: {field, direction, viewMode} (новая object form) - structure group: {type:group, viewMode, itemsViewMode} DSL расширения (block-level на settings): - selectionViewMode, filterViewMode, orderViewMode - conditionalAppearanceViewMode - itemsViewMode (на самих settings) Compile эмитит viewMode/itemsViewMode только если явно задано в JSON — это позволяет decompile сохранить точное наличие/отсутствие из XML и получить bit-perfect round-trip (платформа эмитит эти теги контекстно — на ABCXYZ-стиле для каждого блока, а в простых отчётах без пользовательских настроек — не эмитит). Дополнительно: - Пустой LocalStringType теперь эмитится как self-closing (как платформа) - Убран default order/selection=["Auto"] на StructureItemGroup (раньше compile дефолтил, теперь эмитит только если задано) В SKILL.md не упоминаем — фича редкая. Полное описание в spec. Co-Authored-By: Claude Opus 4.7 --- .../skd-compile/scripts/skd-compile.ps1 | 109 ++++++++++++++---- .../skills/skd-compile/scripts/skd-compile.py | 83 ++++++++++--- docs/skd-dsl-spec.md | 62 +++++++++- .../auto-data-parameters/Template.xml | 6 - .../available-values-and-folders/Template.xml | 3 - .../snapshots/full-example/Template.xml | 12 -- .../grouping-and-totals/Template.xml | 18 --- .../snapshots/horizontal-merge/Template.xml | 6 - .../orgroup-string-items/Template.xml | 6 - .../structure-object-form/Template.xml | 6 - .../snapshots/with-filters/Template.xml | 6 - .../Template.xml | 12 -- .../structure-nested-and-folder/Template.xml | 6 - .../snapshots/variant-full/Template.xml | 18 --- 14 files changed, 214 insertions(+), 139 deletions(-) diff --git a/.claude/skills/skd-compile/scripts/skd-compile.ps1 b/.claude/skills/skd-compile/scripts/skd-compile.ps1 index a250d357..ff40fd6a 100644 --- a/.claude/skills/skd-compile/scripts/skd-compile.ps1 +++ b/.claude/skills/skd-compile/scripts/skd-compile.ps1 @@ -1,4 +1,4 @@ -# skd-compile v1.37 — Compile 1C DCS from JSON +# skd-compile v1.38 — Compile 1C DCS from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [string]$DefinitionFile, @@ -122,6 +122,15 @@ function Resolve-QueryValue { function Emit-MLText { param([string]$tag, $text, [string]$indent, [switch]$NoXsiType) + # Empty value → self-closing tag (matches platform output) + if ($null -eq $text -or ($text -is [string] -and $text -eq '')) { + if ($NoXsiType) { + X "$indent<$tag/>" + } else { + X "$indent<$tag xsi:type=`"v8:LocalStringType`"/>" + } + return + } if ($NoXsiType) { X "$indent<$tag>" } else { @@ -1870,11 +1879,14 @@ function Emit-SelectionItem { if ($item.title) { Emit-MLText -tag "dcsset:lwsTitle" -text $item.title -indent "$indent`t" -NoXsiType } + if ($item.viewMode) { + X "$indent`t$(Esc-Xml "$($item.viewMode)")" + } X "$indent" } function Emit-Selection { - param($items, [string]$indent, [switch]$skipAuto) + param($items, [string]$indent, [switch]$skipAuto, $blockViewMode = $null) if (-not $items -or $items.Count -eq 0) { return } @@ -1883,6 +1895,9 @@ function Emit-Selection { if ($skipAuto -and ($item -is [string]) -and $item -eq 'Auto') { continue } Emit-SelectionItem -item $item -indent "$indent`t" } + if ($null -ne $blockViewMode) { + X "$indent`t$(Esc-Xml "$blockViewMode")" + } X "$indent" } @@ -1971,7 +1986,7 @@ function Emit-FilterItem { } function Emit-Filter { - param($items, [string]$indent) + param($items, [string]$indent, $blockViewMode = $null) if (-not $items -or $items.Count -eq 0) { return } @@ -2003,11 +2018,14 @@ function Emit-Filter { Emit-FilterItem -item $item -indent "$indent`t" } } + if ($null -ne $blockViewMode) { + X "$indent`t$(Esc-Xml "$blockViewMode")" + } X "$indent" } function Emit-Order { - param($items, [string]$indent, [switch]$skipAuto) + param($items, [string]$indent, [switch]$skipAuto, $blockViewMode = $null) if (-not $items -or $items.Count -eq 0) { return } @@ -2029,8 +2047,28 @@ function Emit-Order { X "$indent`t`t$dir" X "$indent`t" } + } else { + # Object form: { field, direction, viewMode } + if ($item.field -eq "Auto" -or $item.type -eq "auto") { + if (-not $skipAuto) { + X "$indent`t" + } + continue + } + $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" + X "$indent`t`t$(Esc-Xml "$($item.field)")" + X "$indent`t`t$dir" + if ($item.viewMode) { + X "$indent`t`t$(Esc-Xml "$($item.viewMode)")" + } + X "$indent`t" } } + if ($null -ne $blockViewMode) { + X "$indent`t$(Esc-Xml "$blockViewMode")" + } X "$indent" } @@ -2071,7 +2109,7 @@ function Emit-AppearanceValue { } function Emit-ConditionalAppearance { - param($items, [string]$indent) + param($items, [string]$indent, $blockViewMode = $null) if (-not $items -or $items.Count -eq 0) { return } @@ -2124,11 +2162,14 @@ function Emit-ConditionalAppearance { X "$indent`t" } + if ($null -ne $blockViewMode) { + X "$indent`t$(Esc-Xml "$blockViewMode")" + } X "$indent" } function Emit-OutputParameters { - param($params, [string]$indent) + param($params, [string]$indent, $blockViewMode = $null) if (-not $params) { return } @@ -2152,11 +2193,14 @@ function Emit-OutputParameters { } X "$indent`t" } + if ($null -ne $blockViewMode) { + X "$indent`t$(Esc-Xml "$blockViewMode")" + } X "$indent" } function Emit-DataParameters { - param($items, [string]$indent) + param($items, [string]$indent, $blockViewMode = $null) if (-not $items -or $items.Count -eq 0) { return } @@ -2242,6 +2286,9 @@ function Emit-DataParameters { X "$indent`t" } + if ($null -ne $blockViewMode) { + X "$indent`t$(Esc-Xml "$blockViewMode")" + } X "$indent" } @@ -2333,15 +2380,13 @@ function Emit-StructureItem { $gb = if ($item.groupBy) { $item.groupBy } else { $item.groupFields } Emit-GroupItems -groupBy $gb -indent "$indent`t" - # Default order to ["Auto"] if not specified - $orderItems = $item.order - if (-not $orderItems) { $orderItems = @("Auto") } - Emit-Order -items $orderItems -indent "$indent`t" - - # Default selection to ["Auto"] if not specified - $selItems = $item.selection - if (-not $selItems) { $selItems = @("Auto") } - Emit-Selection -items $selItems -indent "$indent`t" + # Emit order/selection only if specified — platform doesn't always emit them on group + if ($item.order) { + Emit-Order -items $item.order -indent "$indent`t" + } + if ($item.selection) { + Emit-Selection -items $item.selection -indent "$indent`t" + } Emit-Filter -items $item.filter -indent "$indent`t" @@ -2356,6 +2401,16 @@ function Emit-StructureItem { } } + # viewMode/itemsViewMode on StructureItemGroup are context-dependent — + # platform emits them in some shapes (top-level single group) but not always. + # Emit only when explicitly set in JSON (preserves bit-perfect round-trip). + if ($item.viewMode) { + X "$indent`t$(Esc-Xml "$($item.viewMode)")" + } + if ($item.itemsViewMode) { + X "$indent`t$(Esc-Xml "$($item.itemsViewMode)")" + } + X "$indent" } elseif ($type -eq "table") { @@ -2500,27 +2555,34 @@ function Emit-SettingsVariants { $s = $v.settings + # Helper: resolve XViewMode from settings — emit only if explicitly set + function Get-BlockVM([string]$key) { + $prop = "${key}ViewMode" + if ($s.PSObject.Properties[$prop]) { return "$($s.$prop)" } + return $null + } + # Selection (Auto items only belong at group level, not top-level settings) if ($s.selection) { - Emit-Selection -items $s.selection -indent "`t`t`t" -skipAuto + Emit-Selection -items $s.selection -indent "`t`t`t" -skipAuto -blockViewMode (Get-BlockVM 'selection') } # Filter if ($s.filter) { - Emit-Filter -items $s.filter -indent "`t`t`t" + Emit-Filter -items $s.filter -indent "`t`t`t" -blockViewMode (Get-BlockVM 'filter') } # Order (Auto items only belong at group level, not top-level settings) if ($s.order) { - Emit-Order -items $s.order -indent "`t`t`t" -skipAuto + Emit-Order -items $s.order -indent "`t`t`t" -skipAuto -blockViewMode (Get-BlockVM 'order') } # ConditionalAppearance if ($s.conditionalAppearance) { - Emit-ConditionalAppearance -items $s.conditionalAppearance -indent "`t`t`t" + Emit-ConditionalAppearance -items $s.conditionalAppearance -indent "`t`t`t" -blockViewMode (Get-BlockVM 'conditionalAppearance') } - # OutputParameters + # OutputParameters (platform does NOT emit on this block) if ($s.outputParameters) { Emit-OutputParameters -params $s.outputParameters -indent "`t`t`t" } @@ -2585,6 +2647,11 @@ function Emit-SettingsVariants { } } + # on — emit only if explicitly set + if ($s.itemsViewMode) { + X "`t`t`t$(Esc-Xml "$($s.itemsViewMode)")" + } + X "`t`t" X "`t" } diff --git a/.claude/skills/skd-compile/scripts/skd-compile.py b/.claude/skills/skd-compile/scripts/skd-compile.py index 4a36feda..0b99b07e 100644 --- a/.claude/skills/skd-compile/scripts/skd-compile.py +++ b/.claude/skills/skd-compile/scripts/skd-compile.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# skd-compile v1.37 — Compile 1C DCS from JSON +# skd-compile v1.38 — Compile 1C DCS from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import json @@ -37,6 +37,13 @@ def resolve_query_value(val, base_dir): def emit_mltext(lines, indent, tag, text, no_xsi_type=False): + # Empty value → self-closing tag (matches platform output) + if text is None or (isinstance(text, str) and text == ''): + if no_xsi_type: + lines.append(f"{indent}<{tag}/>") + else: + lines.append(f'{indent}<{tag} xsi:type="v8:LocalStringType"/>') + return if not text: lines.append(f"{indent}<{tag}/>") return @@ -1553,10 +1560,12 @@ def emit_selection_item(lines, item, indent): lines.append(f'{indent}\t{esc_xml(str(item["field"]))}') if item.get('title'): emit_mltext(lines, f'{indent}\t', 'dcsset:lwsTitle', item['title'], no_xsi_type=True) + if item.get('viewMode'): + lines.append(f'{indent}\t{esc_xml(str(item["viewMode"]))}') lines.append(f'{indent}') -def emit_selection(lines, items, indent, skip_auto=False): +def emit_selection(lines, items, indent, skip_auto=False, block_view_mode=None): if not items or len(items) == 0: return lines.append(f'{indent}') @@ -1564,6 +1573,8 @@ def emit_selection(lines, items, indent, skip_auto=False): if skip_auto and isinstance(item, str) and item == 'Auto': continue emit_selection_item(lines, item, f'{indent}\t') + if block_view_mode is not None: + lines.append(f'{indent}\t{esc_xml(str(block_view_mode))}') lines.append(f'{indent}') @@ -1639,7 +1650,7 @@ def emit_filter_item(lines, item, indent): lines.append(f'{indent}') -def emit_filter(lines, items, indent): +def emit_filter(lines, items, indent, block_view_mode=None): if not items or len(items) == 0: return @@ -1664,10 +1675,12 @@ def emit_filter(lines, items, indent): emit_filter_item(lines, filter_obj, f'{indent}\t') else: emit_filter_item(lines, item, f'{indent}\t') + if block_view_mode is not None: + lines.append(f'{indent}\t{esc_xml(str(block_view_mode))}') lines.append(f'{indent}') -def emit_order(lines, items, indent, skip_auto=False): +def emit_order(lines, items, indent, skip_auto=False, block_view_mode=None): if not items or len(items) == 0: return @@ -1689,6 +1702,25 @@ def emit_order(lines, items, indent, skip_auto=False): lines.append(f'{indent}\t\t{esc_xml(field)}') lines.append(f'{indent}\t\t{direction}') lines.append(f'{indent}\t') + else: + # Object form: { field, direction, viewMode } + if str(item.get('field', '')) == 'Auto' or item.get('type') == 'auto': + if not skip_auto: + lines.append(f'{indent}\t') + continue + d = str(item.get('direction', 'Asc')) + if re.match(r'(?i)^desc$', d): + d = 'Desc' + elif re.match(r'(?i)^asc$', d): + d = 'Asc' + lines.append(f'{indent}\t') + lines.append(f'{indent}\t\t{esc_xml(str(item["field"]))}') + lines.append(f'{indent}\t\t{d}') + if item.get('viewMode'): + lines.append(f'{indent}\t\t{esc_xml(str(item["viewMode"]))}') + lines.append(f'{indent}\t') + if block_view_mode is not None: + lines.append(f'{indent}\t{esc_xml(str(block_view_mode))}') lines.append(f'{indent}') @@ -1723,7 +1755,7 @@ def emit_appearance_value(lines, key, val, indent): lines.append(f'{indent}') -def emit_conditional_appearance(lines, items, indent): +def emit_conditional_appearance(lines, items, indent, block_view_mode=None): if not items or len(items) == 0: return @@ -1767,6 +1799,8 @@ def emit_conditional_appearance(lines, items, indent): lines.append(f'{indent}\t\t{esc_xml(uid)}') lines.append(f'{indent}\t') + if block_view_mode is not None: + lines.append(f'{indent}\t{esc_xml(str(block_view_mode))}') lines.append(f'{indent}') @@ -1932,13 +1966,11 @@ def emit_structure_item(lines, item, indent): emit_group_items(lines, item.get('groupBy') or item.get('groupFields'), f'{indent}\t') - # Default order to ["Auto"] if not specified - order_items = item.get('order') or ['Auto'] - emit_order(lines, order_items, f'{indent}\t') - - # Default selection to ["Auto"] if not specified - sel_items = item.get('selection') or ['Auto'] - emit_selection(lines, sel_items, f'{indent}\t') + # Emit order/selection only if specified — platform doesn't always emit them on group + if item.get('order'): + emit_order(lines, item['order'], f'{indent}\t') + if item.get('selection'): + emit_selection(lines, item['selection'], f'{indent}\t') emit_filter(lines, item.get('filter'), f'{indent}\t') @@ -1950,6 +1982,12 @@ def emit_structure_item(lines, item, indent): for child in item['children']: emit_structure_item(lines, child, f'{indent}\t') + # viewMode/itemsViewMode — emit only when explicitly set (context-dependent) + if item.get('viewMode'): + lines.append(f'{indent}\t{esc_xml(str(item["viewMode"]))}') + if item.get('itemsViewMode'): + lines.append(f'{indent}\t{esc_xml(str(item["itemsViewMode"]))}') + lines.append(f'{indent}') elif item_type == 'table': @@ -2062,23 +2100,30 @@ def emit_settings_variants(lines, defn): s = v.get('settings', {}) + # Helper: resolve XViewMode from settings — emit only if explicitly set + def _block_vm(key): + prop = f'{key}ViewMode' + if prop in s: + return str(s[prop]) + return None + # Selection if s.get('selection'): - emit_selection(lines, s['selection'], '\t\t\t', skip_auto=True) + emit_selection(lines, s['selection'], '\t\t\t', skip_auto=True, block_view_mode=_block_vm('selection')) # Filter if s.get('filter'): - emit_filter(lines, s['filter'], '\t\t\t') + emit_filter(lines, s['filter'], '\t\t\t', block_view_mode=_block_vm('filter')) # Order if s.get('order'): - emit_order(lines, s['order'], '\t\t\t', skip_auto=True) + emit_order(lines, s['order'], '\t\t\t', skip_auto=True, block_view_mode=_block_vm('order')) # ConditionalAppearance if s.get('conditionalAppearance'): - emit_conditional_appearance(lines, s['conditionalAppearance'], '\t\t\t') + emit_conditional_appearance(lines, s['conditionalAppearance'], '\t\t\t', block_view_mode=_block_vm('conditionalAppearance')) - # OutputParameters + # OutputParameters (platform does NOT emit on this block) if s.get('outputParameters'): emit_output_parameters(lines, s['outputParameters'], '\t\t\t') @@ -2135,6 +2180,10 @@ def emit_settings_variants(lines, defn): for item in struct_items: emit_structure_item(lines, item, '\t\t\t') + # on settings — emit only if explicitly set + if s.get('itemsViewMode'): + lines.append(f'\t\t\t{esc_xml(str(s["itemsViewMode"]))}') + lines.append('\t\t') lines.append('\t') diff --git a/docs/skd-dsl-spec.md b/docs/skd-dsl-spec.md index 4867c177..2c58851b 100644 --- a/docs/skd-dsl-spec.md +++ b/docs/skd-dsl-spec.md @@ -511,13 +511,14 @@ XML-маппинг — по `` на каждый элемент: "selection": [ "Наименование", { "field": "Количество", "title": "Кол-во" }, + { "field": "Контрагент", "viewMode": "Inaccessible" }, "Auto" ] ``` - Строка → `SelectedItemField` - `"Auto"` → `SelectedItemAuto` (только на уровне группировок; на верхнем уровне settings игнорируется) -- Объект с `field`/`title` → `SelectedItemField` с `lwsTitle` +- Объект с `field`/`title`/`viewMode` → `SelectedItemField` с `lwsTitle`/`viewMode` (см. [viewMode](#viewmode-режим-доступности)) - Объект с `folder`/`items` → `SelectedItemFolder` — группа полей с заголовком и `placement=Auto`: ```json @@ -602,13 +603,19 @@ XML-маппинг — по `` на каждый элемент: ### order ```json -"order": ["Количество desc", "Наименование", "Auto"] +"order": [ + "Количество desc", + "Наименование", + { "field": "Контрагент", "direction": "desc", "viewMode": "Inaccessible" }, + "Auto" +] ``` - `"Field"` → `OrderItemField`, `orderType=Asc` - `"Field desc"` → `OrderItemField`, `orderType=Desc` - `"Field asc"` → `OrderItemField`, `orderType=Asc` - `"Auto"` → `OrderItemAuto` (только на уровне группировок; на верхнем уровне settings игнорируется) +- Объект `{ field, direction?, viewMode? }` — нужен, когда требуется задать `viewMode` (см. [viewMode](#viewmode-режим-доступности)) ### conditionalAppearance @@ -757,6 +764,8 @@ XML-маппинг — по `` на каждый элемент: | `filter` | Отборы (как в settings) | | `order` | Сортировка (умолч. `["Auto"]`) | | `outputParameters` | Параметры вывода (как в settings) | +| `viewMode` | `"Normal"`, `"QuickAccess"`, `"Inaccessible"` — режим доступности группы в пользовательских настройках | +| `itemsViewMode` | `"Normal"`, `"QuickAccess"`, `"Inaccessible"` — режим доступности подэлементов группы | | `children` | Вложенные элементы структуры | Пустой `groupBy` (или `[]`) = детальные записи (без `groupItems` в XML). @@ -787,6 +796,55 @@ XML-маппинг — по `` на каждый элемент: } ``` +### viewMode (режим доступности) + +`viewMode` управляет доступностью элемента в **пользовательских настройках** отчёта («Изменить вариант…» / «Настройки»). Возможные значения: + +| Значение | Семантика | +|----------|-----------| +| `"Normal"` | Пользователь видит и может править (default) | +| `"Inaccessible"` | Скрыто от пользователя, не редактируется | +| `"QuickAccess"` | Вынесено в быстрые настройки (на форму отчёта) | +| `"Auto"` | Автоматический режим (наследование от контейнера) | + +Применяется в трёх контекстах: + +**1. Item-level** — на отдельном элементе блока (см. описание объектной формы соответствующего раздела): + +```json +"filter": [{ "field": "X", "op": "=", "value": "Y", "viewMode": "Inaccessible" }], +"selection": [{ "field": "X", "viewMode": "Inaccessible" }], +"order": [{ "field": "X", "viewMode": "Inaccessible" }], +"conditionalAppearance": [{ "filter": [...], "appearance": {...}, "viewMode": "Inaccessible" }], +"dataParameters": [{ "parameter": "X", "viewMode": "QuickAccess" }] +``` + +Shorthand-флаги `@inaccessible`, `@quickAccess` доступны для `filter` и `dataParameters` строковых форм. + +**2. Block-level** — на самом блоке (внутри `settings`). Управляет доступностью всей группы как пункта пользовательских настроек: + +```json +"settings": { + "selectionViewMode": "Inaccessible", + "filterViewMode": "Inaccessible", + "orderViewMode": "Inaccessible", + "conditionalAppearanceViewMode": "Inaccessible", + "itemsViewMode": "Inaccessible", + "selection": [...], + "filter": [...] +} +``` + +`itemsViewMode` на settings — общий режим для всех подэлементов варианта (`` в XML). + +**3. Structure item** — на элементе структуры (`group`): + +```json +{ "type": "group", "groupBy": ["Организация"], "viewMode": "Inaccessible", "itemsViewMode": "Inaccessible" } +``` + +Поля опциональны: если не заданы, режим элемента наследуется. Платформа эмитит `viewMode`/`itemsViewMode` на структурных элементах не всегда — `skd-decompile` сохраняет значение точно как было в XML, чтобы round-trip был bit-perfect. + --- ## 10. Макеты и привязки (templates, groupTemplates) diff --git a/tests/skills/cases/skd-compile/snapshots/auto-data-parameters/Template.xml b/tests/skills/cases/skd-compile/snapshots/auto-data-parameters/Template.xml index 1d3156a5..f2fcec94 100644 --- a/tests/skills/cases/skd-compile/snapshots/auto-data-parameters/Template.xml +++ b/tests/skills/cases/skd-compile/snapshots/auto-data-parameters/Template.xml @@ -210,12 +210,6 @@ - - - - - - diff --git a/tests/skills/cases/skd-compile/snapshots/available-values-and-folders/Template.xml b/tests/skills/cases/skd-compile/snapshots/available-values-and-folders/Template.xml index 45bf05ca..57d1ebe6 100644 --- a/tests/skills/cases/skd-compile/snapshots/available-values-and-folders/Template.xml +++ b/tests/skills/cases/skd-compile/snapshots/available-values-and-folders/Template.xml @@ -181,9 +181,6 @@ 0001-01-01T00:00:00 - - - diff --git a/tests/skills/cases/skd-compile/snapshots/full-example/Template.xml b/tests/skills/cases/skd-compile/snapshots/full-example/Template.xml index 2662700b..3e9f5d4b 100644 --- a/tests/skills/cases/skd-compile/snapshots/full-example/Template.xml +++ b/tests/skills/cases/skd-compile/snapshots/full-example/Template.xml @@ -156,19 +156,7 @@ 0001-01-01T00:00:00 - - - - - - - - - - - - diff --git a/tests/skills/cases/skd-compile/snapshots/grouping-and-totals/Template.xml b/tests/skills/cases/skd-compile/snapshots/grouping-and-totals/Template.xml index a60c63c9..a18ac4dc 100644 --- a/tests/skills/cases/skd-compile/snapshots/grouping-and-totals/Template.xml +++ b/tests/skills/cases/skd-compile/snapshots/grouping-and-totals/Template.xml @@ -101,12 +101,6 @@ 0001-01-01T00:00:00 - - - - - - @@ -117,19 +111,7 @@ 0001-01-01T00:00:00 - - - - - - - - - - - - diff --git a/tests/skills/cases/skd-compile/snapshots/horizontal-merge/Template.xml b/tests/skills/cases/skd-compile/snapshots/horizontal-merge/Template.xml index c891619f..88523dfe 100644 --- a/tests/skills/cases/skd-compile/snapshots/horizontal-merge/Template.xml +++ b/tests/skills/cases/skd-compile/snapshots/horizontal-merge/Template.xml @@ -2273,12 +2273,6 @@ - - - - - - diff --git a/tests/skills/cases/skd-compile/snapshots/orgroup-string-items/Template.xml b/tests/skills/cases/skd-compile/snapshots/orgroup-string-items/Template.xml index 76f8b444..3143cbdd 100644 --- a/tests/skills/cases/skd-compile/snapshots/orgroup-string-items/Template.xml +++ b/tests/skills/cases/skd-compile/snapshots/orgroup-string-items/Template.xml @@ -104,12 +104,6 @@ - - - - - - diff --git a/tests/skills/cases/skd-compile/snapshots/structure-object-form/Template.xml b/tests/skills/cases/skd-compile/snapshots/structure-object-form/Template.xml index c49b5df9..0742bd97 100644 --- a/tests/skills/cases/skd-compile/snapshots/structure-object-form/Template.xml +++ b/tests/skills/cases/skd-compile/snapshots/structure-object-form/Template.xml @@ -68,9 +68,6 @@ 0001-01-01T00:00:00 - - - Организация @@ -89,9 +86,6 @@ 0001-01-01T00:00:00 - - - Номенклатура diff --git a/tests/skills/cases/skd-compile/snapshots/with-filters/Template.xml b/tests/skills/cases/skd-compile/snapshots/with-filters/Template.xml index a1a7f051..69d27f95 100644 --- a/tests/skills/cases/skd-compile/snapshots/with-filters/Template.xml +++ b/tests/skills/cases/skd-compile/snapshots/with-filters/Template.xml @@ -154,12 +154,6 @@ - - - - - - diff --git a/tests/skills/cases/skd-decompile/snapshots/dataset-folder-and-auto-group/Template.xml b/tests/skills/cases/skd-decompile/snapshots/dataset-folder-and-auto-group/Template.xml index 3a4dbfea..ff4088c1 100644 --- a/tests/skills/cases/skd-decompile/snapshots/dataset-folder-and-auto-group/Template.xml +++ b/tests/skills/cases/skd-decompile/snapshots/dataset-folder-and-auto-group/Template.xml @@ -72,12 +72,6 @@ - - - - - - @@ -88,12 +82,6 @@ 0001-01-01T00:00:00 - - - - - - diff --git a/tests/skills/cases/skd-decompile/snapshots/structure-nested-and-folder/Template.xml b/tests/skills/cases/skd-decompile/snapshots/structure-nested-and-folder/Template.xml index b3d71cb1..07046a4a 100644 --- a/tests/skills/cases/skd-decompile/snapshots/structure-nested-and-folder/Template.xml +++ b/tests/skills/cases/skd-decompile/snapshots/structure-nested-and-folder/Template.xml @@ -134,12 +134,6 @@ 0001-01-01T00:00:00 - - - - - - ДанныеЧасть1 diff --git a/tests/skills/cases/skd-decompile/snapshots/variant-full/Template.xml b/tests/skills/cases/skd-decompile/snapshots/variant-full/Template.xml index ae38fd13..331424d5 100644 --- a/tests/skills/cases/skd-decompile/snapshots/variant-full/Template.xml +++ b/tests/skills/cases/skd-decompile/snapshots/variant-full/Template.xml @@ -377,12 +377,6 @@ 0001-01-01T00:00:00 - - - - - - @@ -393,19 +387,7 @@ 0001-01-01T00:00:00 - - - - - - - - - - - -