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
+
+ 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
+
+ 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
+
+ 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
+
+ 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
+
+ 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.Сумма'",
+ "только единственным"
+ ]
+ }
+}