mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-12 08:54:57 +03:00
feat(skd-decompile): fail-fast (Ring 3) для отчётов без dataSet
Служебные отчёты-обёртки содержат только settingsVariant с outputParameters (МакетОформления и подобное) и используются для динамического заполнения из кода. Compile требует ≥1 dataSet, и весь DSL заточен под data-driven отчёты — раньше decompile проходил, но compile падал с exit 1. Теперь decompile fail-fast (exit 3, ring3 skip) — это правильнее классифицирует такие отчёты в verify-roundtrip как "не поддерживается" вместо "compile сломался". См. C:/WS/projects/titan/src/cfe/Титан2/Reports/ ккСправкаРасчетРезервыПоСомнительнымДолгам.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# skd-decompile v0.81 — Decompile 1C DCS Template.xml to JSON DSL (draft)
|
||||
# skd-decompile v0.82 — Decompile 1C DCS Template.xml to JSON DSL (draft)
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
param(
|
||||
[Parameter(Mandatory)]
|
||||
@@ -91,6 +91,13 @@ foreach ($ns_el in $xmlDoc.SelectNodes("//*[local-name()='nestedSchema']")) {
|
||||
Fail-Ring3 -kind "nestedSchema (вложенные подсхемы)" -loc "nestedSchema"
|
||||
}
|
||||
|
||||
# Пустые dataSets — отчёт без источника данных (только settingsVariant с outputParameters).
|
||||
# Такие отчёты валидны (динамическое заполнение из кода), но compile требует ≥1 dataSet,
|
||||
# и весь DSL заточен под data-driven отчёты — fail-fast.
|
||||
if ($xmlDoc.SelectNodes("//*[local-name()='dataSet']").Count -eq 0) {
|
||||
Fail-Ring3 -kind "отчёт без dataSet (служебный шаблон-обёртка)" -loc "DataCompositionSchema/dataSet"
|
||||
}
|
||||
|
||||
# --- 2. Warnings accumulator ---
|
||||
|
||||
$script:warnings = @()
|
||||
|
||||
Reference in New Issue
Block a user