mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-27 07:01:02 +03:00
fix(meta-compile): нормализация MDObjectRef — CatalogRef./русская запись → Catalog.
MDObjectRef ссылается на ОБЪЕКТ метаданных (Catalog.Валюты), а не на тип ссылки. Эмиттеры пропускали значение как есть, если в нём была точка, поэтому "CatalogRef.Валюты" доходил до XML без изменений → при загрузке конфигурации платформа отвечала «Неизвестный объект метаданных». Инструкция вела в баг сама: reference/catalog.md документировал owners: ["CatalogRef.Контрагенты"]. Тестами не ловилось — все кейсы использовали каноническую форму. - Normalize-MDObjectRef расширена ссылочными формами (англ. *Ref + рус. *Ссылка); вида метаданных, оканчивающегося на Ref, не существует → схлопывание однозначно. В ТИПАХ реквизитов запись CatalogRef.X верна — там мапа не применяется. - Добавлен параметр defaultRoot (голое имя без точки), инлайн-подстановка "Catalog.$ownerRef" в owners убрана — логика теперь в одном месте. - Нормализация применена в 4 местах, где её не было: owners, basedOn, registerRecords, baseCalculationTypes. - Кейс catalog-inputbystring-datalock переведён на неканонический вход: снэпшот не изменился ни на байт — прямое доказательство нормализации. Регресс 73/73 ps1+py, полная сюита 566/566. Живая проверка на 8.3.27: подчинённый справочник с owners CatalogRef./СправочникСсылка. грузится чисто. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
e01688e764
commit
66d45d3654
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"name": "InputByString / DataLockFields / BasedOn каталога",
|
||||
"name": "InputByString / DataLockFields / BasedOn каталога (+нормализация MDObjectRef: CatalogRef./рус. → Catalog.)",
|
||||
"input": {
|
||||
"type": "Catalog",
|
||||
"name": "ДоговорыКонтрагентов",
|
||||
"owners": ["Catalog.Контрагенты"],
|
||||
"owners": ["CatalogRef.Контрагенты"],
|
||||
"codeLength": 11,
|
||||
"descriptionLength": 100,
|
||||
"inputByString": ["Код", "Наименование", "НомерДоговора"],
|
||||
"dataLockFields": ["Организация", "Контрагент", "Владелец"],
|
||||
"basedOn": ["Catalog.Контрагенты", "Document.ЗаказПоставщику"],
|
||||
"basedOn": ["Справочник.Контрагенты", "DocumentRef.ЗаказПоставщику"],
|
||||
"attributes": [
|
||||
"Организация: CatalogRef.Организации",
|
||||
"Контрагент: CatalogRef.Контрагенты",
|
||||
|
||||
Reference in New Issue
Block a user