diff --git a/.claude/skills/meta-edit/scripts/meta-edit.ps1 b/.claude/skills/meta-edit/scripts/meta-edit.ps1 index ed6e6c61..c543cea0 100644 --- a/.claude/skills/meta-edit/scripts/meta-edit.ps1 +++ b/.claude/skills/meta-edit/scripts/meta-edit.ps1 @@ -1,4 +1,4 @@ -# meta-edit v1.22 — Edit existing 1C metadata object XML +# meta-edit v1.23 — Edit existing 1C metadata object XML # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [string]$DefinitionFile, @@ -1313,7 +1313,7 @@ function Build-ColumnFragment { if ($references.Count -gt 0) { $sb.AppendLine("$indent`t`t") | Out-Null foreach ($ref in $references) { - $sb.AppendLine("$indent`t`t`t$ref") | Out-Null + $sb.AppendLine("$indent`t`t`t$(Esc-Xml (Normalize-MDObjectRef "$ref"))") | Out-Null } $sb.AppendLine("$indent`t`t") | Out-Null } else { @@ -2416,13 +2416,56 @@ function Process-Modify($modifyDef) { # Section 12.5: Complex property helpers # ============================================================ +# Прощающий ввод MDObjectRef-путей: русские корни метаданных → английские + ссылочные формы +# ("CatalogRef.Валюты"/"СправочникСсылка.Валюты" → "Catalog.Валюты"). MDObjectRef ссылается на ОБЪЕКТ +# метаданных, а не на тип ссылки; вида метаданных, оканчивающегося на Ref, не существует → схлопывание +# однозначно. Виды стоят на ЧЁТНЫХ позициях (0,2,4…), имена (нечётные) не трогаем. Канонические +# английские пути неизменны (в мапе только неканонические ключи). Зеркало meta-compile. +$script:mdRefRoots = @{ + 'справочник'='Catalog'; 'документ'='Document'; 'перечисление'='Enum'; 'константа'='Constant'; + 'регистрсведений'='InformationRegister'; 'регистрнакопления'='AccumulationRegister'; + 'регистрбухгалтерии'='AccountingRegister'; 'регистррасчета'='CalculationRegister'; 'регистррасчёта'='CalculationRegister'; + 'плансчетов'='ChartOfAccounts'; 'планвидовхарактеристик'='ChartOfCharacteristicTypes'; + 'планвидоврасчета'='ChartOfCalculationTypes'; 'планвидоврасчёта'='ChartOfCalculationTypes'; + 'планобмена'='ExchangePlan'; 'бизнеспроцесс'='BusinessProcess'; 'задача'='Task'; + 'журналдокументов'='DocumentJournal'; 'отчет'='Report'; 'отчёт'='Report'; 'обработка'='DataProcessor'; + 'табличнаячасть'='TabularSection'; 'реквизит'='Attribute'; 'измерение'='Dimension'; 'ресурс'='Resource'; + 'стандартныйреквизит'='StandardAttribute'; 'значениеперечисления'='EnumValue'; 'команда'='Command'; + 'признакучета'='AccountingFlag'; 'признакучёта'='AccountingFlag'; + 'catalogref'='Catalog'; 'documentref'='Document'; 'enumref'='Enum'; + 'chartofaccountsref'='ChartOfAccounts'; 'chartofcharacteristictypesref'='ChartOfCharacteristicTypes'; + 'chartofcalculationtypesref'='ChartOfCalculationTypes'; 'exchangeplanref'='ExchangePlan'; + 'businessprocessref'='BusinessProcess'; 'taskref'='Task'; + 'справочникссылка'='Catalog'; 'документссылка'='Document'; 'перечислениессылка'='Enum'; + 'плансчетовссылка'='ChartOfAccounts'; 'планвидовхарактеристикссылка'='ChartOfCharacteristicTypes'; + 'планвидоврасчетассылка'='ChartOfCalculationTypes'; 'планвидоврасчётассылка'='ChartOfCalculationTypes'; + 'планобменассылка'='ExchangePlan'; 'бизнеспроцессссылка'='BusinessProcess'; 'задачассылка'='Task' +} +# $defaultRoot — корень для ГОЛОГО имени без точки (owners: "Валюты" → "Catalog.Валюты"). +function Normalize-MDObjectRef { + param([string]$ref, [string]$defaultRoot) + if (-not $ref) { return $ref } + if (-not $ref.Contains('.')) { + if ($defaultRoot) { return "$defaultRoot.$ref" } + return $ref + } + $parts = $ref -split '\.' + for ($k = 0; $k -lt $parts.Count; $k += 2) { + $t = $script:mdRefRoots[$parts[$k].ToLower()] + if ($t) { $parts[$k] = $t } + } + return ($parts -join '.') +} + +# mdref — значения списка суть MDObjectRef-пути → прогоняем через Normalize-MDObjectRef. +# root — корень для голого имени без точки. $script:complexPropertyMap = @{ - "Owners" = @{ tag = "xr:Item"; attr = 'xsi:type="xr:MDObjectRef"' } - "RegisterRecords" = @{ tag = "xr:Item"; attr = 'xsi:type="xr:MDObjectRef"' } - "BasedOn" = @{ tag = "xr:Item"; attr = 'xsi:type="xr:MDObjectRef"' } + "Owners" = @{ tag = "xr:Item"; attr = 'xsi:type="xr:MDObjectRef"'; mdref = $true; root = 'Catalog' } + "RegisterRecords" = @{ tag = "xr:Item"; attr = 'xsi:type="xr:MDObjectRef"'; mdref = $true } + "BasedOn" = @{ tag = "xr:Item"; attr = 'xsi:type="xr:MDObjectRef"'; mdref = $true } "InputByString" = @{ tag = "xr:Field"; attr = $null } "DataLockFields" = @{ tag = "xr:Field"; attr = $null; expand = $true } - "RegisteredDocuments" = @{ tag = "xr:Item"; attr = 'xsi:type="xr:MDObjectRef"' } + "RegisteredDocuments" = @{ tag = "xr:Item"; attr = 'xsi:type="xr:MDObjectRef"'; mdref = $true } } # Известные свойства объекта (union по корпусу acc+erp 8.3.24) — allowlist для modify-property. @@ -2873,6 +2916,7 @@ function Add-ComplexPropertyItem([string]$propertyName, [string[]]$values) { $mapEntry = $script:complexPropertyMap[$propertyName] if (-not $mapEntry) { Warn "Unknown complex property: $propertyName"; return } if ($mapEntry.expand) { $values = @($values | ForEach-Object { Expand-DataPath "$_" }) } + if ($mapEntry.mdref) { $values = @($values | ForEach-Object { Normalize-MDObjectRef "$_" $mapEntry.root }) } $propEl = Find-PropertyElement $propertyName if (-not $propEl) { @@ -2922,6 +2966,7 @@ function Add-ComplexPropertyItem([string]$propertyName, [string[]]$values) { function Remove-ComplexPropertyItem([string]$propertyName, [string[]]$values) { $mapEntry = $script:complexPropertyMap[$propertyName] if ($mapEntry -and $mapEntry.expand) { $values = @($values | ForEach-Object { Expand-DataPath "$_" }) } + if ($mapEntry -and $mapEntry.mdref) { $values = @($values | ForEach-Object { Normalize-MDObjectRef "$_" $mapEntry.root }) } $propEl = Find-PropertyElement $propertyName if (-not $propEl) { Warn "Property element '$propertyName' not found in Properties" @@ -2960,6 +3005,7 @@ function Set-ComplexProperty([string]$propertyName, [string[]]$values) { $mapEntry = $script:complexPropertyMap[$propertyName] if (-not $mapEntry) { Warn "Unknown complex property: $propertyName"; return } if ($mapEntry.expand) { $values = @($values | ForEach-Object { Expand-DataPath "$_" }) } + if ($mapEntry.mdref) { $values = @($values | ForEach-Object { Normalize-MDObjectRef "$_" $mapEntry.root }) } $propEl = Find-PropertyElement $propertyName if (-not $propEl) { diff --git a/.claude/skills/meta-edit/scripts/meta-edit.py b/.claude/skills/meta-edit/scripts/meta-edit.py index 2161d469..01989867 100644 --- a/.claude/skills/meta-edit/scripts/meta-edit.py +++ b/.claude/skills/meta-edit/scripts/meta-edit.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# meta-edit v1.22 — Edit existing 1C metadata object XML +# meta-edit v1.23 — Edit existing 1C metadata object XML # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse @@ -1288,7 +1288,7 @@ def build_column_fragment(col_def, indent): if references: lines.append(f"{indent}\t\t") for ref in references: - lines.append(f'{indent}\t\t\t{ref}') + lines.append(f'{indent}\t\t\t{esc_xml(normalize_md_object_ref(str(ref)))}') lines.append(f"{indent}\t\t") else: lines.append(f"{indent}\t\t") @@ -2235,13 +2235,56 @@ def process_modify(modify_def): # Complex property helpers # ============================================================ +# Прощающий ввод MDObjectRef-путей: русские корни метаданных → английские + ссылочные формы +# ("CatalogRef.Валюты"/"СправочникСсылка.Валюты" → "Catalog.Валюты"). MDObjectRef ссылается на ОБЪЕКТ +# метаданных, а не на тип ссылки; вида метаданных, оканчивающегося на Ref, не существует → схлопывание +# однозначно. Виды на ЧЁТНЫХ позициях (0,2,4…), имена (нечётные) не трогаем. Канонические английские +# пути неизменны. Зеркало meta-compile. +md_ref_roots = { + 'справочник': 'Catalog', 'документ': 'Document', 'перечисление': 'Enum', 'константа': 'Constant', + 'регистрсведений': 'InformationRegister', 'регистрнакопления': 'AccumulationRegister', + 'регистрбухгалтерии': 'AccountingRegister', 'регистррасчета': 'CalculationRegister', 'регистррасчёта': 'CalculationRegister', + 'плансчетов': 'ChartOfAccounts', 'планвидовхарактеристик': 'ChartOfCharacteristicTypes', + 'планвидоврасчета': 'ChartOfCalculationTypes', 'планвидоврасчёта': 'ChartOfCalculationTypes', + 'планобмена': 'ExchangePlan', 'бизнеспроцесс': 'BusinessProcess', 'задача': 'Task', + 'журналдокументов': 'DocumentJournal', 'отчет': 'Report', 'отчёт': 'Report', 'обработка': 'DataProcessor', + 'табличнаячасть': 'TabularSection', 'реквизит': 'Attribute', 'измерение': 'Dimension', 'ресурс': 'Resource', + 'стандартныйреквизит': 'StandardAttribute', 'значениеперечисления': 'EnumValue', 'команда': 'Command', + 'признакучета': 'AccountingFlag', 'признакучёта': 'AccountingFlag', + 'catalogref': 'Catalog', 'documentref': 'Document', 'enumref': 'Enum', + 'chartofaccountsref': 'ChartOfAccounts', 'chartofcharacteristictypesref': 'ChartOfCharacteristicTypes', + 'chartofcalculationtypesref': 'ChartOfCalculationTypes', 'exchangeplanref': 'ExchangePlan', + 'businessprocessref': 'BusinessProcess', 'taskref': 'Task', + 'справочникссылка': 'Catalog', 'документссылка': 'Document', 'перечислениессылка': 'Enum', + 'плансчетовссылка': 'ChartOfAccounts', 'планвидовхарактеристикссылка': 'ChartOfCharacteristicTypes', + 'планвидоврасчетассылка': 'ChartOfCalculationTypes', 'планвидоврасчётассылка': 'ChartOfCalculationTypes', + 'планобменассылка': 'ExchangePlan', 'бизнеспроцессссылка': 'BusinessProcess', 'задачассылка': 'Task', +} + + +def normalize_md_object_ref(ref, default_root=None): + """default_root — корень для ГОЛОГО имени без точки (owners: "Валюты" → "Catalog.Валюты").""" + if not ref: + return ref + if '.' not in ref: + return f'{default_root}.{ref}' if default_root else ref + parts = ref.split('.') + for k in range(0, len(parts), 2): + t = md_ref_roots.get(parts[k].lower()) + if t: + parts[k] = t + return '.'.join(parts) + + +# mdref — значения списка суть MDObjectRef-пути → прогоняем через normalize_md_object_ref. +# root — корень для голого имени без точки. complex_property_map = { - "Owners": {"tag": "xr:Item", "attr": 'xsi:type="xr:MDObjectRef"'}, - "RegisterRecords": {"tag": "xr:Item", "attr": 'xsi:type="xr:MDObjectRef"'}, - "BasedOn": {"tag": "xr:Item", "attr": 'xsi:type="xr:MDObjectRef"'}, + "Owners": {"tag": "xr:Item", "attr": 'xsi:type="xr:MDObjectRef"', "mdref": True, "root": "Catalog"}, + "RegisterRecords": {"tag": "xr:Item", "attr": 'xsi:type="xr:MDObjectRef"', "mdref": True}, + "BasedOn": {"tag": "xr:Item", "attr": 'xsi:type="xr:MDObjectRef"', "mdref": True}, "InputByString": {"tag": "xr:Field", "attr": None}, "DataLockFields": {"tag": "xr:Field", "attr": None, "expand": True}, - "RegisteredDocuments": {"tag": "xr:Item", "attr": 'xsi:type="xr:MDObjectRef"'}, + "RegisteredDocuments": {"tag": "xr:Item", "attr": 'xsi:type="xr:MDObjectRef"', "mdref": True}, } # Известные свойства объекта (union по корпусу acc+erp 8.3.24) — allowlist для modify-property. @@ -2777,6 +2820,8 @@ def add_complex_property_item(property_name, values): return if map_entry.get("expand"): values = [expand_data_path(str(v)) for v in values] + if map_entry.get("mdref"): + values = [normalize_md_object_ref(str(v), map_entry.get("root")) for v in values] prop_el = find_property_element(property_name) if prop_el is None: @@ -2819,6 +2864,8 @@ def remove_complex_property_item(property_name, values): map_entry = complex_property_map.get(property_name) if map_entry and map_entry.get("expand"): values = [expand_data_path(str(v)) for v in values] + if map_entry and map_entry.get("mdref"): + values = [normalize_md_object_ref(str(v), map_entry.get("root")) for v in values] prop_el = find_property_element(property_name) if prop_el is None: warn(f"Property element '{property_name}' not found in Properties") @@ -2851,6 +2898,8 @@ def set_complex_property(property_name, values): return if map_entry.get("expand"): values = [expand_data_path(str(v)) for v in values] + if map_entry.get("mdref"): + values = [normalize_md_object_ref(str(v), map_entry.get("root")) for v in values] prop_el = find_property_element(property_name) if prop_el is None: diff --git a/tests/skills/cases/meta-edit/modify-property-mdobjectref.json b/tests/skills/cases/meta-edit/modify-property-mdobjectref.json new file mode 100644 index 00000000..b6762e98 --- /dev/null +++ b/tests/skills/cases/meta-edit/modify-property-mdobjectref.json @@ -0,0 +1,24 @@ +{ + "name": "Нормализация MDObjectRef в Owners/BasedOn (CatalogRef./рус. запись → Catalog.)", + "preRun": [ + { + "script": "meta-compile/scripts/meta-compile", + "input": [ + { "type": "Catalog", "name": "Контрагенты" }, + { "type": "Catalog", "name": "Организации" }, + { "type": "Document", "name": "ЗаказПоставщику" }, + { "type": "Catalog", "name": "ДоговорыКонтрагентов", "owners": ["Catalog.Контрагенты"] } + ], + "args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" } + } + ], + "params": { "objectPath": "Catalogs/ДоговорыКонтрагентов" }, + "input": { + "modify": { + "properties": { + "Owners": ["CatalogRef.Контрагенты", "СправочникСсылка.Организации"], + "BasedOn": ["Справочник.Контрагенты", "DocumentRef.ЗаказПоставщику"] + } + } + } +} diff --git a/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Catalogs/ДоговорыКонтрагентов.xml b/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Catalogs/ДоговорыКонтрагентов.xml new file mode 100644 index 00000000..c16569a3 --- /dev/null +++ b/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Catalogs/ДоговорыКонтрагентов.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 + + + + ДоговорыКонтрагентов + + + ru + Договоры контрагентов + + + + false + HierarchyFoldersAndItems + false + 2 + true + true + + Catalog.Контрагенты + Catalog.Организации + + ToItems + 9 + 25 + String + Variable + WholeCatalog + false + true + AsDescription + + Auto + InDialog + false + BothWays + + Catalog.ДоговорыКонтрагентов.StandardAttribute.Description + Catalog.ДоговорыКонтрагентов.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + + + false + + Catalog.Контрагенты + Document.ЗаказПоставщику + + + Managed + Use + + + + + + Use + Auto + DontUse + false + false + + + + diff --git a/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Catalogs/ДоговорыКонтрагентов/Ext/ObjectModule.bsl b/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Catalogs/ДоговорыКонтрагентов/Ext/ObjectModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Catalogs/Контрагенты.xml b/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Catalogs/Контрагенты.xml new file mode 100644 index 00000000..3c42df5f --- /dev/null +++ b/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/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 + + + + diff --git a/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Catalogs/Контрагенты/Ext/ObjectModule.bsl b/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Catalogs/Контрагенты/Ext/ObjectModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Catalogs/Организации.xml b/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Catalogs/Организации.xml new file mode 100644 index 00000000..8f50ee35 --- /dev/null +++ b/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/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 + + + + diff --git a/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Catalogs/Организации/Ext/ObjectModule.bsl b/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Catalogs/Организации/Ext/ObjectModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Configuration.xml b/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Configuration.xml new file mode 100644 index 00000000..3592f9ae --- /dev/null +++ b/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/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 + + + + 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-edit/snapshots/modify-property-mdobjectref/Documents/ЗаказПоставщику.xml b/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Documents/ЗаказПоставщику.xml new file mode 100644 index 00000000..8582fb23 --- /dev/null +++ b/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Documents/ЗаказПоставщику.xml @@ -0,0 +1,82 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + + ЗаказПоставщику + + + ru + Заказ поставщику + + + + true + + String + 11 + Variable + Year + true + true + + + + Document.ЗаказПоставщику.StandardAttribute.Number + + Use + Begin + DontUse + Directly + + + + + + + Allow + Deny + AutoDelete + WriteSelected + AutoFill + + true + true + false + + Managed + Use + + + + + + Auto + DontUse + false + false + + + + diff --git a/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Documents/ЗаказПоставщику/Ext/ObjectModule.bsl b/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Documents/ЗаказПоставщику/Ext/ObjectModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Languages/Русский.xml b/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Languages/Русский.xml new file mode 100644 index 00000000..37c60d78 --- /dev/null +++ b/tests/skills/cases/meta-edit/snapshots/modify-property-mdobjectref/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file