diff --git a/.claude/skills/meta-compile/scripts/meta-compile.ps1 b/.claude/skills/meta-compile/scripts/meta-compile.ps1 index ce86e364..b5c0363b 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.15 — Compile 1C metadata object from JSON +# meta-compile v1.16 — Compile 1C metadata object from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [Parameter(Mandatory)] @@ -817,13 +817,33 @@ $script:standardAttributesByType = @{ "DocumentJournal" = @("Type","Ref","Date","Posted","DeletionMark","Number") } +# Профиль материализованного блока StandardAttributes (значения, которые платформа заполняет +# автоматически при материализации блока, независимо от структуры каталога). Выведено из корпуса +# (acc+erp: Owner.FFV=true 1592/1596, Owner.FC=ShowError 1589, Parent.FFV=true 1593, Description.FC=ShowError 1467) +# и подтверждено синтетикой. Пока только Catalog (у прочих типов свои профили — добавим при их пилоте). +$script:stdAttrProfile = @{ + "Catalog" = @{ + "Owner" = @{ FillChecking = "ShowError"; FillFromFillingValue = "true" } + "Parent" = @{ FillFromFillingValue = "true" } + "Description" = @{ FillChecking = "ShowError" } + } +} + +# $ov — hashtable переопределений (профиль + DSL) для полей: FillChecking, FillFromFillingValue, +# Synonym, FullTextSearch, DataHistory. Прочие поля — фиксированный schema-дефолт. function Emit-StandardAttribute { - param([string]$indent, [string]$attrName) + param([string]$indent, [string]$attrName, $ov = $null) + function OvOr { param($k, $d) if ($ov -and $ov.ContainsKey($k)) { return $ov[$k] } else { return $d } } + $fc = OvOr 'FillChecking' 'DontCheck' + $ffv = OvOr 'FillFromFillingValue' 'false' + $dh = OvOr 'DataHistory' 'Use' + $fts = OvOr 'FullTextSearch' 'Use' + $syn = OvOr 'Synonym' '' X "$indent" X "$indent`t" - X "$indent`tDontCheck" + X "$indent`t$fc" X "$indent`tfalse" - X "$indent`tfalse" + X "$indent`t$ffv" X "$indent`tAuto" X "$indent`t" X "$indent`t" @@ -834,12 +854,21 @@ function Emit-StandardAttribute { X "$indent`tAuto" X "$indent`t" X "$indent`tfalse" - X "$indent`tUse" + X "$indent`t$dh" X "$indent`tfalse" X "$indent`t" - X "$indent`t" + if ($syn) { + X "$indent`t" + X "$indent`t`t" + X "$indent`t`t`tru" + X "$indent`t`t`t$(Esc-Xml $syn)" + X "$indent`t`t" + X "$indent`t" + } else { + X "$indent`t" + } X "$indent`t" - X "$indent`tUse" + X "$indent`t$fts" X "$indent`t" X "$indent`t" X "$indent`t" @@ -858,6 +887,34 @@ function Emit-StandardAttributes { X "$indent" } +# Профильный+условный эмиттер блока StandardAttributes (общий, ключёван типом). +# Блок материализуется платформой ТОЛЬКО при кастомизации ≥1 стандартного реквизита → в DSL это +# наличие ключа `standardAttributes` (map имяРеквизита → {synonym, fillChecking, fillFromFillingValue, +# fullTextSearch, dataHistory}). Наличие ключа = блок включён; база = профиль типа (stdAttrProfile), +# поверх — DSL-override. Ключа нет → блок опускаем. Пока подключён только Catalog; при пилоте прочих +# типов: добавить их профиль в stdAttrProfile + переключить их вызов сюда (+ переснять снэпшоты). +function Emit-StandardAttributesProfiled { + param([string]$indent, [string]$objectType) + if ($null -eq $def.standardAttributes) { return } + $profile = $script:stdAttrProfile[$objectType]; if (-not $profile) { $profile = @{} } + $attrs = $script:standardAttributesByType[$objectType] + X "$indent" + foreach ($a in $attrs) { + $ov = @{} + if ($profile.ContainsKey($a)) { foreach ($k in $profile[$a].Keys) { $ov[$k] = $profile[$a][$k] } } + $d = $def.standardAttributes.$a + if ($d) { + if ($null -ne $d.synonym) { $ov['Synonym'] = "$($d.synonym)" } + if ($d.fillChecking) { $ov['FillChecking'] = "$($d.fillChecking)" } + if ($null -ne $d.fillFromFillingValue) { $ov['FillFromFillingValue'] = if ($d.fillFromFillingValue) { 'true' } else { 'false' } } + if ($d.fullTextSearch) { $ov['FullTextSearch'] = "$($d.fullTextSearch)" } + if ($d.dataHistory) { $ov['DataHistory'] = "$($d.dataHistory)" } + } + Emit-StandardAttribute "$indent`t" $a $ov + } + X "$indent" +} + # TabularSection standard attributes (just LineNumber) function Emit-TabularStandardAttributes { param([string]$indent) @@ -1247,7 +1304,7 @@ function Emit-CatalogProperties { $defaultPresentation = Get-EnumProp "DefaultPresentation" "defaultPresentation" "AsDescription" X "$i$defaultPresentation" - Emit-StandardAttributes $i "Catalog" + Emit-StandardAttributesProfiled $i "Catalog" X "$i" X "$iAuto" X "$iInDialog" diff --git a/.claude/skills/meta-compile/scripts/meta-compile.py b/.claude/skills/meta-compile/scripts/meta-compile.py index 40b83495..d49b99cc 100644 --- a/.claude/skills/meta-compile/scripts/meta-compile.py +++ b/.claude/skills/meta-compile/scripts/meta-compile.py @@ -813,12 +813,29 @@ standard_attributes_by_type = { 'DocumentJournal': ['Type', 'Ref', 'Date', 'Posted', 'DeletionMark', 'Number'], } -def emit_standard_attribute(indent, attr_name): +# Профиль материализованного блока StandardAttributes (см. коммент в .ps1). Пока только Catalog. +std_attr_profile = { + 'Catalog': { + 'Owner': {'FillChecking': 'ShowError', 'FillFromFillingValue': 'true'}, + 'Parent': {'FillFromFillingValue': 'true'}, + 'Description': {'FillChecking': 'ShowError'}, + } +} + +# ov — dict переопределений (профиль + DSL): FillChecking, FillFromFillingValue, Synonym, +# FullTextSearch, DataHistory. Прочие поля — фиксированный schema-дефолт. +def emit_standard_attribute(indent, attr_name, ov=None): + ov = ov or {} + fc = ov.get('FillChecking', 'DontCheck') + ffv = ov.get('FillFromFillingValue', 'false') + dh = ov.get('DataHistory', 'Use') + fts = ov.get('FullTextSearch', 'Use') + syn = ov.get('Synonym', '') X(f'{indent}') X(f'{indent}\t') - X(f'{indent}\tDontCheck') + X(f'{indent}\t{fc}') X(f'{indent}\tfalse') - X(f'{indent}\tfalse') + X(f'{indent}\t{ffv}') X(f'{indent}\tAuto') X(f'{indent}\t') X(f'{indent}\t') @@ -829,12 +846,20 @@ def emit_standard_attribute(indent, attr_name): X(f'{indent}\tAuto') X(f'{indent}\t') X(f'{indent}\tfalse') - X(f'{indent}\tUse') + X(f'{indent}\t{dh}') X(f'{indent}\tfalse') X(f'{indent}\t') - X(f'{indent}\t') + if syn: + X(f'{indent}\t') + X(f'{indent}\t\t') + X(f'{indent}\t\t\tru') + X(f'{indent}\t\t\t{esc_xml(syn)}') + X(f'{indent}\t\t') + X(f'{indent}\t') + else: + X(f'{indent}\t') X(f'{indent}\t') - X(f'{indent}\tUse') + X(f'{indent}\t{fts}') X(f'{indent}\t') X(f'{indent}\t') X(f'{indent}\t') @@ -850,6 +875,31 @@ def emit_standard_attributes(indent, object_type): emit_standard_attribute(f'{indent}\t', a) X(f'{indent}') +# Профильный+условный эмиттер блока StandardAttributes (общий, ключёван типом; см. коммент в .ps1). +def emit_standard_attributes_profiled(indent, object_type): + sa = defn.get('standardAttributes') + if sa is None: + return + profile = std_attr_profile.get(object_type, {}) + attrs = standard_attributes_by_type[object_type] + X(f'{indent}') + for a in attrs: + ov = dict(profile.get(a, {})) + d = sa.get(a) if isinstance(sa, dict) else None + if d: + if d.get('synonym') is not None: + ov['Synonym'] = str(d['synonym']) + if d.get('fillChecking'): + ov['FillChecking'] = str(d['fillChecking']) + if d.get('fillFromFillingValue') is not None: + ov['FillFromFillingValue'] = 'true' if d['fillFromFillingValue'] else 'false' + if d.get('fullTextSearch'): + ov['FullTextSearch'] = str(d['fullTextSearch']) + if d.get('dataHistory'): + ov['DataHistory'] = str(d['dataHistory']) + emit_standard_attribute(f'{indent}\t', a, ov) + X(f'{indent}') + def emit_tabular_standard_attributes(indent): X(f'{indent}') emit_standard_attribute(f'{indent}\t', 'LineNumber') @@ -1183,7 +1233,7 @@ def emit_catalog_properties(indent): X(f'{i}{autonumbering}') default_presentation = get_enum_prop('DefaultPresentation', 'defaultPresentation', 'AsDescription') X(f'{i}{default_presentation}') - emit_standard_attributes(i, 'Catalog') + emit_standard_attributes_profiled(i, 'Catalog') X(f'{i}') X(f'{i}Auto') X(f'{i}InDialog') diff --git a/.claude/skills/meta-decompile/scripts/meta-decompile.ps1 b/.claude/skills/meta-decompile/scripts/meta-decompile.ps1 index 564f48ac..9826a094 100644 --- a/.claude/skills/meta-decompile/scripts/meta-decompile.ps1 +++ b/.claude/skills/meta-decompile/scripts/meta-decompile.ps1 @@ -1,4 +1,4 @@ -# meta-decompile v0.2 — XML объекта метаданных 1С → JSON-черновик формата meta-compile +# meta-decompile v0.3 — XML объекта метаданных 1С → JSON-черновик формата meta-compile # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills # # Пилот: только Catalog. Инверс meta-compile (omit-on-default: ключ эмитим только @@ -226,6 +226,40 @@ Add-EnumProp 'choiceMode' 'ChoiceMode' 'BothWays' Add-EnumProp 'dataLockControlMode' 'DataLockControlMode' 'Automatic' Add-EnumProp 'fullTextSearch' 'FullTextSearch' 'Use' +# --- StandardAttributes: блок есть ⟺ кастомизация ≥1 стандартного реквизита. +# Захватываем ОТКЛОНЕНИЯ от профиля материализованного блока (профиль компилятор восстановит сам). +# Профиль Catalog: Owner{FC=ShowError,FFV=true}, Parent{FFV=true}, Description{FC=ShowError}. --- +$catStdProfile = @{ + 'Owner' = @{ fillChecking = 'ShowError'; fillFromFillingValue = $true } + 'Parent' = @{ fillFromFillingValue = $true } + 'Description' = @{ fillChecking = 'ShowError' } +} +$saNode = $props.SelectSingleNode('md:StandardAttributes', $nsm) +if ($saNode) { + $saMap = [ordered]@{} + foreach ($sa in @($saNode.SelectNodes('xr:StandardAttribute', $nsm))) { + $an = $sa.GetAttribute('name') + $prof = if ($catStdProfile.ContainsKey($an)) { $catStdProfile[$an] } else { @{} } + $ov = [ordered]@{} + # FillChecking (профиль или DontCheck) + $fcN = $sa.SelectSingleNode('xr:FillChecking', $nsm); $fc = if ($fcN) { $fcN.InnerText } else { 'DontCheck' } + $profFc = if ($prof.ContainsKey('fillChecking')) { $prof['fillChecking'] } else { 'DontCheck' } + if ($fc -ne $profFc) { $ov['fillChecking'] = $fc } + # FillFromFillingValue (профиль или false) + $ffvN = $sa.SelectSingleNode('xr:FillFromFillingValue', $nsm); $ffv = ($ffvN -and $ffvN.InnerText -eq 'true') + $profFfv = ($prof['fillFromFillingValue'] -eq $true) + if ($ffv -ne $profFfv) { $ov['fillFromFillingValue'] = $ffv } + # Synonym (профиль пуст) + $syn = Get-MLru ($sa.SelectSingleNode('xr:Synonym', $nsm)) + if ($syn) { $ov['synonym'] = $syn } + # FullTextSearch / DataHistory (профиль = Use) + $ftsN = $sa.SelectSingleNode('xr:FullTextSearch', $nsm); if ($ftsN -and $ftsN.InnerText -ne 'Use') { $ov['fullTextSearch'] = $ftsN.InnerText } + $dhN = $sa.SelectSingleNode('xr:DataHistory', $nsm); if ($dhN -and $dhN.InnerText -ne 'Use') { $ov['dataHistory'] = $dhN.InnerText } + if ($ov.Count -gt 0) { $saMap[$an] = $ov } + } + $dsl['standardAttributes'] = $saMap # даже пустой = блок есть (чистый профиль) +} + # --- ChildObjects: Attributes + TabularSections --- $childObjs = $objNode.SelectSingleNode('md:ChildObjects', $nsm) if ($childObjs) { diff --git a/docs/meta-dsl-spec.md b/docs/meta-dsl-spec.md index 045319a5..7c65f2bf 100644 --- a/docs/meta-dsl-spec.md +++ b/docs/meta-dsl-spec.md @@ -1,6 +1,6 @@ # Meta DSL — спецификация JSON-формата для объектов метаданных 1С -Версия: 2.1 +Версия: 2.2 ## Обзор @@ -224,9 +224,45 @@ JSON DSL для описания объектов метаданных конф | `dataLockControlMode` | `Automatic` | DataLockControlMode | | `fullTextSearch` | `Use` | FullTextSearch | | `owners` | `[]` | Owners | +| `standardAttributes` | *(ключа нет → блок опущен)* | StandardAttributes | | `attributes` | `[]` | → Attribute в ChildObjects | | `tabularSections` | `{}` | → TabularSection в ChildObjects | +#### 7.1.1 `standardAttributes` — кастомизация стандартных реквизитов + +Блок `` платформа материализует **только когда пользователь кастомизировал хотя бы один стандартный реквизит** (Наименование/Код/Владелец/…). Ни иерархия, ни владелец, ни предопределённые сами по себе блок не создают. В DSL это выражается **наличием ключа `standardAttributes`**: + +- **Ключа нет** → блок не эмитится (обычный каталог: Наименование, Код, Владелец и т.д. остаются платформенными по умолчанию). +- **Ключ есть** (даже пустой `{}`) → эмитится полный блок из всех стандартных реквизитов с **профилем материализованного блока**, поверх которого накладываются заданные переопределения. + +Формат: `standardAttributes` — объект `{ ИмяРеквизита: { переопределения } }`. Имена реквизитов — как в XML: `PredefinedDataName`, `Predefined`, `Ref`, `DeletionMark`, `IsFolder`, `Owner`, `Parent`, `Description`, `Code`. + +Переопределяемые поля реквизита: `synonym` (строка → `` ru), `fillChecking` (`DontCheck`|`ShowError`|`ShowWarning`), `fillFromFillingValue` (bool), `fullTextSearch` (`Use`|`DontUse`), `dataHistory` (`Use`|`DontUse`). + +**Профиль материализованного блока** (значения, которые платформа заполняет автоматически — задавать их в DSL не нужно): + +| Реквизит | Профильные значения | +|----------|--------------------| +| `Owner` | fillChecking=`ShowError`, fillFromFillingValue=`true` | +| `Parent` | fillFromFillingValue=`true` | +| `Description` | fillChecking=`ShowError` | +| остальные | schema-дефолт (fillChecking=`DontCheck`, fillFromFillingValue=`false`, …) | + +В `standardAttributes` указывают **только отклонения** от профиля (переопределение синонима, нетиповой fillChecking и т.п.). + +```json +{ + "type": "Catalog", "name": "Контрагенты", + "standardAttributes": { + "Description": { "synonym": "Наименование контрагента" }, + "Code": { "fillChecking": "ShowError" } + } +} +``` +Здесь эмитится блок: `Owner`/`Parent`/`Description` получают профиль автоматически; `Description` — ещё и заданный синоним; `Code` — `fillChecking=ShowError` поверх дефолта. + +> Пока поддержано для **Catalog**. У прочих типов объектов — свои стандартные реквизиты и профили (будут добавлены при их проработке). + ### 7.2 Document | Поле JSON | Умолчание | XML элемент | diff --git a/tests/skills/cases/meta-compile/catalog-standard-attributes.json b/tests/skills/cases/meta-compile/catalog-standard-attributes.json new file mode 100644 index 00000000..f3e10e21 --- /dev/null +++ b/tests/skills/cases/meta-compile/catalog-standard-attributes.json @@ -0,0 +1,15 @@ +{ + "name": "Справочник с кастомизацией стандартных реквизитов", + "input": { + "type": "Catalog", + "name": "Контрагенты", + "standardAttributes": { + "Description": { "synonym": "Наименование контрагента" }, + "Code": { "fillChecking": "ShowError" } + } + }, + "validatePath": "Catalogs/Контрагенты", + "expect": { + "files": ["Catalogs/Контрагенты.xml"] + } +} diff --git a/tests/skills/cases/meta-compile/snapshots/batch/Catalogs/Валюты.xml b/tests/skills/cases/meta-compile/snapshots/batch/Catalogs/Валюты.xml index 6c669c51..b74abaac 100644 --- a/tests/skills/cases/meta-compile/snapshots/batch/Catalogs/Валюты.xml +++ b/tests/skills/cases/meta-compile/snapshots/batch/Catalogs/Валюты.xml @@ -48,242 +48,6 @@ false true AsDescription - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - Auto InDialog diff --git a/tests/skills/cases/meta-compile/snapshots/catalog-basic/Catalogs/Валюты.xml b/tests/skills/cases/meta-compile/snapshots/catalog-basic/Catalogs/Валюты.xml index 6c669c51..b74abaac 100644 --- a/tests/skills/cases/meta-compile/snapshots/catalog-basic/Catalogs/Валюты.xml +++ b/tests/skills/cases/meta-compile/snapshots/catalog-basic/Catalogs/Валюты.xml @@ -48,242 +48,6 @@ false true AsDescription - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - Auto InDialog diff --git a/tests/skills/cases/meta-compile/snapshots/catalog-hierarchical/Catalogs/Подразделения.xml b/tests/skills/cases/meta-compile/snapshots/catalog-hierarchical/Catalogs/Подразделения.xml index a37c6a46..4a4969da 100644 --- a/tests/skills/cases/meta-compile/snapshots/catalog-hierarchical/Catalogs/Подразделения.xml +++ b/tests/skills/cases/meta-compile/snapshots/catalog-hierarchical/Catalogs/Подразделения.xml @@ -48,242 +48,6 @@ false true AsDescription - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - Auto InDialog diff --git a/tests/skills/cases/meta-compile/snapshots/catalog-minimal/Catalogs/А.xml b/tests/skills/cases/meta-compile/snapshots/catalog-minimal/Catalogs/А.xml index 8a49fdf4..8f5afd63 100644 --- a/tests/skills/cases/meta-compile/snapshots/catalog-minimal/Catalogs/А.xml +++ b/tests/skills/cases/meta-compile/snapshots/catalog-minimal/Catalogs/А.xml @@ -48,242 +48,6 @@ false true AsDescription - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - Auto InDialog diff --git a/tests/skills/cases/meta-compile/snapshots/catalog-mixed-types/Catalogs/Контрагенты.xml b/tests/skills/cases/meta-compile/snapshots/catalog-mixed-types/Catalogs/Контрагенты.xml index 8a0ff68d..4c6e0215 100644 --- a/tests/skills/cases/meta-compile/snapshots/catalog-mixed-types/Catalogs/Контрагенты.xml +++ b/tests/skills/cases/meta-compile/snapshots/catalog-mixed-types/Catalogs/Контрагенты.xml @@ -48,242 +48,6 @@ false true AsDescription - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - Auto InDialog diff --git a/tests/skills/cases/meta-compile/snapshots/catalog-standard-attributes/Catalogs/Контрагенты.xml b/tests/skills/cases/meta-compile/snapshots/catalog-standard-attributes/Catalogs/Контрагенты.xml new file mode 100644 index 00000000..8dc5bde3 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/catalog-standard-attributes/Catalogs/Контрагенты.xml @@ -0,0 +1,332 @@ + + + + + + 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 + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + ShowError + false + true + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + true + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + ShowError + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + ru + Наименование контрагента + + + + Use + + + + + + + + ShowError + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + Auto + InDialog + false + BothWays + + Catalog.Контрагенты.StandardAttribute.Description + Catalog.Контрагенты.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + + + false + + + Automatic + Use + + + + + + DontUse + Auto + DontUse + false + false + + + + diff --git a/tests/skills/cases/meta-compile/snapshots/catalog-standard-attributes/Catalogs/Контрагенты/Ext/ObjectModule.bsl b/tests/skills/cases/meta-compile/snapshots/catalog-standard-attributes/Catalogs/Контрагенты/Ext/ObjectModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-compile/snapshots/catalog-standard-attributes/Configuration.xml b/tests/skills/cases/meta-compile/snapshots/catalog-standard-attributes/Configuration.xml new file mode 100644 index 00000000..c07959c0 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/catalog-standard-attributes/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/catalog-standard-attributes/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/catalog-standard-attributes/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/catalog-standard-attributes/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/catalog-standard-attributes/Languages/Русский.xml b/tests/skills/cases/meta-compile/snapshots/catalog-standard-attributes/Languages/Русский.xml new file mode 100644 index 00000000..37c60d78 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/catalog-standard-attributes/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/catalog-tabparts/Catalogs/Товары.xml b/tests/skills/cases/meta-compile/snapshots/catalog-tabparts/Catalogs/Товары.xml index 2d0410d5..08077bbb 100644 --- a/tests/skills/cases/meta-compile/snapshots/catalog-tabparts/Catalogs/Товары.xml +++ b/tests/skills/cases/meta-compile/snapshots/catalog-tabparts/Catalogs/Товары.xml @@ -48,242 +48,6 @@ false true AsDescription - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - - - DontCheck - false - false - Auto - - - false - - - Auto - Auto - - false - Use - false - - - - Use - - - - - - Auto InDialog