From 9cbda1989a6584ce5b3f0176ff0205528147e8ff Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sat, 11 Apr 2026 18:00:34 +0300 Subject: [PATCH] test(meta-compile/document-journal): preRun creates documents with referenced attributes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Journal column references require the referenced document attribute to actually exist at load time. Previously the test DSL relied on the verify-snapshots stub mechanism, which creates minimal Document stubs without the specific attributes the column refs point to → load failed with "Неизвестный объект метаданных - Document.ПриходнаяНакладная.Attribute.Склад". This was listed as D5 in the 2026-04-05 FINDINGS log ("low priority, complex to implement"). Now the test case declares preRun steps that create both documents with the exact attributes its journal columns reference (Склад on one, Контрагент on both). Column "Контрагент" gained explicit references (was a shorthand string before) because the platform rejects journal columns without at least one reference at load time. Regenerated the snapshot (gained Documents/ subtree from preRun output). verify-snapshots --skill meta-compile is now 30/30 green with -StrictLog. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../cases/meta-compile/document-journal.json | 14 +- .../document-journal/Configuration.xml | 2 + .../ЖурналСкладскихДокументов.xml | 5 +- .../Documents/ПриходнаяНакладная.xml | 301 ++++++++++++++++++ .../ПриходнаяНакладная/Ext/ObjectModule.bsl | 0 .../Documents/РасходнаяНакладная.xml | 258 +++++++++++++++ .../РасходнаяНакладная/Ext/ObjectModule.bsl | 0 7 files changed, 578 insertions(+), 2 deletions(-) create mode 100644 tests/skills/cases/meta-compile/snapshots/document-journal/Documents/ПриходнаяНакладная.xml create mode 100644 tests/skills/cases/meta-compile/snapshots/document-journal/Documents/ПриходнаяНакладная/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/meta-compile/snapshots/document-journal/Documents/РасходнаяНакладная.xml create mode 100644 tests/skills/cases/meta-compile/snapshots/document-journal/Documents/РасходнаяНакладная/Ext/ObjectModule.bsl diff --git a/tests/skills/cases/meta-compile/document-journal.json b/tests/skills/cases/meta-compile/document-journal.json index e75a1a40..e6fbbd1d 100644 --- a/tests/skills/cases/meta-compile/document-journal.json +++ b/tests/skills/cases/meta-compile/document-journal.json @@ -1,12 +1,24 @@ { "name": "Журнал документов с графами", + "preRun": [ + { + "script": "meta-compile/scripts/meta-compile", + "input": { "type": "Document", "name": "ПриходнаяНакладная", "attributes": ["Склад: String(50)", "Контрагент: String(100)"] }, + "args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" } + }, + { + "script": "meta-compile/scripts/meta-compile", + "input": { "type": "Document", "name": "РасходнаяНакладная", "attributes": ["Контрагент: String(100)"] }, + "args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" } + } + ], "input": { "type": "DocumentJournal", "name": "ЖурналСкладскихДокументов", "registeredDocuments": ["Document.ПриходнаяНакладная", "Document.РасходнаяНакладная"], "columns": [ { "name": "Склад", "references": ["Document.ПриходнаяНакладная.Attribute.Склад"] }, - "Контрагент" + { "name": "Контрагент", "references": ["Document.ПриходнаяНакладная.Attribute.Контрагент", "Document.РасходнаяНакладная.Attribute.Контрагент"] } ] }, "validatePath": "DocumentJournals/ЖурналСкладскихДокументов", diff --git a/tests/skills/cases/meta-compile/snapshots/document-journal/Configuration.xml b/tests/skills/cases/meta-compile/snapshots/document-journal/Configuration.xml index 04679094..646b798a 100644 --- a/tests/skills/cases/meta-compile/snapshots/document-journal/Configuration.xml +++ b/tests/skills/cases/meta-compile/snapshots/document-journal/Configuration.xml @@ -246,6 +246,8 @@ Русский + ПриходнаяНакладная + РасходнаяНакладная ЖурналСкладскихДокументов diff --git a/tests/skills/cases/meta-compile/snapshots/document-journal/DocumentJournals/ЖурналСкладскихДокументов.xml b/tests/skills/cases/meta-compile/snapshots/document-journal/DocumentJournals/ЖурналСкладскихДокументов.xml index aab0324e..8f24d739 100644 --- a/tests/skills/cases/meta-compile/snapshots/document-journal/DocumentJournals/ЖурналСкладскихДокументов.xml +++ b/tests/skills/cases/meta-compile/snapshots/document-journal/DocumentJournals/ЖурналСкладскихДокументов.xml @@ -221,7 +221,10 @@ DontIndex - + + Document.ПриходнаяНакладная.Attribute.Контрагент + Document.РасходнаяНакладная.Attribute.Контрагент + diff --git a/tests/skills/cases/meta-compile/snapshots/document-journal/Documents/ПриходнаяНакладная.xml b/tests/skills/cases/meta-compile/snapshots/document-journal/Documents/ПриходнаяНакладная.xml new file mode 100644 index 00000000..5678a0ed --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/document-journal/Documents/ПриходнаяНакладная.xml @@ -0,0 +1,301 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + + ПриходнаяНакладная + + + ru + Приходная накладная + + + + true + + String + 11 + Variable + Year + true + true + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + + + Document.ПриходнаяНакладная.StandardAttribute.Number + + DontUse + Begin + DontUse + Directly + + + + + + + Allow + Deny + AutoDelete + WriteModified + AutoFill + + true + true + false + + Automatic + Use + + + + + + Auto + DontUse + false + false + + + + + Склад + + + ru + Склад + + + + + xs:string + + 50 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + Контрагент + + + ru + Контрагент + + + + + xs:string + + 100 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + diff --git a/tests/skills/cases/meta-compile/snapshots/document-journal/Documents/ПриходнаяНакладная/Ext/ObjectModule.bsl b/tests/skills/cases/meta-compile/snapshots/document-journal/Documents/ПриходнаяНакладная/Ext/ObjectModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-compile/snapshots/document-journal/Documents/РасходнаяНакладная.xml b/tests/skills/cases/meta-compile/snapshots/document-journal/Documents/РасходнаяНакладная.xml new file mode 100644 index 00000000..6f874e05 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/document-journal/Documents/РасходнаяНакладная.xml @@ -0,0 +1,258 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + + РасходнаяНакладная + + + ru + Расходная накладная + + + + true + + String + 11 + Variable + Year + true + true + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + + + Document.РасходнаяНакладная.StandardAttribute.Number + + DontUse + Begin + DontUse + Directly + + + + + + + Allow + Deny + AutoDelete + WriteModified + AutoFill + + true + true + false + + Automatic + Use + + + + + + Auto + DontUse + false + false + + + + + Контрагент + + + ru + Контрагент + + + + + xs:string + + 100 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + diff --git a/tests/skills/cases/meta-compile/snapshots/document-journal/Documents/РасходнаяНакладная/Ext/ObjectModule.bsl b/tests/skills/cases/meta-compile/snapshots/document-journal/Documents/РасходнаяНакладная/Ext/ObjectModule.bsl new file mode 100644 index 00000000..e69de29b