From 4622234b52e354f0b7a3a628f89a22cddfb7326a Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sun, 9 Aug 2026 18:42:00 +0300 Subject: [PATCH] =?UTF-8?q?feat(meta-compile):=20=D0=BF=D0=B0=D1=80=D1=8B?= =?UTF-8?q?=20=D1=81=D1=83=D0=B1=D0=BA=D0=BE=D0=BD=D1=82=D0=BE=20=D0=B1?= =?UTF-8?q?=D1=83=D1=85=D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0=20?= =?UTF-8?q?=D0=B8=D0=B7=20=D0=BF=D0=BB=D0=B0=D0=BD=D0=B0=20=D1=81=D1=87?= =?UTF-8?q?=D0=B5=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Компилятор эмитил ExtDimensionN/ExtDimensionTypeN только по ключам DSL, поэтому регистр, созданный по неполному описанию, не совпадал с тем, что материализует платформа: пары дописывались лишь при загрузке. Теперь их число выводится из MaxExtDimensionCount плана счетов, на который ссылается регистр, — файл читается из выгрузки, как версия формата из Configuration.xml. ExtDimensionN получает LinkByType на Account с LinkItem по номеру. Выведенный хвост дополняет DSL, а не заменяет: ключи из описания остаются, недостающее добавляется. План счетов не найден в выгрузке (ещё не создан, лежит вне каталога) — пары не генерируются, в вывод идёт [HINT]: платформа допишет их сама при загрузке. Проверка: матрица из трёх случаев (план с 3 субконто, план с 0, план отсутствует) на обоих портах; синтетика загружена в 1С и выгружена обратно — состав и порядок совпали; корпусный роундтрип 739 регистров без расхождений. Co-Authored-By: Claude Opus 5 (1M context) --- .../meta-compile/scripts/meta-compile.ps1 | 42 ++ .../meta-compile/scripts/meta-compile.py | 45 ++ docs/meta-dsl-spec.md | 6 +- .../accounting-register-ext-dimensions.json | 32 ++ .../AccountingRegisters/Основной.xml | 384 ++++++++++++++++++ .../Основной/Ext/RecordSetModule.bsl | 0 .../ChartsOfAccounts/Хозрасчетный.xml | 209 ++++++++++ .../Хозрасчетный/Ext/ObjectModule.bsl | 0 .../ВидыСубконто.xml | 97 +++++ .../ВидыСубконто/Ext/ObjectModule.bsl | 0 .../Configuration.xml | 254 ++++++++++++ .../Ext/ClientApplicationInterface.xml | 18 + .../Languages/Русский.xml | 16 + 13 files changed, 1101 insertions(+), 2 deletions(-) create mode 100644 tests/skills/cases/meta-compile/accounting-register-ext-dimensions.json create mode 100644 tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/AccountingRegisters/Основной.xml create mode 100644 tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/AccountingRegisters/Основной/Ext/RecordSetModule.bsl create mode 100644 tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/ChartsOfAccounts/Хозрасчетный.xml create mode 100644 tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/ChartsOfAccounts/Хозрасчетный/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/ChartsOfCharacteristicTypes/ВидыСубконто.xml create mode 100644 tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/ChartsOfCharacteristicTypes/ВидыСубконто/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/Configuration.xml create mode 100644 tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/Ext/ClientApplicationInterface.xml create mode 100644 tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/Languages/Русский.xml diff --git a/.claude/skills/meta-compile/scripts/meta-compile.ps1 b/.claude/skills/meta-compile/scripts/meta-compile.ps1 index ba21e34d..142761a4 100644 --- a/.claude/skills/meta-compile/scripts/meta-compile.ps1 +++ b/.claude/skills/meta-compile/scripts/meta-compile.ps1 @@ -1465,6 +1465,34 @@ $script:stdAttrConditions = @{ $script:stdAttrTailPattern = @{ "AccountingRegister" = '^ExtDimension(Type)?\d+$' } + +# Состав хвоста задаёт не DSL, а объект, на который регистр ссылается: пар субконто столько, +# сколько у плана счетов MaxExtDimensionCount. Читаем его из выгрузки — как версию формата из +# Configuration.xml, — чтобы регистр, описанный неполным DSL, совпал с тем, что материализует +# платформа. План не найден → хвост не генерируем и говорим об этом в выводе. +$script:stdAttrTailHint = $null +$script:stdAttrTailDerived = @{ + "AccountingRegister" = { + param($d, $objectName, $outDir) + $ref = "$($d.chartOfAccounts)" + if (-not $ref) { return @() } + $chartName = $ref -replace '^.*\.', '' # ссылка вида ChartOfAccounts.X (имя объекта точек не содержит) + $path = Join-Path (Join-Path $outDir "ChartsOfAccounts") "$chartName.xml" + if (-not (Test-Path -LiteralPath $path)) { + $script:stdAttrTailHint = "ChartOfAccounts '$chartName' not found in dump — ExtDimension pairs not generated (platform will add them on load)" + return @() + } + $n = 0 + if ([System.IO.File]::ReadAllText($path) -match '(\d+)') { $n = [int]$matches[1] } + $out = @() + for ($i = 1; $i -le $n; $i++) { + # ExtDimensionN связан с Account через LinkByType (LinkItem = номер), ExtDimensionTypeN — нет. + $out += @{ name = "ExtDimension$i"; ov = @{ LinkByType = @{ dataPath = "AccountingRegister.$objectName.StandardAttribute.Account"; linkItem = $i } } } + $out += @{ name = "ExtDimensionType$i"; ov = @{} } + } + return $out + } +} function Emit-StandardAttributes { param([string]$indent, [string]$objectType) $attrs = $script:standardAttributesByType[$objectType] @@ -1491,6 +1519,16 @@ function Emit-StandardAttributes { if ($tailRe -and $k -match $tailRe) { $tail += $k } else { $extra += $k } } } + # Хвост, выведенный из связанного объекта: дополняет DSL, а не заменяет его — лишнее из DSL + # остаётся (прощаем), недостающее добавляется вместе со своими значениями по умолчанию. + $derivedOv = @{} + $gen = $script:stdAttrTailDerived[$objectType] + if ($gen) { + foreach ($e in @(& $gen $def $objName $OutputDir)) { + $derivedOv[$e.name] = $e.ov + if ($tail -notcontains $e.name) { $tail += $e.name } + } + } $tail = @($tail | Sort-Object @{e={[int]([regex]::Match($_, '\d+').Value)}}, @{e={ if ($_ -match 'Type\d+$') { 1 } else { 0 } }}) X "$indent" foreach ($a in ($extra + $attrs + $tail)) { @@ -1502,6 +1540,7 @@ function Emit-StandardAttributes { } $ov = @{} if ($profile.ContainsKey($a)) { foreach ($k in $profile[$a].Keys) { $ov[$k] = $profile[$a][$k] } } + if ($derivedOv.ContainsKey($a)) { foreach ($k in $derivedOv[$a].Keys) { $ov[$k] = $derivedOv[$a][$k] } } if ($sa) { # DSL-override применяем всегда при наличии ключа (для не-условных типов тоже, напр. ExchangePlan) $d = $sa.$a if ($d) { @@ -5261,6 +5300,9 @@ switch ($regResult) { } # Cross-reference hints +if ($script:stdAttrTailHint) { + Write-Host "[HINT] $($script:stdAttrTailHint)" +} if ($objType -eq "AccountingRegister" -and -not $def.chartOfAccounts) { Write-Host "[HINT] AccountingRegister requires ChartOfAccounts reference:" Write-Host " /meta-edit -Operation modify-property -Value `"ChartOfAccounts=ChartOfAccounts.XXX`"" diff --git a/.claude/skills/meta-compile/scripts/meta-compile.py b/.claude/skills/meta-compile/scripts/meta-compile.py index 8ce65dff..a4004250 100644 --- a/.claude/skills/meta-compile/scripts/meta-compile.py +++ b/.claude/skills/meta-compile/scripts/meta-compile.py @@ -1512,6 +1512,39 @@ std_attr_conditions = { std_attr_tail_pattern = { 'AccountingRegister': r'^ExtDimension(Type)?\d+$', } + +# Состав хвоста задаёт не DSL, а объект, на который регистр ссылается: пар субконто столько, +# сколько у плана счетов MaxExtDimensionCount. Читаем его из выгрузки — как версию формата из +# Configuration.xml, — чтобы регистр, описанный неполным DSL, совпал с тем, что материализует +# платформа. План не найден → хвост не генерируем и говорим об этом в выводе. +std_attr_tail_hint = None + +def _acc_register_ext_dimension_tail(d, object_name, out_dir): + global std_attr_tail_hint + ref = str(d.get('chartOfAccounts') or '') + if not ref: + return [] + chart_name = re.sub(r'^.*\.', '', ref) # ссылка вида ChartOfAccounts.X (имя объекта точек не содержит) + path = os.path.join(out_dir, 'ChartsOfAccounts', chart_name + '.xml') + if not os.path.isfile(path): + std_attr_tail_hint = ("ChartOfAccounts '%s' not found in dump — ExtDimension pairs not generated " + "(platform will add them on load)" % chart_name) + return [] + with open(path, encoding='utf-8-sig') as f: + m = re.search(r'(\d+)', f.read()) + n = int(m.group(1)) if m else 0 + out = [] + for i in range(1, n + 1): + # ExtDimensionN связан с Account через LinkByType (LinkItem = номер), ExtDimensionTypeN — нет. + out.append(('ExtDimension%d' % i, + {'LinkByType': {'dataPath': 'AccountingRegister.%s.StandardAttribute.Account' % object_name, + 'linkItem': i}})) + out.append(('ExtDimensionType%d' % i, {})) + return out + +std_attr_tail_derived = { + 'AccountingRegister': _acc_register_ext_dimension_tail, +} def emit_standard_attributes(indent, object_type): attrs = standard_attributes_by_type.get(object_type) if not attrs: @@ -1542,6 +1575,15 @@ def emit_standard_attributes(indent, object_type): tail.append(k) else: extra.append(k) + # Хвост, выведенный из связанного объекта: дополняет DSL, а не заменяет его — лишнее из DSL + # остаётся (прощаем), недостающее добавляется вместе со своими значениями по умолчанию. + derived_ov = {} + gen = std_attr_tail_derived.get(object_type) + if gen: + for name, dov in gen(defn, obj_name, output_dir): + derived_ov[name] = dov + if name not in tail: + tail.append(name) tail.sort(key=lambda k: (int(re.search(r'\d+', k).group()), 1 if re.search(r'Type\d+$', k) else 0)) X(f'{indent}') for a in extra + list(attrs) + tail: @@ -1552,6 +1594,7 @@ def emit_standard_attributes(indent, object_type): if not present: continue ov = dict(profile.get(a, {})) + ov.update(derived_ov.get(a, {})) if isinstance(sa, dict): d = sa.get(a) if d: @@ -5159,6 +5202,8 @@ elif reg_result == 'no-config': print(f' Configuration.xml: not found at {config_xml_path} (register manually)') # Cross-reference hints +if std_attr_tail_hint: + print(f'[HINT] {std_attr_tail_hint}') if obj_type == 'AccountingRegister' and not defn.get('chartOfAccounts'): print('[HINT] AccountingRegister requires ChartOfAccounts reference:') print(' /meta-edit -Operation modify-property -Value "ChartOfAccounts=ChartOfAccounts.XXX"') diff --git a/docs/meta-dsl-spec.md b/docs/meta-dsl-spec.md index bc77c342..168d9301 100644 --- a/docs/meta-dsl-spec.md +++ b/docs/meta-dsl-spec.md @@ -965,8 +965,10 @@ choiceParameters/indexing/fullTextSearch/dataHistory/…, см. §3–4). При Стандартные реквизиты РБ: PeriodAdjustment, Account, RecordType, Active, LineNumber, Recorder, Period, далее пары субконто ExtDimensionN/ExtDimensionTypeN (их число задаётся `maxExtDimensionCount` плана счетов). Два реквизита условны: `PeriodAdjustment` — при `periodAdjustmentLength > 0`, `RecordType` — при -`correspondence=false`. ExtDimension1..N связаны с Account через `linkByType` (в блоке `standardAttributes`, -§7.1.1; DataPath полный). +`correspondence=false`. ExtDimensionN связаны с Account через `linkByType` (DataPath +`AccountingRegister.<Имя>.StandardAttribute.Account`, LinkItem = номер), ExtDimensionTypeN — нет. +Пары берутся из плана счетов, на который ссылается регистр; описывать их в `standardAttributes` +(§7.1.1) нужно только ради переопределений. ### 7.6b CalculationRegister (Регистр расчёта) diff --git a/tests/skills/cases/meta-compile/accounting-register-ext-dimensions.json b/tests/skills/cases/meta-compile/accounting-register-ext-dimensions.json new file mode 100644 index 00000000..c97101b1 --- /dev/null +++ b/tests/skills/cases/meta-compile/accounting-register-ext-dimensions.json @@ -0,0 +1,32 @@ +{ + "name": "Пары субконто берутся из плана счетов, а не из DSL", + "preRun": [ + { + "script": "meta-compile/scripts/meta-compile", + "input": { "type": "ChartOfCharacteristicTypes", "name": "ВидыСубконто", "valueType": "String(50)" }, + "args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" } + }, + { + "script": "meta-compile/scripts/meta-compile", + "input": { + "type": "ChartOfAccounts", + "name": "Хозрасчетный", + "extDimensionTypes": "ChartOfCharacteristicTypes.ВидыСубконто", + "maxExtDimensionCount": 2 + }, + "args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" } + } + ], + "input": { + "type": "AccountingRegister", + "name": "Основной", + "chartOfAccounts": "ChartOfAccounts.Хозрасчетный", + "correspondence": true, + "dimensions": ["Организация: CatalogRef.Организации"], + "resources": ["Сумма: Number(15,2)"] + }, + "validatePath": "AccountingRegisters/Основной", + "expect": { + "files": ["AccountingRegisters/Основной.xml", "AccountingRegisters/Основной/Ext/RecordSetModule.bsl"] + } +} diff --git a/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/AccountingRegisters/Основной.xml b/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/AccountingRegisters/Основной.xml new file mode 100644 index 00000000..a02dad96 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/AccountingRegisters/Основной.xml @@ -0,0 +1,384 @@ + + + + + + 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 + Основной + + + + true + false + ChartOfAccounts.Хозрасчетный + true + 0 + + + + + + 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 + + + + + + + + AccountingRegister.Основной.StandardAttribute.Account + 1 + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + AccountingRegister.Основной.StandardAttribute.Account + 2 + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + Managed + true + Use + + + + + + + + Организация + + + ru + Организация + + + + + cfg:CatalogRef.Организации + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + false + + false + DontIndex + Use + + + + + Сумма + + + ru + Сумма + + + + + xs:decimal + + 15 + 2 + Any + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + false + + + Use + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/AccountingRegisters/Основной/Ext/RecordSetModule.bsl b/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/AccountingRegisters/Основной/Ext/RecordSetModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/ChartsOfAccounts/Хозрасчетный.xml b/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/ChartsOfAccounts/Хозрасчетный.xml new file mode 100644 index 00000000..4ff56ce9 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/ChartsOfAccounts/Хозрасчетный.xml @@ -0,0 +1,209 @@ + + + + + + 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 + Хозрасчетный + + + + true + false + + ChartOfCharacteristicTypes.ВидыСубконто + 2 + + 9 + 25 + WholeChartOfAccounts + true + AsCode + + + + + + + Виды субконто + + + + + DontCheck + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + ShowError + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + + Auto + InDialog + false + BothWays + + ChartOfAccounts.Хозрасчетный.StandardAttribute.Description + ChartOfAccounts.Хозрасчетный.StandardAttribute.Code + + Begin + DontUse + Directly + DontUse + Auto + + + + + + + true + 9 + + Managed + Use + DontUse + false + false + + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/ChartsOfAccounts/Хозрасчетный/Ext/ObjectModule.bsl b/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/ChartsOfAccounts/Хозрасчетный/Ext/ObjectModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/ChartsOfCharacteristicTypes/ВидыСубконто.xml b/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/ChartsOfCharacteristicTypes/ВидыСубконто.xml new file mode 100644 index 00000000..8ec9363f --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/ChartsOfCharacteristicTypes/ВидыСубконто.xml @@ -0,0 +1,97 @@ + + + + + + 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 + + + xs:string + + 50 + Variable + + + 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/accounting-register-ext-dimensions/ChartsOfCharacteristicTypes/ВидыСубконто/Ext/ObjectModule.bsl b/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/ChartsOfCharacteristicTypes/ВидыСубконто/Ext/ObjectModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/Configuration.xml b/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/Configuration.xml new file mode 100644 index 00000000..8f4425c4 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/Configuration.xml @@ -0,0 +1,254 @@ + + + + + + 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/accounting-register-ext-dimensions/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/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/accounting-register-ext-dimensions/Languages/Русский.xml b/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/Languages/Русский.xml new file mode 100644 index 00000000..37c60d78 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/accounting-register-ext-dimensions/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file