From 1481e58bfc82b251ca0d95d5a4478b681c22137d Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sun, 20 Sep 2026 18:45:16 +0300 Subject: [PATCH] =?UTF-8?q?feat(meta-compile,meta-validate):=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B8=20=D0=BD=D0=B0=20?= =?UTF-8?q?=D1=82=D0=B8=D0=BF-=D0=BC=D0=BD=D0=BE=D0=B6=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=B2=D0=BE=20=D1=82=D0=B0=D0=BC,=20=D0=B3=D0=B4=D0=B5=20?= =?UTF-8?q?=D0=B5=D0=B3=D0=BE=20=D0=BD=D0=B5=20=D0=BF=D1=80=D0=B8=D0=BD?= =?UTF-8?q?=D0=B8=D0=BC=D0=B0=D1=8E=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Запрет неочевидный, а отказ платформы приходит поздно и одной строкой из Конфигуратора. Три уровня строгости, все замерены загрузкой в базу на 8.3.24.1691, а не выведены из документации: - ОШИБКА — множество в составе определяемого типа. Платформа отвергает файл целиком («ОпределяемыйТип.<Имя> - Недопустимый тип»); проверено на ОпределяемыйТип, Характеристика, ЛюбаяСсылка и голых ссылках, контрольный вариант с обычным CatalogRef.<Имя> принят. Отсюда и ноль таких узлов в корпусе — это запрет, а не совпадение. - ПРЕДУПРЕЖДЕНИЕ — голый метатип в типе значения ПВХ. Загрузка проходит, но Конфигуратор такой тип не предлагает: в дереве выбора СправочникСсылка и ДокументСсылка — папки без флажка, а ЛюбаяСсылки там нет вовсе. Плюс AnyRef раундтрипом возвращается как AnyIBRef, то есть молча меняется. - ПРЕДУПРЕЖДЕНИЕ — определяемый тип одним из составного. Конфигуратор даёт выбрать его только единственным, но отказывать нельзя: в корпусе erp+acc 6500 единственных против 1 составного, и этот один лежит в типовой ERP (Документ.НачислениеИСписаниеБонусныхБаллов.Баллы — два определяемых типа подряд). Навык не вправе отказаться собрать то, что поставляет 1С. В meta-compile состав множеств берётся опросом самого эмиттера, а не второй копией его регулярок: список видов живёт в Emit-TypeContent, и копия разъехалась бы с ним молча. Развёртка по 3428 объектам ERP: ровно 2 срабатывания, оба на том самом реальном составном реквизите. Ложных нет. Предупреждения пишутся прямо в stderr, а не через Write-Warning: в PS 5.1 тот уходит не в тот поток (конвенция из cf-init), и до проверки они не доезжали. Оба кейса-предупреждения проверены платформой — она эти конфигурации грузит, что и подтверждает выбор «предупреждение, а не отказ». Co-Authored-By: Claude Opus 5 (1M context) --- .../meta-compile/scripts/meta-compile.ps1 | 59 +++- .../meta-compile/scripts/meta-compile.py | 51 +++- .../meta-validate/scripts/meta-validate.ps1 | 37 ++- .../meta-validate/scripts/meta-validate.py | 34 ++- docs/meta-dsl-spec.md | 13 +- .../error-typeset-in-defined-type.json | 12 + .../ChartsOfCharacteristicTypes/Виды.xml | 94 +++++++ .../Виды/Ext/ObjectModule.bsl | 0 .../warn-cct-bare-metatype/Configuration.xml | 252 +++++++++++++++++ .../Ext/ClientApplicationInterface.xml | 18 ++ .../Languages/Русский.xml | 16 ++ .../Catalogs/Договоры.xml | 133 +++++++++ .../Catalogs/Договоры/Ext/ObjectModule.bsl | 0 .../Configuration.xml | 252 +++++++++++++++++ .../Ext/ClientApplicationInterface.xml | 18 ++ .../Languages/Русский.xml | 16 ++ .../meta-compile/warn-cct-bare-metatype.json | 17 ++ .../warn-composite-defined-type.json | 16 ++ .../error-typeset-in-defined-type.json | 14 + .../cct-bare-metatype/Catalogs/Договоры.xml | 133 +++++++++ .../Catalogs/Договоры/Ext/ObjectModule.bsl | 1 + .../cct-bare-metatype/Catalogs/Товары.xml | 91 +++++++ .../Catalogs/Товары/Ext/ObjectModule.bsl | 1 + .../ChartsOfCharacteristicTypes/Виды.xml | 94 +++++++ .../Виды/Ext/ObjectModule.bsl | 1 + .../cct-bare-metatype/Configuration.xml | 255 ++++++++++++++++++ .../cct-bare-metatype/DefinedTypes/Сумма.xml | 29 ++ .../Ext/ClientApplicationInterface.xml | 18 ++ .../cct-bare-metatype/Languages/Русский.xml | 16 ++ .../Catalogs/Договоры.xml | 133 +++++++++ .../Catalogs/Договоры/Ext/ObjectModule.bsl | 1 + .../Catalogs/Товары.xml | 91 +++++++ .../Catalogs/Товары/Ext/ObjectModule.bsl | 1 + .../ChartsOfCharacteristicTypes/Виды.xml | 94 +++++++ .../Виды/Ext/ObjectModule.bsl | 1 + .../composite-defined-type/Configuration.xml | 255 ++++++++++++++++++ .../DefinedTypes/Сумма.xml | 29 ++ .../Ext/ClientApplicationInterface.xml | 18 ++ .../Languages/Русский.xml | 16 ++ .../defined-type-typeset/Catalogs/Товары.xml | 91 +++++++ .../Catalogs/Товары/Ext/ObjectModule.bsl | 1 + .../defined-type-typeset/Configuration.xml | 253 +++++++++++++++++ .../DefinedTypes/Любой.xml | 25 ++ .../Ext/ClientApplicationInterface.xml | 18 ++ .../Languages/Русский.xml | 16 ++ .../Catalogs/Договоры.xml | 133 +++++++++ .../Catalogs/Договоры/Ext/ObjectModule.bsl | 0 .../Catalogs/Товары.xml | 91 +++++++ .../Catalogs/Товары/Ext/ObjectModule.bsl | 0 .../ChartsOfCharacteristicTypes/Виды.xml | 94 +++++++ .../Виды/Ext/ObjectModule.bsl | 0 .../warn-cct-bare-metatype/Configuration.xml | 255 ++++++++++++++++++ .../DefinedTypes/Сумма.xml | 29 ++ .../Ext/ClientApplicationInterface.xml | 18 ++ .../Languages/Русский.xml | 16 ++ .../Catalogs/Договоры.xml | 133 +++++++++ .../Catalogs/Договоры/Ext/ObjectModule.bsl | 0 .../Catalogs/Товары.xml | 91 +++++++ .../Catalogs/Товары/Ext/ObjectModule.bsl | 0 .../ChartsOfCharacteristicTypes/Виды.xml | 94 +++++++ .../Виды/Ext/ObjectModule.bsl | 0 .../Configuration.xml | 255 ++++++++++++++++++ .../DefinedTypes/Сумма.xml | 29 ++ .../Ext/ClientApplicationInterface.xml | 18 ++ .../Languages/Русский.xml | 16 ++ .../meta-validate/warn-cct-bare-metatype.json | 12 + .../warn-composite-defined-type.json | 13 + 67 files changed, 4022 insertions(+), 9 deletions(-) create mode 100644 tests/skills/cases/meta-compile/error-typeset-in-defined-type.json create mode 100644 tests/skills/cases/meta-compile/snapshots/warn-cct-bare-metatype/ChartsOfCharacteristicTypes/Виды.xml create mode 100644 tests/skills/cases/meta-compile/snapshots/warn-cct-bare-metatype/ChartsOfCharacteristicTypes/Виды/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/meta-compile/snapshots/warn-cct-bare-metatype/Configuration.xml create mode 100644 tests/skills/cases/meta-compile/snapshots/warn-cct-bare-metatype/Ext/ClientApplicationInterface.xml create mode 100644 tests/skills/cases/meta-compile/snapshots/warn-cct-bare-metatype/Languages/Русский.xml create mode 100644 tests/skills/cases/meta-compile/snapshots/warn-composite-defined-type/Catalogs/Договоры.xml create mode 100644 tests/skills/cases/meta-compile/snapshots/warn-composite-defined-type/Catalogs/Договоры/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/meta-compile/snapshots/warn-composite-defined-type/Configuration.xml create mode 100644 tests/skills/cases/meta-compile/snapshots/warn-composite-defined-type/Ext/ClientApplicationInterface.xml create mode 100644 tests/skills/cases/meta-compile/snapshots/warn-composite-defined-type/Languages/Русский.xml create mode 100644 tests/skills/cases/meta-compile/warn-cct-bare-metatype.json create mode 100644 tests/skills/cases/meta-compile/warn-composite-defined-type.json create mode 100644 tests/skills/cases/meta-validate/error-typeset-in-defined-type.json create mode 100644 tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Catalogs/Договоры.xml create mode 100644 tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Catalogs/Договоры/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Catalogs/Товары.xml create mode 100644 tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Catalogs/Товары/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/ChartsOfCharacteristicTypes/Виды.xml create mode 100644 tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/ChartsOfCharacteristicTypes/Виды/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Configuration.xml create mode 100644 tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/DefinedTypes/Сумма.xml create mode 100644 tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Ext/ClientApplicationInterface.xml create mode 100644 tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Languages/Русский.xml create mode 100644 tests/skills/cases/meta-validate/fixtures/composite-defined-type/Catalogs/Договоры.xml create mode 100644 tests/skills/cases/meta-validate/fixtures/composite-defined-type/Catalogs/Договоры/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/meta-validate/fixtures/composite-defined-type/Catalogs/Товары.xml create mode 100644 tests/skills/cases/meta-validate/fixtures/composite-defined-type/Catalogs/Товары/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/meta-validate/fixtures/composite-defined-type/ChartsOfCharacteristicTypes/Виды.xml create mode 100644 tests/skills/cases/meta-validate/fixtures/composite-defined-type/ChartsOfCharacteristicTypes/Виды/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/meta-validate/fixtures/composite-defined-type/Configuration.xml create mode 100644 tests/skills/cases/meta-validate/fixtures/composite-defined-type/DefinedTypes/Сумма.xml create mode 100644 tests/skills/cases/meta-validate/fixtures/composite-defined-type/Ext/ClientApplicationInterface.xml create mode 100644 tests/skills/cases/meta-validate/fixtures/composite-defined-type/Languages/Русский.xml create mode 100644 tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Catalogs/Товары.xml create mode 100644 tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Catalogs/Товары/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Configuration.xml create mode 100644 tests/skills/cases/meta-validate/fixtures/defined-type-typeset/DefinedTypes/Любой.xml create mode 100644 tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Ext/ClientApplicationInterface.xml create mode 100644 tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Languages/Русский.xml create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Catalogs/Договоры.xml create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Catalogs/Договоры/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Catalogs/Товары.xml create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Catalogs/Товары/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/ChartsOfCharacteristicTypes/Виды.xml create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/ChartsOfCharacteristicTypes/Виды/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Configuration.xml create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/DefinedTypes/Сумма.xml create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Ext/ClientApplicationInterface.xml create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Languages/Русский.xml create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Catalogs/Договоры.xml create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Catalogs/Договоры/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Catalogs/Товары.xml create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Catalogs/Товары/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/ChartsOfCharacteristicTypes/Виды.xml create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/ChartsOfCharacteristicTypes/Виды/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Configuration.xml create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/DefinedTypes/Сумма.xml create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Ext/ClientApplicationInterface.xml create mode 100644 tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Languages/Русский.xml create mode 100644 tests/skills/cases/meta-validate/warn-cct-bare-metatype.json create mode 100644 tests/skills/cases/meta-validate/warn-composite-defined-type.json diff --git a/.claude/skills/meta-compile/scripts/meta-compile.ps1 b/.claude/skills/meta-compile/scripts/meta-compile.ps1 index 00de753be..f9259f1d7 100644 --- a/.claude/skills/meta-compile/scripts/meta-compile.ps1 +++ b/.claude/skills/meta-compile/scripts/meta-compile.ps1 @@ -1,4 +1,4 @@ -# meta-compile v1.113 — Compile 1C metadata object from JSON +# meta-compile v1.114 — Compile 1C metadata object from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills [CmdletBinding(PositionalBinding=$false)] param( @@ -982,10 +982,41 @@ function Emit-TypeContent { function Emit-ValueType { param([string]$indent, [string]$typeStr) X "$indent" + $mark = $script:xml.Length Emit-TypeContent "$indent`t" $typeStr + Warn-DefinedTypeInComposite $mark X "$indent" } +# Определяемый тип Конфигуратор даёт выбрать только ЕДИНСТВЕННЫМ, не одним из составного. +# Загрузчик такое принимает, и в типовой ERP один такой реквизит есть +# (Документ.НачислениеИСписаниеБонусныхБаллов.Баллы — два определяемых типа подряд), поэтому +# предупреждение, а не отказ: иначе навык не собрал бы того, что поставляет 1С. Соотношение в +# корпусе erp+acc — 6500 единственных против 1 составного. +function Warn-DefinedTypeInComposite([int]$fromLength) { + $frag = $script:xml.ToString().Substring($fromLength) + $members = [regex]::Matches($frag, '').Count + if ($members -lt 2) { return } + $dts = @() + foreach ($m in [regex]::Matches($frag, 'cfg:(DefinedType\.[^<]+)')) { $dts += $m.Groups[1].Value } + if ($dts.Count -gt 0) { + # Прямо в stderr, а не Write-Warning: в PS 5.1 предупреждение уходит не в тот поток + # (см. cf-init) и до expect.stderrContains не доезжает. + [Console]::Error.WriteLine("WARNING: Составной тип содержит определяемый тип (" + ($dts -join ', ') + + "). Конфигуратор даёт выбрать определяемый тип только единственным — собрать такое руками не получится. Платформа загрузит.") + } +} + +# Что из только что записанного фрагмента ушло МНОЖЕСТВОМ. Спрашиваем сам эмиттер, а не повторяем +# его регулярки: список видов, дающих v8:TypeSet, живёт в Emit-TypeContent, и вторая копия +# разъехалась бы с ним молча — ровно тот класс отказа, от которого держим гарды. +function Get-EmittedTypeSets([int]$fromLength) { + $sets = @() + $frag = $script:xml.ToString().Substring($fromLength) + foreach ($m in [regex]::Matches($frag, 'cfg:([^<]+)')) { $sets += $m.Groups[1].Value } + return $sets +} + # --- FillValue (значение заполнения реквизита) --- # Пара FillFromFillingValue+FillValue — единый блок «заполнения» (недоступен у реквизитов ТЧ). # Форма пустого FillValue зависит от типа реквизита (то же значение по умолчанию, что и «пустое» @@ -3044,7 +3075,20 @@ function Emit-DefinedTypeProperties { $vt = if ($def.valueType) { "$($def.valueType)" } elseif ($def.valueTypes) { (@($def.valueTypes) | ForEach-Object { "$_" }) -join ' + ' } else { '' } - if ($vt) { Emit-ValueType $i $vt } else { X "$i" } + if ($vt) { + # Состав определяемого типа — только конкретные типы. Тип-множество внутри платформа не + # принимает: загрузка падает целиком с «ОпределяемыйТип.<Имя> - Недопустимый тип» (замерено + # на 8.3.24.1691 для ОпределяемыйТип, Характеристика, ЛюбаяСсылка и голых ссылок). + # Отказываем здесь, чтобы ошибка называла причину, а не приходила из Конфигуратора. + $mark = $script:xml.Length + Emit-ValueType $i $vt + $sets = @(Get-EmittedTypeSets $mark) + if ($sets.Count -gt 0) { + Write-Error ("Определяемый тип '$objName': в составе тип-множество — " + ($sets -join ', ') + + ". Платформа такую конфигурацию не загрузит («Недопустимый тип»). Состав определяемого типа — только конкретные типы (CatalogRef.<Имя>, Number(15,2) и т.п.).") + exit 1 + } + } else { X "$i" } } function Emit-FunctionalOptionProperties { @@ -3603,7 +3647,18 @@ function Emit-ChartOfCharacteristicTypesProperties { $vt = $def.valueType; if (-not $vt -and $def.valueTypes) { $vt = ($def.valueTypes -join ' + ') } if ($vt) { X "$i" + $mark = $script:xml.Length Emit-TypeContent "$i`t" "$vt" + # Определяемый тип и характеристику Конфигуратор в типе значения ПВХ предлагает, а голый + # метатип (СправочникСсылка/ДокументСсылка/…) и ЛюбаяСсылка — нет: в дереве выбора это + # папки без флажка. Загрузку платформа пропускает, но ЛюбаяСсылка молча превращается в + # ЛюбаяСсылкуИБ на выгрузке. Предупреждаем: не ошибка, но руками так не собрать. + Warn-DefinedTypeInComposite $mark + foreach ($ts in @(Get-EmittedTypeSets $mark)) { + if ($ts -notmatch '^(DefinedType|Characteristic)\.') { + [Console]::Error.WriteLine("WARNING: План видов характеристик '$objName': тип значения '$ts' Конфигуратор не предлагает (в дереве выбора это папка без флажка). Платформа загрузит, но AnyRef вернётся как AnyIBRef. Обычно нужен конкретный тип или ОпределяемыйТип.<Имя>.") + } + } X "$i" } else { X "$i" diff --git a/.claude/skills/meta-compile/scripts/meta-compile.py b/.claude/skills/meta-compile/scripts/meta-compile.py index 1a3f142fe..4671e7464 100644 --- a/.claude/skills/meta-compile/scripts/meta-compile.py +++ b/.claude/skills/meta-compile/scripts/meta-compile.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# meta-compile v1.113 — Compile 1C metadata object from JSON +# meta-compile v1.114 — Compile 1C metadata object from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse @@ -1091,9 +1091,35 @@ def emit_type_content(indent, type_str): def emit_value_type(indent, type_str): X(f'{indent}') + mark = len(lines) emit_type_content(f'{indent}\t', type_str) + warn_defined_type_in_composite(mark) X(f'{indent}') +# Определяемый тип Конфигуратор даёт выбрать только ЕДИНСТВЕННЫМ, не одним из составного. +# Загрузчик такое принимает, и в типовой ERP один такой реквизит есть +# (Документ.НачислениеИСписаниеБонусныхБаллов.Баллы — два определяемых типа подряд), поэтому +# предупреждение, а не отказ: иначе навык не собрал бы того, что поставляет 1С. Соотношение в +# корпусе erp+acc — 6500 единственных против 1 составного. +def warn_defined_type_in_composite(from_index): + frag = chr(10).join(lines[from_index:]) + if len(re.findall(r'', frag)) < 2: + return + dts = re.findall(r'cfg:(DefinedType[.][^<]+)', frag) + if dts: + print("WARNING: Составной тип содержит определяемый тип (" + ', '.join(dts) + + "). Конфигуратор даёт выбрать определяемый тип только единственным — собрать такое " + "руками не получится. Платформа загрузит.", file=sys.stderr) + +# Что из только что записанного фрагмента ушло МНОЖЕСТВОМ. Спрашиваем сам эмиттер, а не повторяем +# его регулярки: список видов, дающих v8:TypeSet, живёт в emit_type_content, и вторая копия +# разъехалась бы с ним молча — ровно тот класс отказа, от которого держим гарды. +def get_emitted_type_sets(from_index): + out = [] + for ln in lines[from_index:]: + out += re.findall(r'cfg:([^<]+)', ln) + return out + # --- FillValue (значение заполнения реквизита) --- # Пара FillFromFillingValue+FillValue — единый блок «заполнения» (недоступен у реквизитов ТЧ). # Форма пустого FillValue зависит от типа реквизита (то же значение по умолчанию, что и «пустое» @@ -3132,7 +3158,19 @@ def emit_defined_type_properties(indent): else: vt = '' if vt: + # Состав определяемого типа — только конкретные типы. Тип-множество внутри платформа не + # принимает: загрузка падает целиком с «ОпределяемыйТип.<Имя> - Недопустимый тип» (замерено + # на 8.3.24.1691 для ОпределяемыйТип, Характеристика, ЛюбаяСсылка и голых ссылок). + # Отказываем здесь, чтобы ошибка называла причину, а не приходила из Конфигуратора. + mark = len(lines) emit_value_type(i, vt) + sets = get_emitted_type_sets(mark) + if sets: + print(f"Определяемый тип '{obj_name}': в составе тип-множество — " + ', '.join(sets) + + ". Платформа такую конфигурацию не загрузит («Недопустимый тип»). " + "Состав определяемого типа — только конкретные типы (CatalogRef.<Имя>, Number(15,2) и т.п.).", + file=sys.stderr) + sys.exit(1) else: X(f'{i}') @@ -3699,7 +3737,18 @@ def emit_chart_of_characteristic_types_properties(indent): vt = ' + '.join(defn['valueTypes']) if vt: X(f'{i}') + mark = len(lines) emit_type_content(f'{i}\t', str(vt)) + # Определяемый тип и характеристику Конфигуратор в типе значения ПВХ предлагает, а голый + # метатип (СправочникСсылка/ДокументСсылка/…) и ЛюбаяСсылка — нет: в дереве выбора это + # папки без флажка. Загрузку платформа пропускает, но ЛюбаяСсылка молча превращается в + # ЛюбаяСсылкуИБ на выгрузке. Предупреждаем: не ошибка, но руками так не собрать. + warn_defined_type_in_composite(mark) + for ts in get_emitted_type_sets(mark): + if not re.match(r'^(DefinedType|Characteristic)[.]', ts): + print(f"WARNING: План видов характеристик '{obj_name}': тип значения '{ts}' Конфигуратор не предлагает " + "(в дереве выбора это папка без флажка). Платформа загрузит, но AnyRef вернётся как AnyIBRef. " + "Обычно нужен конкретный тип или ОпределяемыйТип.<Имя>.", file=sys.stderr) X(f'{i}') else: X(f'{i}') diff --git a/.claude/skills/meta-validate/scripts/meta-validate.ps1 b/.claude/skills/meta-validate/scripts/meta-validate.ps1 index a1d291d74..c6fd1a751 100644 --- a/.claude/skills/meta-validate/scripts/meta-validate.ps1 +++ b/.claude/skills/meta-validate/scripts/meta-validate.ps1 @@ -1,4 +1,4 @@ -# meta-validate v1.28 — Validate 1C metadata object structure +# meta-validate v1.29 — Validate 1C metadata object structure # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills [CmdletBinding(PositionalBinding=$false)] param( @@ -1725,6 +1725,41 @@ if ($badGrammar.Count -eq 0 -and $notStorable.Count -eq 0 -and $unknownVocab.Cou Report-OK "22. Type names: $typesSeen checked" } +# --- Check 23: тип-множество там, где его не принимают --- +# Три уровня строгости, все замерены загрузкой в базу на 8.3.24.1691: +# ERROR — множество в составе определяемого типа: платформа отвергает файл целиком +# («ОпределяемыйТип.<Имя> - Недопустимый тип»), проверено на ОпределяемыйТип, +# Характеристика, ЛюбаяСсылка и голых ссылках; +# WARN — голый метатип в типе значения ПВХ: загрузка проходит, но Конфигуратор такой тип не +# предлагает (в дереве выбора это папка без флажка), а ЛюбаяСсылка на выгрузке +# возвращается как ЛюбаяСсылкаИБ; +# WARN — определяемый тип одним из составного: Конфигуратор даёт выбрать его только +# единственным. В корпусе erp+acc 6500 единственных против 1 составного — и этот один +# лежит в типовой ERP (Документ.НачислениеИСписаниеБонусныхБаллов.Баллы), поэтому не ошибка. +$typeBlocks23 = @($xmlDoc.SelectNodes("//md:Type | //md:ValueType", $ns)) +$dtSetsSeen = 0 +foreach ($tb in $typeBlocks23) { + $sets = @($tb.SelectNodes("v8:TypeSet", $ns)) + if ($sets.Count -eq 0) { continue } + $dtSetsSeen++ + $members = $tb.SelectNodes("v8:Type", $ns).Count + $sets.Count + $ownerKind = $tb.ParentNode.ParentNode.get_LocalName() # /… + foreach ($st in $sets) { + $raw = $st.InnerText.Trim() -replace '^(?:cfg|d\d+p\d+):', '' + if ($ownerKind -eq "DefinedType") { + Report-Error "23. Определяемый тип '$objName': в составе тип-множество '$raw' — платформа не загрузит такой файл («Недопустимый тип»). Состав определяемого типа — только конкретные типы" + continue + } + if ($ownerKind -eq "ChartOfCharacteristicTypes" -and $raw -notmatch '^(DefinedType|Characteristic)\.') { + Report-Warn "23. План видов характеристик '$objName': тип значения '$raw' Конфигуратор не предлагает (в дереве выбора это папка без флажка); ЛюбаяСсылка на выгрузке вернётся как ЛюбаяСсылкаИБ" + } + if ($members -gt 1 -and $raw -match '^DefinedType\.') { + Report-Warn "23. Составной тип содержит определяемый тип '$raw' — Конфигуратор даёт выбрать его только единственным; платформа загрузит" + } + } +} +if ($dtSetsSeen -gt 0) { Report-OK "23. Type sets: $dtSetsSeen block(s) checked" } + # --- Check 18: свойства, появившиеся в новых версиях формата --- # Реестр «тег → минимальная версия формата». Служит двум целям: (1) поймать свойство в файле со # слишком старым штампом — при сборке на старой платформе оно будет молча отброшено (платформа diff --git a/.claude/skills/meta-validate/scripts/meta-validate.py b/.claude/skills/meta-validate/scripts/meta-validate.py index 175ccf6ae..b01fb29d9 100644 --- a/.claude/skills/meta-validate/scripts/meta-validate.py +++ b/.claude/skills/meta-validate/scripts/meta-validate.py @@ -1,4 +1,4 @@ -# meta-validate v1.28 — Validate 1C metadata object structure (Python port) +# meta-validate v1.29 — Validate 1C metadata object structure (Python port) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import os @@ -1666,6 +1666,38 @@ for uk in sorted(unknown_vocab): if not bad_grammar and not not_storable and not unknown_vocab and types_seen: report_ok(f"22. Type names: {types_seen} checked") +# ── Check 23: тип-множество там, где его не принимают ── +# Три уровня строгости, все замерены загрузкой в базу на 8.3.24.1691: +# ERROR — множество в составе определяемого типа: платформа отвергает файл целиком +# («ОпределяемыйТип.<Имя> - Недопустимый тип»), проверено на ОпределяемыйТип, +# Характеристика, ЛюбаяСсылка и голых ссылках; +# WARN — голый метатип в типе значения ПВХ: загрузка проходит, но Конфигуратор такой тип не +# предлагает (в дереве выбора это папка без флажка), а ЛюбаяСсылка на выгрузке +# возвращается как ЛюбаяСсылкаИБ; +# WARN — определяемый тип одним из составного: Конфигуратор даёт выбрать его только +# единственным. В корпусе erp+acc 6500 единственных против 1 составного — и этот один +# лежит в типовой ERP (Документ.НачислениеИСписаниеБонусныхБаллов.Баллы), поэтому не ошибка. +dt_sets_seen = 0 +for tb in root.xpath("//md:Type | //md:ValueType", namespaces=NS): + sets = tb.xpath("v8:TypeSet", namespaces=NS) + if not sets: + continue + dt_sets_seen += 1 + members = len(tb.xpath("v8:Type", namespaces=NS)) + len(sets) + owner = tb.getparent().getparent() + owner_kind = etree.QName(owner.tag).localname if owner is not None else "" + for st in sets: + raw = re.sub(r'^(?:cfg|d\d+p\d+):', '', (st.text or "").strip()) + if owner_kind == "DefinedType": + report_error(f"23. Определяемый тип '{obj_name}': в составе тип-множество '{raw}' — платформа не загрузит такой файл («Недопустимый тип»). Состав определяемого типа — только конкретные типы") + continue + if owner_kind == "ChartOfCharacteristicTypes" and not re.match(r'^(DefinedType|Characteristic)[.]', raw): + report_warn(f"23. План видов характеристик '{obj_name}': тип значения '{raw}' Конфигуратор не предлагает (в дереве выбора это папка без флажка); ЛюбаяСсылка на выгрузке вернётся как ЛюбаяСсылкаИБ") + if members > 1 and re.match(r'^DefinedType[.]', raw): + report_warn(f"23. Составной тип содержит определяемый тип '{raw}' — Конфигуратор даёт выбрать его только единственным; платформа загрузит") +if dt_sets_seen: + report_ok(f"23. Type sets: {dt_sets_seen} block(s) checked") + # ── Check 18: свойства, появившиеся в новых версиях формата ── # Реестр «тег → минимальная версия формата». Служит двум целям: (1) поймать свойство в файле со # слишком старым штампом — при сборке на старой платформе оно будет молча отброшено (платформа diff --git a/docs/meta-dsl-spec.md b/docs/meta-dsl-spec.md index 53d11d38a..cb2f248b8 100644 --- a/docs/meta-dsl-spec.md +++ b/docs/meta-dsl-spec.md @@ -144,10 +144,15 @@ JSON DSL для описания объектов метаданных конф Прочие менеджеры (`CatalogManager`, `DocumentManager`, …) множеством НЕ являются: голый менеджер пишется обычным `v8:Type`. -Внутри `DefinedType` тип-множество **запрещено**: платформа отвечает «Недопустимый тип» и на -`AnyRef`, и на голый `CatalogRef`, и на `Characteristic.Xxx`, и на вложенный `DefinedType.Xxx` -(замерено на 8.3.24.1691 загрузкой в базу; контрольный вариант с обычным `CatalogRef.Xxx` принят). -Состав определяемого типа — только конкретные типы. +**Где множество принимают.** Три уровня, все замерены на 8.3.24.1691 загрузкой в базу: + +| Контейнер | Что можно | Чем отвечает платформа | +|-----------|-----------|------------------------| +| `DefinedType` (состав) | только конкретные типы | «Недопустимый тип» и файл не грузится — на `AnyRef`, голый `CatalogRef`, `Characteristic.Xxx` и вложенный `DefinedType.Xxx`; контрольный `CatalogRef.Xxx` принят | +| ПВХ (`Type`/тип значения) | `DefinedType.Xxx`, `Characteristic.Xxx` | голый метатип и `AnyRef` тоже грузятся, но Конфигуратор их не предлагает (в дереве выбора это папки без флажка), а `AnyRef` возвращается с выгрузки как `AnyIBRef` | +| любой составной тип | `DefinedType.Xxx` только ЕДИНСТВЕННЫМ | одним из составного Конфигуратор выбрать не даёт, но загрузчик принимает: в корпусе erp+acc 6500 единственных против 1 составного, и этот один — в типовой ERP (`Документ.НачислениеИСписаниеБонусныхБаллов.Баллы`) | + +Отсюда разная строгость проверок: состав определяемого типа — ошибка, остальные два — предупреждение. Вывод `meta-info` печатает голое множество с суффиксом «(все)» (`ДокументОбъект (все)`) — отличать «все» от «один» по наличию точки посреди длинного имени ненадёжно. Суффикс принимается и на входе diff --git a/tests/skills/cases/meta-compile/error-typeset-in-defined-type.json b/tests/skills/cases/meta-compile/error-typeset-in-defined-type.json new file mode 100644 index 000000000..1b49bc3f8 --- /dev/null +++ b/tests/skills/cases/meta-compile/error-typeset-in-defined-type.json @@ -0,0 +1,12 @@ +{ + "name": "Ошибка: тип-множество в составе определяемого типа — платформа такой файл не загрузит", + "input": { + "type": "DefinedType", + "name": "Любой", + "valueTypes": [ + "CatalogRef.Товары", + "AnyRef" + ] + }, + "expectError": "в составе тип-множество" +} diff --git a/tests/skills/cases/meta-compile/snapshots/warn-cct-bare-metatype/ChartsOfCharacteristicTypes/Виды.xml b/tests/skills/cases/meta-compile/snapshots/warn-cct-bare-metatype/ChartsOfCharacteristicTypes/Виды.xml new file mode 100644 index 000000000..61337cda7 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/warn-cct-bare-metatype/ChartsOfCharacteristicTypes/Виды.xml @@ -0,0 +1,94 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + UUID-012 + UUID-013 + + + + Виды + + + ru + Виды + + + + true + false + + + cfg:CatalogRef.Товары + cfg:DocumentRef + + false + true + 9 + Variable + 100 + WholeCharacteristicKind + true + true + AsDescription + + Auto + InDialog + false + BothWays + + ChartOfCharacteristicTypes.Виды.StandardAttribute.Description + ChartOfCharacteristicTypes.Виды.StandardAttribute.Code + + DontUse + Begin + Directly + DontUse + Auto + + + + + + + + + + + + + Managed + Use + + + + + + DontUse + false + false + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/warn-cct-bare-metatype/ChartsOfCharacteristicTypes/Виды/Ext/ObjectModule.bsl b/tests/skills/cases/meta-compile/snapshots/warn-cct-bare-metatype/ChartsOfCharacteristicTypes/Виды/Ext/ObjectModule.bsl new file mode 100644 index 000000000..e69de29bb diff --git a/tests/skills/cases/meta-compile/snapshots/warn-cct-bare-metatype/Configuration.xml b/tests/skills/cases/meta-compile/snapshots/warn-cct-bare-metatype/Configuration.xml new file mode 100644 index 000000000..4dbb33b21 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/warn-cct-bare-metatype/Configuration.xml @@ -0,0 +1,252 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + UUID-012 + UUID-013 + + + UUID-014 + UUID-015 + + + + TestConfig + + + ru + TestConfig + + + + + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + + + + false + false + false + + + + + + + + + + + + + + + + + + + + + + Biometrics + true + + + Location + false + + + BackgroundLocation + false + + + BluetoothPrinters + false + + + WiFiPrinters + false + + + Contacts + false + + + Calendars + false + + + PushNotifications + false + + + LocalNotifications + false + + + InAppPurchases + false + + + PersonalComputerFileExchange + false + + + Ads + false + + + NumberDialing + false + + + CallProcessing + false + + + CallLog + false + + + AutoSendSMS + false + + + ReceiveSMS + false + + + SMSLog + false + + + Camera + false + + + Microphone + false + + + MusicLibrary + false + + + PictureAndVideoLibraries + false + + + AudioPlaybackAndVibration + false + + + BackgroundAudioPlaybackAndVibration + false + + + InstallPackages + false + + + OSBackup + true + + + ApplicationUsageStatistics + false + + + BarcodeScanning + false + + + BackgroundAudioRecording + false + + + AllFilesAccess + false + + + Videoconferences + false + + + NFC + false + + + DocumentScanning + false + + + SpeechToText + false + + + Geofences + false + + + IncomingShareRequests + false + + + AllIncomingShareRequestsTypesProcessing + false + + + + + + Normal + + + Language.Русский + + + + + + Managed + NotAutoFree + DontUse + DontUse + TaxiEnableVersion8_2 + DontUse + Version8_3_24 + + + + Русский + Виды + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/warn-cct-bare-metatype/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/warn-cct-bare-metatype/Ext/ClientApplicationInterface.xml new file mode 100644 index 000000000..3c1161b2d --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/warn-cct-bare-metatype/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/warn-cct-bare-metatype/Languages/Русский.xml b/tests/skills/cases/meta-compile/snapshots/warn-cct-bare-metatype/Languages/Русский.xml new file mode 100644 index 000000000..37c60d786 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/warn-cct-bare-metatype/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/warn-composite-defined-type/Catalogs/Договоры.xml b/tests/skills/cases/meta-compile/snapshots/warn-composite-defined-type/Catalogs/Договоры.xml new file mode 100644 index 000000000..371a47738 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/warn-composite-defined-type/Catalogs/Договоры.xml @@ -0,0 +1,133 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + + Договоры + + + ru + Договоры + + + + false + HierarchyFoldersAndItems + false + 2 + true + true + + ToItems + 9 + 25 + String + Variable + WholeCatalog + false + true + AsDescription + + Auto + InDialog + false + BothWays + + Catalog.Договоры.StandardAttribute.Description + Catalog.Договоры.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + + + false + + + Managed + Use + + + + + + Use + Auto + DontUse + false + false + + + + + Баллы + + + ru + Баллы + + + + + cfg:DefinedType.Сумма + xs:boolean + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + Use + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/warn-composite-defined-type/Catalogs/Договоры/Ext/ObjectModule.bsl b/tests/skills/cases/meta-compile/snapshots/warn-composite-defined-type/Catalogs/Договоры/Ext/ObjectModule.bsl new file mode 100644 index 000000000..e69de29bb diff --git a/tests/skills/cases/meta-compile/snapshots/warn-composite-defined-type/Configuration.xml b/tests/skills/cases/meta-compile/snapshots/warn-composite-defined-type/Configuration.xml new file mode 100644 index 000000000..ddab7cac0 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/warn-composite-defined-type/Configuration.xml @@ -0,0 +1,252 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + UUID-012 + UUID-013 + + + UUID-014 + UUID-015 + + + + TestConfig + + + ru + TestConfig + + + + + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + + + + false + false + false + + + + + + + + + + + + + + + + + + + + + + Biometrics + true + + + Location + false + + + BackgroundLocation + false + + + BluetoothPrinters + false + + + WiFiPrinters + false + + + Contacts + false + + + Calendars + false + + + PushNotifications + false + + + LocalNotifications + false + + + InAppPurchases + false + + + PersonalComputerFileExchange + false + + + Ads + false + + + NumberDialing + false + + + CallProcessing + false + + + CallLog + false + + + AutoSendSMS + false + + + ReceiveSMS + false + + + SMSLog + false + + + Camera + false + + + Microphone + false + + + MusicLibrary + false + + + PictureAndVideoLibraries + false + + + AudioPlaybackAndVibration + false + + + BackgroundAudioPlaybackAndVibration + false + + + InstallPackages + false + + + OSBackup + true + + + ApplicationUsageStatistics + false + + + BarcodeScanning + false + + + BackgroundAudioRecording + false + + + AllFilesAccess + false + + + Videoconferences + false + + + NFC + false + + + DocumentScanning + false + + + SpeechToText + false + + + Geofences + false + + + IncomingShareRequests + false + + + AllIncomingShareRequestsTypesProcessing + false + + + + + + Normal + + + Language.Русский + + + + + + Managed + NotAutoFree + DontUse + DontUse + TaxiEnableVersion8_2 + DontUse + Version8_3_24 + + + + Русский + Договоры + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/warn-composite-defined-type/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/warn-composite-defined-type/Ext/ClientApplicationInterface.xml new file mode 100644 index 000000000..3c1161b2d --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/warn-composite-defined-type/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/warn-composite-defined-type/Languages/Русский.xml b/tests/skills/cases/meta-compile/snapshots/warn-composite-defined-type/Languages/Русский.xml new file mode 100644 index 000000000..37c60d786 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/warn-composite-defined-type/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/warn-cct-bare-metatype.json b/tests/skills/cases/meta-compile/warn-cct-bare-metatype.json new file mode 100644 index 000000000..761a66cb2 --- /dev/null +++ b/tests/skills/cases/meta-compile/warn-cct-bare-metatype.json @@ -0,0 +1,17 @@ +{ + "name": "Предупреждение: голый метатип в типе значения ПВХ — Конфигуратор его не предлагает", + "input": { + "type": "ChartOfCharacteristicTypes", + "name": "Виды", + "valueTypes": [ + "CatalogRef.Товары", + "DocumentRef" + ] + }, + "expect": { + "stderrContains": [ + "Конфигуратор не предлагает", + "AnyRef вернётся как AnyIBRef" + ] + } +} diff --git a/tests/skills/cases/meta-compile/warn-composite-defined-type.json b/tests/skills/cases/meta-compile/warn-composite-defined-type.json new file mode 100644 index 000000000..57760a7dd --- /dev/null +++ b/tests/skills/cases/meta-compile/warn-composite-defined-type.json @@ -0,0 +1,16 @@ +{ + "name": "Предупреждение: определяемый тип одним из составного — выбрать его можно только единственным", + "input": { + "type": "Catalog", + "name": "Договоры", + "attributes": [ + "Баллы: DefinedType.Сумма + Boolean" + ] + }, + "expect": { + "stderrContains": [ + "Составной тип содержит определяемый тип (DefinedType.Сумма)", + "только единственным" + ] + } +} diff --git a/tests/skills/cases/meta-validate/error-typeset-in-defined-type.json b/tests/skills/cases/meta-validate/error-typeset-in-defined-type.json new file mode 100644 index 000000000..dc0b38fd6 --- /dev/null +++ b/tests/skills/cases/meta-validate/error-typeset-in-defined-type.json @@ -0,0 +1,14 @@ +{ + "name": "Валидатор находит ошибку: тип-множество в составе определяемого типа", + "setup": "fixture:defined-type-typeset", + "params": { + "objectPath": "DefinedTypes/Любой.xml" + }, + "expectError": true, + "expect": { + "stdoutContains": [ + "23. Определяемый тип 'Любой': в составе тип-множество 'AnyRef'", + "платформа не загрузит такой файл" + ] + } +} diff --git a/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Catalogs/Договоры.xml b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Catalogs/Договоры.xml new file mode 100644 index 000000000..f1d9c81b6 --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Catalogs/Договоры.xml @@ -0,0 +1,133 @@ + + + + + + 879ab322-0a23-4d32-af22-96d9eb789484 + 96f74360-f91b-4bac-b4f7-d7a937d5c141 + + + 3e050092-5076-42b5-b6ad-2b957f9cfbaa + 22a8f673-385c-484a-b3b3-c2bf44c6c024 + + + 2be7c3c3-da2b-4ff1-8a7a-a842978a19be + 94f7429a-7807-4a6f-90cf-b3b9eb6ffffc + + + aa1372e2-63d6-46d4-bebc-a69d5f493f7e + 0cbb9f42-b7c1-44e7-9e38-4aaddc0fd56e + + + 09d6e1e0-c98d-47ff-8a89-db17c254d528 + 37085dec-b80d-4c98-9df7-fd1fff274d92 + + + + Договоры + + + ru + Договоры + + + + false + HierarchyFoldersAndItems + false + 2 + true + true + + ToItems + 9 + 25 + String + Variable + WholeCatalog + false + true + AsDescription + + Auto + InDialog + false + BothWays + + Catalog.Договоры.StandardAttribute.Description + Catalog.Договоры.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + + + false + + + Managed + Use + + + + + + Use + Auto + DontUse + false + false + + + + + Баллы + + + ru + Баллы + + + + + cfg:DefinedType.Сумма + xs:boolean + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + Use + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Catalogs/Договоры/Ext/ObjectModule.bsl b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Catalogs/Договоры/Ext/ObjectModule.bsl new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Catalogs/Договоры/Ext/ObjectModule.bsl @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Catalogs/Товары.xml b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Catalogs/Товары.xml new file mode 100644 index 000000000..cdf505ea7 --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Catalogs/Товары.xml @@ -0,0 +1,91 @@ + + + + + + 38dcf22d-6c48-4b18-ab8e-36b05849840c + 3a5d0966-1c0e-4b50-9991-05ebb3ec3674 + + + 1d3bcdc9-807b-4733-8809-badaeb94e238 + a3acf95e-efbe-4bce-b7ed-208807e1774c + + + 9ddfcaf0-f7f2-4d4d-b6d7-57421e536486 + 33089d81-4132-42b0-b2e0-9cec6b5f8082 + + + ae5a08b8-f0a7-4fd4-adc3-dd4d322042d6 + b4be3782-d12c-4ffa-aeae-7d33a840f1ef + + + ea51679d-fab9-435a-95e3-63b6ba5eeb87 + 1463bdc4-86fe-4a0d-8c6b-3d45b243a7f4 + + + + Товары + + + ru + Товары + + + + false + HierarchyFoldersAndItems + false + 2 + true + true + + ToItems + 9 + 25 + String + Variable + WholeCatalog + false + true + AsDescription + + Auto + InDialog + false + BothWays + + Catalog.Товары.StandardAttribute.Description + Catalog.Товары.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + + + false + + + Managed + Use + + + + + + Use + Auto + DontUse + false + false + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Catalogs/Товары/Ext/ObjectModule.bsl b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Catalogs/Товары/Ext/ObjectModule.bsl new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Catalogs/Товары/Ext/ObjectModule.bsl @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/ChartsOfCharacteristicTypes/Виды.xml b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/ChartsOfCharacteristicTypes/Виды.xml new file mode 100644 index 000000000..d3739597e --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/ChartsOfCharacteristicTypes/Виды.xml @@ -0,0 +1,94 @@ + + + + + + 5b6c060c-b619-4812-8b67-5da0662545ec + 326ce2d0-4a3e-437d-a4ba-358424401507 + + + 6b063444-f7ea-4076-afb7-beff35173293 + 9b82ecdd-b82b-404c-9697-a351a53214f3 + + + 83d360ff-f96d-48bc-9b15-a3aa7f6667f0 + 69d2c405-def5-4df8-aaf4-94904923efce + + + e2f1ab7a-3560-4aaa-ab38-0146bcf09c7f + 0f7dbb32-b5ac-41d6-be08-c5c3f7c23060 + + + 8faec1f1-b777-44a3-8528-4c88b1cb7972 + ce7680b7-f6c0-40c6-844e-fd2fbd576604 + + + 7e5e3184-47ab-4e9c-90c3-1a4361bb0b1c + 0f38cea5-8375-45e6-9ff6-e7b6e6db0846 + + + + Виды + + + ru + Виды + + + + true + false + + + cfg:CatalogRef.Товары + cfg:DocumentRef + + false + true + 9 + Variable + 100 + WholeCharacteristicKind + true + true + AsDescription + + Auto + InDialog + false + BothWays + + ChartOfCharacteristicTypes.Виды.StandardAttribute.Description + ChartOfCharacteristicTypes.Виды.StandardAttribute.Code + + DontUse + Begin + Directly + DontUse + Auto + + + + + + + + + + + + + Managed + Use + + + + + + DontUse + false + false + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/ChartsOfCharacteristicTypes/Виды/Ext/ObjectModule.bsl b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/ChartsOfCharacteristicTypes/Виды/Ext/ObjectModule.bsl new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/ChartsOfCharacteristicTypes/Виды/Ext/ObjectModule.bsl @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Configuration.xml b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Configuration.xml new file mode 100644 index 000000000..521ecd4a1 --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Configuration.xml @@ -0,0 +1,255 @@ + + + + + + 9cd510cd-abfc-11d4-9434-004095e12fc7 + 8c1992dc-3820-4f3e-8982-4c1280330596 + + + 9fcd25a0-4822-11d4-9414-008048da11f9 + 893deb6e-836a-4abd-83fe-ead3967dc8bf + + + e3687481-0a87-462c-a166-9f34594f9bba + 50904437-b6fd-4449-8894-5bb30a534a62 + + + 9de14907-ec23-4a07-96f0-85521cb6b53b + 07a34258-31a1-4834-8acd-432327cb2e8a + + + 51f2d5d8-ea4d-4064-8892-82951750031e + 2550c350-7a8f-4a40-ab55-8dd1644d0c2b + + + e68182ea-4237-4383-967f-90c1e3370bc7 + 27a2c876-5f07-4e5c-a468-35ab088dae29 + + + fb282519-d103-4dd3-bc12-cb271d631dfc + 27b24f43-8dc9-45cb-89ab-e88df4bf5df2 + + + + Пр + + + ru + Пр + + + + + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + + + + false + false + false + + + + + + + + + + + + + + + + + + + + + + Biometrics + true + + + Location + false + + + BackgroundLocation + false + + + BluetoothPrinters + false + + + WiFiPrinters + false + + + Contacts + false + + + Calendars + false + + + PushNotifications + false + + + LocalNotifications + false + + + InAppPurchases + false + + + PersonalComputerFileExchange + false + + + Ads + false + + + NumberDialing + false + + + CallProcessing + false + + + CallLog + false + + + AutoSendSMS + false + + + ReceiveSMS + false + + + SMSLog + false + + + Camera + false + + + Microphone + false + + + MusicLibrary + false + + + PictureAndVideoLibraries + false + + + AudioPlaybackAndVibration + false + + + BackgroundAudioPlaybackAndVibration + false + + + InstallPackages + false + + + OSBackup + true + + + ApplicationUsageStatistics + false + + + BarcodeScanning + false + + + BackgroundAudioRecording + false + + + AllFilesAccess + false + + + Videoconferences + false + + + NFC + false + + + DocumentScanning + false + + + SpeechToText + false + + + Geofences + false + + + IncomingShareRequests + false + + + AllIncomingShareRequestsTypesProcessing + false + + + + + + Normal + + + Language.Русский + + + + + + Managed + NotAutoFree + DontUse + DontUse + TaxiEnableVersion8_2 + DontUse + Version8_3_24 + + + + Русский + Сумма + Товары + Договоры + Виды + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/DefinedTypes/Сумма.xml b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/DefinedTypes/Сумма.xml new file mode 100644 index 000000000..f777134f2 --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/DefinedTypes/Сумма.xml @@ -0,0 +1,29 @@ + + + + + + eebd98a3-b997-4c34-8b33-490f5ee9384e + 6b4ae6c9-b2b1-4b7a-8546-422492944bd7 + + + + Сумма + + + ru + Сумма + + + + + xs:decimal + + 15 + 2 + Any + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Ext/ClientApplicationInterface.xml new file mode 100644 index 000000000..d76751ba3 --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + cbab57f2-a0f3-4f0a-89ea-4cb19570ab75 + + + + + b553047f-c9aa-4157-978d-448ecad24248 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Languages/Русский.xml b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Languages/Русский.xml new file mode 100644 index 000000000..bc169b48a --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/cct-bare-metatype/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Catalogs/Договоры.xml b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Catalogs/Договоры.xml new file mode 100644 index 000000000..f1d9c81b6 --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Catalogs/Договоры.xml @@ -0,0 +1,133 @@ + + + + + + 879ab322-0a23-4d32-af22-96d9eb789484 + 96f74360-f91b-4bac-b4f7-d7a937d5c141 + + + 3e050092-5076-42b5-b6ad-2b957f9cfbaa + 22a8f673-385c-484a-b3b3-c2bf44c6c024 + + + 2be7c3c3-da2b-4ff1-8a7a-a842978a19be + 94f7429a-7807-4a6f-90cf-b3b9eb6ffffc + + + aa1372e2-63d6-46d4-bebc-a69d5f493f7e + 0cbb9f42-b7c1-44e7-9e38-4aaddc0fd56e + + + 09d6e1e0-c98d-47ff-8a89-db17c254d528 + 37085dec-b80d-4c98-9df7-fd1fff274d92 + + + + Договоры + + + ru + Договоры + + + + false + HierarchyFoldersAndItems + false + 2 + true + true + + ToItems + 9 + 25 + String + Variable + WholeCatalog + false + true + AsDescription + + Auto + InDialog + false + BothWays + + Catalog.Договоры.StandardAttribute.Description + Catalog.Договоры.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + + + false + + + Managed + Use + + + + + + Use + Auto + DontUse + false + false + + + + + Баллы + + + ru + Баллы + + + + + cfg:DefinedType.Сумма + xs:boolean + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + Use + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Catalogs/Договоры/Ext/ObjectModule.bsl b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Catalogs/Договоры/Ext/ObjectModule.bsl new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Catalogs/Договоры/Ext/ObjectModule.bsl @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Catalogs/Товары.xml b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Catalogs/Товары.xml new file mode 100644 index 000000000..cdf505ea7 --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Catalogs/Товары.xml @@ -0,0 +1,91 @@ + + + + + + 38dcf22d-6c48-4b18-ab8e-36b05849840c + 3a5d0966-1c0e-4b50-9991-05ebb3ec3674 + + + 1d3bcdc9-807b-4733-8809-badaeb94e238 + a3acf95e-efbe-4bce-b7ed-208807e1774c + + + 9ddfcaf0-f7f2-4d4d-b6d7-57421e536486 + 33089d81-4132-42b0-b2e0-9cec6b5f8082 + + + ae5a08b8-f0a7-4fd4-adc3-dd4d322042d6 + b4be3782-d12c-4ffa-aeae-7d33a840f1ef + + + ea51679d-fab9-435a-95e3-63b6ba5eeb87 + 1463bdc4-86fe-4a0d-8c6b-3d45b243a7f4 + + + + Товары + + + ru + Товары + + + + false + HierarchyFoldersAndItems + false + 2 + true + true + + ToItems + 9 + 25 + String + Variable + WholeCatalog + false + true + AsDescription + + Auto + InDialog + false + BothWays + + Catalog.Товары.StandardAttribute.Description + Catalog.Товары.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + + + false + + + Managed + Use + + + + + + Use + Auto + DontUse + false + false + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Catalogs/Товары/Ext/ObjectModule.bsl b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Catalogs/Товары/Ext/ObjectModule.bsl new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Catalogs/Товары/Ext/ObjectModule.bsl @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/composite-defined-type/ChartsOfCharacteristicTypes/Виды.xml b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/ChartsOfCharacteristicTypes/Виды.xml new file mode 100644 index 000000000..d3739597e --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/ChartsOfCharacteristicTypes/Виды.xml @@ -0,0 +1,94 @@ + + + + + + 5b6c060c-b619-4812-8b67-5da0662545ec + 326ce2d0-4a3e-437d-a4ba-358424401507 + + + 6b063444-f7ea-4076-afb7-beff35173293 + 9b82ecdd-b82b-404c-9697-a351a53214f3 + + + 83d360ff-f96d-48bc-9b15-a3aa7f6667f0 + 69d2c405-def5-4df8-aaf4-94904923efce + + + e2f1ab7a-3560-4aaa-ab38-0146bcf09c7f + 0f7dbb32-b5ac-41d6-be08-c5c3f7c23060 + + + 8faec1f1-b777-44a3-8528-4c88b1cb7972 + ce7680b7-f6c0-40c6-844e-fd2fbd576604 + + + 7e5e3184-47ab-4e9c-90c3-1a4361bb0b1c + 0f38cea5-8375-45e6-9ff6-e7b6e6db0846 + + + + Виды + + + ru + Виды + + + + true + false + + + cfg:CatalogRef.Товары + cfg:DocumentRef + + false + true + 9 + Variable + 100 + WholeCharacteristicKind + true + true + AsDescription + + Auto + InDialog + false + BothWays + + ChartOfCharacteristicTypes.Виды.StandardAttribute.Description + ChartOfCharacteristicTypes.Виды.StandardAttribute.Code + + DontUse + Begin + Directly + DontUse + Auto + + + + + + + + + + + + + Managed + Use + + + + + + DontUse + false + false + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/composite-defined-type/ChartsOfCharacteristicTypes/Виды/Ext/ObjectModule.bsl b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/ChartsOfCharacteristicTypes/Виды/Ext/ObjectModule.bsl new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/ChartsOfCharacteristicTypes/Виды/Ext/ObjectModule.bsl @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Configuration.xml b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Configuration.xml new file mode 100644 index 000000000..521ecd4a1 --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Configuration.xml @@ -0,0 +1,255 @@ + + + + + + 9cd510cd-abfc-11d4-9434-004095e12fc7 + 8c1992dc-3820-4f3e-8982-4c1280330596 + + + 9fcd25a0-4822-11d4-9414-008048da11f9 + 893deb6e-836a-4abd-83fe-ead3967dc8bf + + + e3687481-0a87-462c-a166-9f34594f9bba + 50904437-b6fd-4449-8894-5bb30a534a62 + + + 9de14907-ec23-4a07-96f0-85521cb6b53b + 07a34258-31a1-4834-8acd-432327cb2e8a + + + 51f2d5d8-ea4d-4064-8892-82951750031e + 2550c350-7a8f-4a40-ab55-8dd1644d0c2b + + + e68182ea-4237-4383-967f-90c1e3370bc7 + 27a2c876-5f07-4e5c-a468-35ab088dae29 + + + fb282519-d103-4dd3-bc12-cb271d631dfc + 27b24f43-8dc9-45cb-89ab-e88df4bf5df2 + + + + Пр + + + ru + Пр + + + + + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + + + + false + false + false + + + + + + + + + + + + + + + + + + + + + + Biometrics + true + + + Location + false + + + BackgroundLocation + false + + + BluetoothPrinters + false + + + WiFiPrinters + false + + + Contacts + false + + + Calendars + false + + + PushNotifications + false + + + LocalNotifications + false + + + InAppPurchases + false + + + PersonalComputerFileExchange + false + + + Ads + false + + + NumberDialing + false + + + CallProcessing + false + + + CallLog + false + + + AutoSendSMS + false + + + ReceiveSMS + false + + + SMSLog + false + + + Camera + false + + + Microphone + false + + + MusicLibrary + false + + + PictureAndVideoLibraries + false + + + AudioPlaybackAndVibration + false + + + BackgroundAudioPlaybackAndVibration + false + + + InstallPackages + false + + + OSBackup + true + + + ApplicationUsageStatistics + false + + + BarcodeScanning + false + + + BackgroundAudioRecording + false + + + AllFilesAccess + false + + + Videoconferences + false + + + NFC + false + + + DocumentScanning + false + + + SpeechToText + false + + + Geofences + false + + + IncomingShareRequests + false + + + AllIncomingShareRequestsTypesProcessing + false + + + + + + Normal + + + Language.Русский + + + + + + Managed + NotAutoFree + DontUse + DontUse + TaxiEnableVersion8_2 + DontUse + Version8_3_24 + + + + Русский + Сумма + Товары + Договоры + Виды + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/composite-defined-type/DefinedTypes/Сумма.xml b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/DefinedTypes/Сумма.xml new file mode 100644 index 000000000..f777134f2 --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/DefinedTypes/Сумма.xml @@ -0,0 +1,29 @@ + + + + + + eebd98a3-b997-4c34-8b33-490f5ee9384e + 6b4ae6c9-b2b1-4b7a-8546-422492944bd7 + + + + Сумма + + + ru + Сумма + + + + + xs:decimal + + 15 + 2 + Any + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Ext/ClientApplicationInterface.xml new file mode 100644 index 000000000..d76751ba3 --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + cbab57f2-a0f3-4f0a-89ea-4cb19570ab75 + + + + + b553047f-c9aa-4157-978d-448ecad24248 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Languages/Русский.xml b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Languages/Русский.xml new file mode 100644 index 000000000..bc169b48a --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/composite-defined-type/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Catalogs/Товары.xml b/tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Catalogs/Товары.xml new file mode 100644 index 000000000..f91b89a4c --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Catalogs/Товары.xml @@ -0,0 +1,91 @@ + + + + + + 677f6f96-b0d6-40b5-814d-a1ef5723abf5 + e02f40d7-47e9-472d-b15a-fe29ee5e95ad + + + 5ea2b1a1-b009-486c-876b-fe29bca59391 + 077bb116-6bba-4e15-85c7-a2b2b4a6cc66 + + + 9f33c2b0-aaad-4ed9-bb92-ca0824bc207d + e33c9910-db82-4beb-a145-c29555c3ea1e + + + 06b2befe-8966-4ab1-a544-d84b7be92bb2 + 24304c64-5db9-4199-b66a-65df1d850986 + + + 65fd9c64-5d98-47c3-b978-43055bde20a7 + ac4f96ba-01a8-4c31-bd1e-46b7be3257a7 + + + + Товары + + + ru + Товары + + + + false + HierarchyFoldersAndItems + false + 2 + true + true + + ToItems + 9 + 25 + String + Variable + WholeCatalog + false + true + AsDescription + + Auto + InDialog + false + BothWays + + Catalog.Товары.StandardAttribute.Description + Catalog.Товары.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + + + false + + + Managed + Use + + + + + + Use + Auto + DontUse + false + false + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Catalogs/Товары/Ext/ObjectModule.bsl b/tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Catalogs/Товары/Ext/ObjectModule.bsl new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Catalogs/Товары/Ext/ObjectModule.bsl @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Configuration.xml b/tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Configuration.xml new file mode 100644 index 000000000..aca84382f --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Configuration.xml @@ -0,0 +1,253 @@ + + + + + + 9cd510cd-abfc-11d4-9434-004095e12fc7 + df5deb8c-c936-4ab2-aea5-52290178a868 + + + 9fcd25a0-4822-11d4-9414-008048da11f9 + b942f0b8-d8dd-41a8-b339-d3a8a211196a + + + e3687481-0a87-462c-a166-9f34594f9bba + caa34d25-45b8-41d5-8216-abd12c24cddd + + + 9de14907-ec23-4a07-96f0-85521cb6b53b + 3e2b4d5d-793b-4fba-9e51-673a0a110d33 + + + 51f2d5d8-ea4d-4064-8892-82951750031e + 50b65b4a-308a-4405-9482-4e271eb466bf + + + e68182ea-4237-4383-967f-90c1e3370bc7 + 806f69f6-4814-4ccb-a124-e0fe3c270ff2 + + + fb282519-d103-4dd3-bc12-cb271d631dfc + 9defdf9f-be5f-45da-8981-11ff35a03e93 + + + + Проба + + + ru + Проба + + + + + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + + + + false + false + false + + + + + + + + + + + + + + + + + + + + + + Biometrics + true + + + Location + false + + + BackgroundLocation + false + + + BluetoothPrinters + false + + + WiFiPrinters + false + + + Contacts + false + + + Calendars + false + + + PushNotifications + false + + + LocalNotifications + false + + + InAppPurchases + false + + + PersonalComputerFileExchange + false + + + Ads + false + + + NumberDialing + false + + + CallProcessing + false + + + CallLog + false + + + AutoSendSMS + false + + + ReceiveSMS + false + + + SMSLog + false + + + Camera + false + + + Microphone + false + + + MusicLibrary + false + + + PictureAndVideoLibraries + false + + + AudioPlaybackAndVibration + false + + + BackgroundAudioPlaybackAndVibration + false + + + InstallPackages + false + + + OSBackup + true + + + ApplicationUsageStatistics + false + + + BarcodeScanning + false + + + BackgroundAudioRecording + false + + + AllFilesAccess + false + + + Videoconferences + false + + + NFC + false + + + DocumentScanning + false + + + SpeechToText + false + + + Geofences + false + + + IncomingShareRequests + false + + + AllIncomingShareRequestsTypesProcessing + false + + + + + + Normal + + + Language.Русский + + + + + + Managed + NotAutoFree + DontUse + DontUse + TaxiEnableVersion8_2 + DontUse + Version8_3_24 + + + + Русский + Любой + Товары + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/defined-type-typeset/DefinedTypes/Любой.xml b/tests/skills/cases/meta-validate/fixtures/defined-type-typeset/DefinedTypes/Любой.xml new file mode 100644 index 000000000..65ab3724e --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/defined-type-typeset/DefinedTypes/Любой.xml @@ -0,0 +1,25 @@ + + + + + + a3bcdf82-b899-42d6-92d8-cf63de3a1814 + 80aef29e-e24c-405c-9ba4-cbdb4f5dae1e + + + + Любой + + + ru + Любой + + + + + cfg:CatalogRef.Товары + cfg:AnyRef + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Ext/ClientApplicationInterface.xml new file mode 100644 index 000000000..41fcbc740 --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + cbab57f2-a0f3-4f0a-89ea-4cb19570ab75 + + + + + b553047f-c9aa-4157-978d-448ecad24248 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Languages/Русский.xml b/tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Languages/Русский.xml new file mode 100644 index 000000000..c6c4274a2 --- /dev/null +++ b/tests/skills/cases/meta-validate/fixtures/defined-type-typeset/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Catalogs/Договоры.xml b/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Catalogs/Договоры.xml new file mode 100644 index 000000000..371a47738 --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Catalogs/Договоры.xml @@ -0,0 +1,133 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + + Договоры + + + ru + Договоры + + + + false + HierarchyFoldersAndItems + false + 2 + true + true + + ToItems + 9 + 25 + String + Variable + WholeCatalog + false + true + AsDescription + + Auto + InDialog + false + BothWays + + Catalog.Договоры.StandardAttribute.Description + Catalog.Договоры.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + + + false + + + Managed + Use + + + + + + Use + Auto + DontUse + false + false + + + + + Баллы + + + ru + Баллы + + + + + cfg:DefinedType.Сумма + xs:boolean + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + Use + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Catalogs/Договоры/Ext/ObjectModule.bsl b/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Catalogs/Договоры/Ext/ObjectModule.bsl new file mode 100644 index 000000000..e69de29bb diff --git a/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Catalogs/Товары.xml b/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Catalogs/Товары.xml new file mode 100644 index 000000000..d56cd7a09 --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Catalogs/Товары.xml @@ -0,0 +1,91 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + + Товары + + + ru + Товары + + + + false + HierarchyFoldersAndItems + false + 2 + true + true + + ToItems + 9 + 25 + String + Variable + WholeCatalog + false + true + AsDescription + + Auto + InDialog + false + BothWays + + Catalog.Товары.StandardAttribute.Description + Catalog.Товары.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + + + false + + + Managed + Use + + + + + + Use + Auto + DontUse + false + false + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Catalogs/Товары/Ext/ObjectModule.bsl b/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Catalogs/Товары/Ext/ObjectModule.bsl new file mode 100644 index 000000000..e69de29bb diff --git a/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/ChartsOfCharacteristicTypes/Виды.xml b/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/ChartsOfCharacteristicTypes/Виды.xml new file mode 100644 index 000000000..61337cda7 --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/ChartsOfCharacteristicTypes/Виды.xml @@ -0,0 +1,94 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + UUID-012 + UUID-013 + + + + Виды + + + ru + Виды + + + + true + false + + + cfg:CatalogRef.Товары + cfg:DocumentRef + + false + true + 9 + Variable + 100 + WholeCharacteristicKind + true + true + AsDescription + + Auto + InDialog + false + BothWays + + ChartOfCharacteristicTypes.Виды.StandardAttribute.Description + ChartOfCharacteristicTypes.Виды.StandardAttribute.Code + + DontUse + Begin + Directly + DontUse + Auto + + + + + + + + + + + + + Managed + Use + + + + + + DontUse + false + false + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/ChartsOfCharacteristicTypes/Виды/Ext/ObjectModule.bsl b/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/ChartsOfCharacteristicTypes/Виды/Ext/ObjectModule.bsl new file mode 100644 index 000000000..e69de29bb diff --git a/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Configuration.xml b/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Configuration.xml new file mode 100644 index 000000000..a9ba5a0a2 --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Configuration.xml @@ -0,0 +1,255 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + UUID-012 + UUID-013 + + + UUID-014 + UUID-015 + + + + Пр + + + ru + Пр + + + + + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + + + + false + false + false + + + + + + + + + + + + + + + + + + + + + + Biometrics + true + + + Location + false + + + BackgroundLocation + false + + + BluetoothPrinters + false + + + WiFiPrinters + false + + + Contacts + false + + + Calendars + false + + + PushNotifications + false + + + LocalNotifications + false + + + InAppPurchases + false + + + PersonalComputerFileExchange + false + + + Ads + false + + + NumberDialing + false + + + CallProcessing + false + + + CallLog + false + + + AutoSendSMS + false + + + ReceiveSMS + false + + + SMSLog + false + + + Camera + false + + + Microphone + false + + + MusicLibrary + false + + + PictureAndVideoLibraries + false + + + AudioPlaybackAndVibration + false + + + BackgroundAudioPlaybackAndVibration + false + + + InstallPackages + false + + + OSBackup + true + + + ApplicationUsageStatistics + false + + + BarcodeScanning + false + + + BackgroundAudioRecording + false + + + AllFilesAccess + false + + + Videoconferences + false + + + NFC + false + + + DocumentScanning + false + + + SpeechToText + false + + + Geofences + false + + + IncomingShareRequests + false + + + AllIncomingShareRequestsTypesProcessing + false + + + + + + Normal + + + Language.Русский + + + + + + Managed + NotAutoFree + DontUse + DontUse + TaxiEnableVersion8_2 + DontUse + Version8_3_24 + + + + Русский + Сумма + Товары + Договоры + Виды + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/DefinedTypes/Сумма.xml b/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/DefinedTypes/Сумма.xml new file mode 100644 index 000000000..17344eb55 --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/DefinedTypes/Сумма.xml @@ -0,0 +1,29 @@ + + + + + + UUID-002 + UUID-003 + + + + Сумма + + + ru + Сумма + + + + + xs:decimal + + 15 + 2 + Any + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Ext/ClientApplicationInterface.xml new file mode 100644 index 000000000..3c1161b2d --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Languages/Русский.xml b/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Languages/Русский.xml new file mode 100644 index 000000000..37c60d786 --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/warn-cct-bare-metatype/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Catalogs/Договоры.xml b/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Catalogs/Договоры.xml new file mode 100644 index 000000000..371a47738 --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Catalogs/Договоры.xml @@ -0,0 +1,133 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + + Договоры + + + ru + Договоры + + + + false + HierarchyFoldersAndItems + false + 2 + true + true + + ToItems + 9 + 25 + String + Variable + WholeCatalog + false + true + AsDescription + + Auto + InDialog + false + BothWays + + Catalog.Договоры.StandardAttribute.Description + Catalog.Договоры.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + + + false + + + Managed + Use + + + + + + Use + Auto + DontUse + false + false + + + + + Баллы + + + ru + Баллы + + + + + cfg:DefinedType.Сумма + xs:boolean + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + Use + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Catalogs/Договоры/Ext/ObjectModule.bsl b/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Catalogs/Договоры/Ext/ObjectModule.bsl new file mode 100644 index 000000000..e69de29bb diff --git a/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Catalogs/Товары.xml b/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Catalogs/Товары.xml new file mode 100644 index 000000000..d56cd7a09 --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Catalogs/Товары.xml @@ -0,0 +1,91 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + + Товары + + + ru + Товары + + + + false + HierarchyFoldersAndItems + false + 2 + true + true + + ToItems + 9 + 25 + String + Variable + WholeCatalog + false + true + AsDescription + + Auto + InDialog + false + BothWays + + Catalog.Товары.StandardAttribute.Description + Catalog.Товары.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + + + false + + + Managed + Use + + + + + + Use + Auto + DontUse + false + false + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Catalogs/Товары/Ext/ObjectModule.bsl b/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Catalogs/Товары/Ext/ObjectModule.bsl new file mode 100644 index 000000000..e69de29bb diff --git a/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/ChartsOfCharacteristicTypes/Виды.xml b/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/ChartsOfCharacteristicTypes/Виды.xml new file mode 100644 index 000000000..61337cda7 --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/ChartsOfCharacteristicTypes/Виды.xml @@ -0,0 +1,94 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + UUID-012 + UUID-013 + + + + Виды + + + ru + Виды + + + + true + false + + + cfg:CatalogRef.Товары + cfg:DocumentRef + + false + true + 9 + Variable + 100 + WholeCharacteristicKind + true + true + AsDescription + + Auto + InDialog + false + BothWays + + ChartOfCharacteristicTypes.Виды.StandardAttribute.Description + ChartOfCharacteristicTypes.Виды.StandardAttribute.Code + + DontUse + Begin + Directly + DontUse + Auto + + + + + + + + + + + + + Managed + Use + + + + + + DontUse + false + false + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/ChartsOfCharacteristicTypes/Виды/Ext/ObjectModule.bsl b/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/ChartsOfCharacteristicTypes/Виды/Ext/ObjectModule.bsl new file mode 100644 index 000000000..e69de29bb diff --git a/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Configuration.xml b/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Configuration.xml new file mode 100644 index 000000000..a9ba5a0a2 --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Configuration.xml @@ -0,0 +1,255 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + UUID-012 + UUID-013 + + + UUID-014 + UUID-015 + + + + Пр + + + ru + Пр + + + + + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + + + + false + false + false + + + + + + + + + + + + + + + + + + + + + + Biometrics + true + + + Location + false + + + BackgroundLocation + false + + + BluetoothPrinters + false + + + WiFiPrinters + false + + + Contacts + false + + + Calendars + false + + + PushNotifications + false + + + LocalNotifications + false + + + InAppPurchases + false + + + PersonalComputerFileExchange + false + + + Ads + false + + + NumberDialing + false + + + CallProcessing + false + + + CallLog + false + + + AutoSendSMS + false + + + ReceiveSMS + false + + + SMSLog + false + + + Camera + false + + + Microphone + false + + + MusicLibrary + false + + + PictureAndVideoLibraries + false + + + AudioPlaybackAndVibration + false + + + BackgroundAudioPlaybackAndVibration + false + + + InstallPackages + false + + + OSBackup + true + + + ApplicationUsageStatistics + false + + + BarcodeScanning + false + + + BackgroundAudioRecording + false + + + AllFilesAccess + false + + + Videoconferences + false + + + NFC + false + + + DocumentScanning + false + + + SpeechToText + false + + + Geofences + false + + + IncomingShareRequests + false + + + AllIncomingShareRequestsTypesProcessing + false + + + + + + Normal + + + Language.Русский + + + + + + Managed + NotAutoFree + DontUse + DontUse + TaxiEnableVersion8_2 + DontUse + Version8_3_24 + + + + Русский + Сумма + Товары + Договоры + Виды + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/DefinedTypes/Сумма.xml b/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/DefinedTypes/Сумма.xml new file mode 100644 index 000000000..17344eb55 --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/DefinedTypes/Сумма.xml @@ -0,0 +1,29 @@ + + + + + + UUID-002 + UUID-003 + + + + Сумма + + + ru + Сумма + + + + + xs:decimal + + 15 + 2 + Any + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Ext/ClientApplicationInterface.xml new file mode 100644 index 000000000..3c1161b2d --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Languages/Русский.xml b/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Languages/Русский.xml new file mode 100644 index 000000000..37c60d786 --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/warn-composite-defined-type/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/warn-cct-bare-metatype.json b/tests/skills/cases/meta-validate/warn-cct-bare-metatype.json new file mode 100644 index 000000000..b33c0adb9 --- /dev/null +++ b/tests/skills/cases/meta-validate/warn-cct-bare-metatype.json @@ -0,0 +1,12 @@ +{ + "name": "Валидатор предупреждает: голый метатип в типе значения ПВХ — Конфигуратор его не предлагает", + "setup": "fixture:cct-bare-metatype", + "params": { + "objectPath": "ChartsOfCharacteristicTypes/Виды.xml" + }, + "expect": { + "stdoutContains": [ + "23. План видов характеристик 'Виды': тип значения 'DocumentRef' Конфигуратор не предлагает" + ] + } +} diff --git a/tests/skills/cases/meta-validate/warn-composite-defined-type.json b/tests/skills/cases/meta-validate/warn-composite-defined-type.json new file mode 100644 index 000000000..c67459634 --- /dev/null +++ b/tests/skills/cases/meta-validate/warn-composite-defined-type.json @@ -0,0 +1,13 @@ +{ + "name": "Валидатор предупреждает: определяемый тип одним из составного — выбрать его можно только единственным", + "setup": "fixture:composite-defined-type", + "params": { + "objectPath": "Catalogs/Договоры.xml" + }, + "expect": { + "stdoutContains": [ + "23. Составной тип содержит определяемый тип 'DefinedType.Сумма'", + "только единственным" + ] + } +}