Files
cc-1c-skills/tests/skills/cases/meta-edit/error-atomic-command-module.json
T
Nick ShirokovandClaude Opus 5.5 cfd2d1be50 fix(meta-edit): отказ вместо предупреждения, когда операция не выполнена
WARN с кодом 0 означал «не смог»: в пакетном прогоне это выглядело как успех.
Теперь предупреждение остаётся только там, где нужное уже есть (элемент уже
добавлен, удалять нечего, позиция after/before не найдена — добавлено в конец).
Остальное — ошибка в stderr и код 1: неизвестный ключ или операция, неверный
формат, недопустимый у типа ребёнок, изменение несуществующего элемента, формы и
макеты (их делают form-add/template-add).

Отказ атомарен: побочные файлы (таблица внешнего источника, модуль команды,
предопределённые) пишутся после основного XML, так что отказ посреди определения
не оставляет на диске ни одного изменения.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-26 16:50:51 +03:00

44 lines
1.0 KiB
JSON

{
"name": "Отказ посреди определения: ни XML, ни модуль команды из той же правки не записаны",
"preRun": [
{
"script": "meta-compile/scripts/meta-compile",
"input": {
"type": "Catalog",
"name": "Контрагенты"
},
"args": {
"-JsonPath": "{inputFile}",
"-OutputDir": "{workDir}"
}
}
],
"params": {
"objectPath": "Catalogs/Контрагенты"
},
"input": {
"add": {
"commands": [
"ОткрытьДосье"
],
"реквизитыОпечатка": [
"Лишний: String(10)"
]
}
},
"expectError": "Unknown add child type",
"expect": {
"fileNotContains": [
{
"file": "Catalogs/Контрагенты.xml",
"text": [
"<Command uuid="
]
}
],
"filesAbsent": [
"Catalogs/Контрагенты/Commands/ОткрытьДосье/Ext/CommandModule.bsl"
]
}
}