fix(meta-edit): ключ свойства в любом регистре — в XML каноническое имя

ps1 сопоставлял ключ свойства без учёта регистра, но при создании элемента писал
тег как подан: registerRecords у заимствованного документа давал <registerRecords>,
и meta-validate его пропускал. py сравнивал точно и на том же входе отказывал.

Ключ свойства объекта и дочернего элемента теперь сводится к каноническому имени
(ключи веток modify — name/type/synonym… — впереди списка свойств), дальше в обоих
портах только оно. Попутно: py при переименовании сравнивал синоним с разбивкой
старого имени с учётом регистра и не обновлял авто-синоним «ИНН»; сравнение теперь
без учёта регистра, как в ps1.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-09-26 17:31:28 +03:00
co-authored by Claude Opus 5.5
parent 2fc5659b47
commit 0ff848784e
32 changed files with 2261 additions and 6 deletions
@@ -0,0 +1,38 @@
{
"name": "Прощающий ввод: ключ свойства объекта в другом регистре — в XML каноническое имя",
"preRun": [
{
"script": "meta-compile/scripts/meta-compile",
"input": {
"type": "Catalog",
"name": "Контрагенты"
},
"args": {
"-JsonPath": "{inputFile}",
"-OutputDir": "{workDir}"
}
}
],
"params": {
"objectPath": "Catalogs/Контрагенты"
},
"input": {
"modify": {
"properties": {
"codeLength": 11,
"hierarchical": true
}
}
},
"expect": {
"fileContains": [
{
"file": "Catalogs/Контрагенты.xml",
"text": [
"<CodeLength>11</CodeLength>",
"<Hierarchical>true</Hierarchical>"
]
}
]
}
}