mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-08 19:20:52 +03:00
Get-ChildIndent брал отступ из первого пробельного узла контейнера. В контейнере с детьми это отступ ПЕРЕД первым ребёнком — верно; в пустом (только что раскрытом) единственный пробельный узел — отступ ЗАКРЫВАЮЩЕГО тега, то есть уровень самого контейнера. Первый добавленный реквизит, команда или таблица получали отступ <ChildObjects>, а не на табуляцию глубже. То же во вложенном ChildObjects табличной части. Платформа такой файл принимает и при выгрузке нормализует, поэтому дефект косметический — но он задевал любой объект, а сравнивать наш вывод с выгрузкой становилось неудобно. Эталоны четырёх кейсов пересняты: git diff -w пуст, меняются только отступы. Все 23 снэпшота meta-edit, доезжающие до платформы, приняты 8.3.24.1691. Кейс eds-add-table-twice объявил skipPlatformVerify: он нарочно удаляет файл таблицы, оставляя висячую регистрацию, — платформа отказывает по условию кейса, а не из-за дефекта навыка. Радиус проверен: та же эвристика есть в cf-edit, form-edit, interface-edit и cfe-borrow (семья get_child_indent из списка долга check-inline-drift, не сведена). У form-edit пустой контейнер обрабатывается верно — проверено добавлением элемента в форму с <ChildItems/>; у cf-edit и cfe-borrow ветка недостижима: в ChildObjects конфигурации всегда есть <Language>. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NBsZA5cr2WFThtgp7i5WVi
68 lines
1.6 KiB
JSON
68 lines
1.6 KiB
JSON
{
|
|
"name": "Повторное добавление таблицы не даёт второй записи в ChildObjects",
|
|
"setup": "empty-config",
|
|
"preRun": [
|
|
{
|
|
"script": "meta-compile/scripts/meta-compile",
|
|
"input": {
|
|
"type": "ExternalDataSource",
|
|
"name": "PG",
|
|
"tables": {
|
|
"products": {
|
|
"keyFields": [
|
|
"id"
|
|
],
|
|
"fields": [
|
|
"id: Number(10,0)"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"args": {
|
|
"-JsonPath": "{inputFile}",
|
|
"-OutputDir": "{workDir}"
|
|
}
|
|
},
|
|
{
|
|
"script": "meta-edit/scripts/meta-edit",
|
|
"input": {
|
|
"add": {
|
|
"tables": {
|
|
"sales": [
|
|
"id: Number(10,0)"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"args": {
|
|
"-DefinitionFile": "{inputFile}",
|
|
"-ObjectPath": "{workDir}/ExternalDataSources/PG.xml"
|
|
}
|
|
},
|
|
{
|
|
"deletePath": "ExternalDataSources/PG/Tables/sales.xml"
|
|
}
|
|
],
|
|
"params": {
|
|
"objectPath": "ExternalDataSources/PG.xml"
|
|
},
|
|
"input": {
|
|
"add": {
|
|
"tables": {
|
|
"sales": [
|
|
"id: Number(10,0)"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"expect": {
|
|
"stdoutContains": [
|
|
"already exists"
|
|
],
|
|
"filesAbsent": [
|
|
"ExternalDataSources/PG/Tables/sales.xml"
|
|
]
|
|
},
|
|
"skipPlatformVerify": "кейс нарочно удаляет файл таблицы, оставляя висячую регистрацию: такую конфигурацию платформа не загрузит по условию кейса, а не из-за дефекта навыка"
|
|
}
|