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