fix(meta-edit): нормализация MDObjectRef в Owners/BasedOn/RegisterRecords/References

Та же дыра, что и в meta-compile, но здесь нормализации не было вообще —
Normalize-MDObjectRef отсутствовала как функция. set-owners "CatalogRef.Валюты"
(или modify.properties.Owners) записывал неверную ссылку молча.

- Перенесена мапа корней + Normalize-MDObjectRef (зеркало meta-compile).
- В complexPropertyMap добавлены флаги mdref/root; нормализация подключена
  в Add-/Remove-/Set-ComplexPropertyItem рядом с существующим expand.
  Покрывает Owners, RegisterRecords, BasedOn, RegisteredDocuments.
- References графы журнала документов — эмитились напрямую, тоже нормализуются.

Инструкция навыка не менялась: SKILL.md и json-dsl.md уже показывают
каноническую форму Catalog.Контрагенты.

Кейс modify-property-mdobjectref (документированный путь modify.properties).
Регресс 20/20 ps1+py, 1С-сертификация снэпшота пройдена.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-07-25 14:27:14 +03:00
co-authored by Claude Opus 5
parent 66d45d3654
commit eb1a2ed8c1
14 changed files with 781 additions and 12 deletions
@@ -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.ЗаказПоставщику"]
}
}
}
}