From fb67b1b80da20f9585a1feef0a5d7a009a1136f9 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Tue, 19 May 2026 15:19:13 +0300 Subject: [PATCH] fix(skd-edit): realistic multilang fixture (ERP-style appearance block) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit multilang-base/Template.xml содержал на , что нелегально по XDTO-схеме DCS — 1С Designer падал с "Исключение XDTO" при загрузке через LoadExternalDataProcessorOrReportFromFiles. Snapshot-тесты этого не ловили (только byte-equality), а platform-verify (tests/skills/verify-snapshots.mjs) ронялся на трёх кейсах с этой фикстурой. Заменил на реалистичный блок с вложенным и многоязычным (ru + en) — структура взята из типовой ERP-выгрузки. Это даёт более правильный test для preserve-unknown-children: содержит вложенный multi-lang xsi:type-узел, который точно прошёл бы через DOM round-trip с искажениями, если бы _unknownChildren не работал. preserve-unknown-children-modify-field: shorthand изменён с "@ignoreNullsInGroups" на "@dimension" (no-op по составу role, но триггерит rebuild). Прежний @ignoreNullsInGroups без @dimension давал комбинацию, которую Designer отвергает (ignoreNullsInGroups валиден только в контексте resource-роли). 39/39 snapshot suite (PS+PY) + 39/39 platform verify через erf-build → Designer. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../fixtures/multilang-base/Template.xml | 21 ++++++++++++----- ...reserve-unknown-children-modify-field.json | 7 ++++-- .../Template.xml | 21 ++++++++++++----- .../Template.xml | 21 ++++++++++++----- .../Template.xml | 23 +++++++++++++------ 5 files changed, 66 insertions(+), 27 deletions(-) diff --git a/tests/skills/cases/skd-edit/fixtures/multilang-base/Template.xml b/tests/skills/cases/skd-edit/fixtures/multilang-base/Template.xml index bcf4633d..d6af4c1a 100644 --- a/tests/skills/cases/skd-edit/fixtures/multilang-base/Template.xml +++ b/tests/skills/cases/skd-edit/fixtures/multilang-base/Template.xml @@ -36,12 +36,21 @@ Variable - - - ru - L=ru_RU - - + + + Формат + + + ru + ЧДЦ=2 + + + en + NFD=2 + + + + ИсточникДанных1 ВЫБРАТЬ 1 КАК Контрагент diff --git a/tests/skills/cases/skd-edit/preserve-unknown-children-modify-field.json b/tests/skills/cases/skd-edit/preserve-unknown-children-modify-field.json index 62a86b55..b9c81593 100644 --- a/tests/skills/cases/skd-edit/preserve-unknown-children-modify-field.json +++ b/tests/skills/cases/skd-edit/preserve-unknown-children-modify-field.json @@ -1,10 +1,13 @@ { - "name": "modify-field сохраняет неизвестные дочерние элементы (editFormat, appearance и т.п.)", + "name": "modify-field сохраняет неизвестные дочерние элементы ( со всеми вложениями) — структура из ERP", "setup": "fixture:multilang-base", "params": { "templatePath": "Template.xml", "operation": "modify-field", - "value": "Контрагент @ignoreNullsInGroups" + "value": "Контрагент @dimension" + }, + "expect": { + "stdoutContains": "Field \"Контрагент\" modified" }, "idempotent": true } diff --git a/tests/skills/cases/skd-edit/snapshots/preserve-multilang-modify-field/Template.xml b/tests/skills/cases/skd-edit/snapshots/preserve-multilang-modify-field/Template.xml index 014403b1..6343c9fe 100644 --- a/tests/skills/cases/skd-edit/snapshots/preserve-multilang-modify-field/Template.xml +++ b/tests/skills/cases/skd-edit/snapshots/preserve-multilang-modify-field/Template.xml @@ -36,12 +36,21 @@ Variable - - - ru - L=ru_RU - - + + + Формат + + + ru + ЧДЦ=2 + + + en + NFD=2 + + + + ИсточникДанных1 ВЫБРАТЬ 1 КАК Контрагент diff --git a/tests/skills/cases/skd-edit/snapshots/preserve-multilang-modify-parameter/Template.xml b/tests/skills/cases/skd-edit/snapshots/preserve-multilang-modify-parameter/Template.xml index e1444c18..9c6b97fe 100644 --- a/tests/skills/cases/skd-edit/snapshots/preserve-multilang-modify-parameter/Template.xml +++ b/tests/skills/cases/skd-edit/snapshots/preserve-multilang-modify-parameter/Template.xml @@ -36,12 +36,21 @@ Variable - - - ru - L=ru_RU - - + + + Формат + + + ru + ЧДЦ=2 + + + en + NFD=2 + + + + ИсточникДанных1 ВЫБРАТЬ 1 КАК Контрагент diff --git a/tests/skills/cases/skd-edit/snapshots/preserve-unknown-children-modify-field/Template.xml b/tests/skills/cases/skd-edit/snapshots/preserve-unknown-children-modify-field/Template.xml index 55194c4c..d6af4c1a 100644 --- a/tests/skills/cases/skd-edit/snapshots/preserve-unknown-children-modify-field/Template.xml +++ b/tests/skills/cases/skd-edit/snapshots/preserve-unknown-children-modify-field/Template.xml @@ -27,7 +27,7 @@ - true + true xs:string @@ -36,12 +36,21 @@ Variable - - - ru - L=ru_RU - - + + + Формат + + + ru + ЧДЦ=2 + + + en + NFD=2 + + + + ИсточникДанных1 ВЫБРАТЬ 1 КАК Контрагент