Files
cc-1c-skills/tests/skills/cases/meta-edit/lenient-attribute-key-case.json
T
Nick ShirokovandClaude Opus 5.5 0ff848784e 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>
2026-09-26 17:31:28 +03:00

56 lines
1.4 KiB
JSON

{
"name": "Прощающий ввод: ключи свойств реквизита в другом регистре — канонические теги, Name переименовывает",
"preRun": [
{
"script": "meta-compile/scripts/meta-compile",
"input": {
"type": "Catalog",
"name": "Контрагенты",
"attributes": [
"ИНН: String(12)"
]
},
"args": {
"-JsonPath": "{inputFile}",
"-OutputDir": "{workDir}"
}
}
],
"params": {
"objectPath": "Catalogs/Контрагенты"
},
"input": {
"modify": {
"attributes": {
"ИНН": {
"Name": "КодНалогоплательщика",
"indexing": "Index",
"fillchecking": "ShowError"
}
}
}
},
"expect": {
"fileContains": [
{
"file": "Catalogs/Контрагенты.xml",
"text": [
"<Name>КодНалогоплательщика</Name>",
"<v8:content>Код налогоплательщика</v8:content>",
"<Indexing>Index</Indexing>",
"<FillChecking>ShowError</FillChecking>"
]
}
],
"fileNotContains": [
{
"file": "Catalogs/Контрагенты.xml",
"text": [
"<indexing",
"<fillchecking"
]
}
]
}
}