fix(form,meta,skd): срезать любой сгенерированный префикс dNpM:, не только d5p1

Имя префикса для .../8.1/data/enterprise/current-config платформа выдаёт по
порядку объявления в файле: в корпусе acc_8.3.27 на этом URI встречаются d4p1,
d5p1 и d6p1. Литеральное d5p1: покрывало лишь часть случаев — тип, скопированный
из Predefined.xml, приходит с d4p1: и даёт ту же ошибку «Неизвестное имя типа».

Обобщено до ^d\d+p\d+: — так же, как это уже делает form-info. Условие «только у
ссылочных типов, с точкой» сохранено: все 11 спец-типов чужих пространств имён
(d5p1:Chart, mxl:SpreadsheetDocument, pl:Planner и др.) точки не имеют.

Регресс-кейс расширен на d4p1 и d6p1: все шесть форм ввода дают один
cfg:CatalogRef.Склады.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-08-08 20:04:06 +03:00
co-authored by Claude Opus 5
parent 826ba3de71
commit 3c50d3caa0
14 changed files with 185 additions and 85 deletions
@@ -208,6 +208,86 @@
</Properties>
</Attribute>
<Attribute uuid="UUID-015">
<Properties>
<Name>СкладD4p1</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Складd4p1</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>cfg:CatalogRef.Склады</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="UUID-016">
<Properties>
<Name>СкладD6p1</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Складd6p1</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>cfg:CatalogRef.Склады</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="UUID-017">
<Properties>
<Name>СкладEng</Name>
<Synonym>
@@ -7,6 +7,8 @@
"СкладПлайн: СправочникСсылка.Склады",
"СкладCfg: cfg:СправочникСсылка.Склады",
"СкладD5p1: d5p1:СправочникСсылка.Склады",
"СкладD4p1: d4p1:СправочникСсылка.Склады",
"СкладD6p1: d6p1:СправочникСсылка.Склады",
"СкладEng: cfg:CatalogRef.Склады"
]
},
@@ -19,7 +21,13 @@
},
"fileNotContains": {
"file": "Catalogs/Товары.xml",
"text": ["cfg:СправочникСсылка", "d5p1:СправочникСсылка", "cfg:cfg:"]
"text": [
"cfg:СправочникСсылка",
"d5p1:СправочникСсылка",
"d4p1:СправочникСсылка",
"d6p1:СправочникСсылка",
"cfg:cfg:"
]
}
}
}