Files
cc-1c-skills/tests/skills/cases/meta-edit/error-eds-attribute-denied.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

61 lines
1.4 KiB
JSON

{
"name": "Реквизит в таблицу внешнего источника: отказ, поля из того же определения тоже не записаны",
"setup": "empty-config",
"preRun": [
{
"script": "meta-compile/scripts/meta-compile",
"input": {
"type": "ExternalDataSource",
"name": "PG",
"tables": {
"products": {
"keyFields": [
"id"
],
"fields": [
"id: Number(10,0)",
"name: String(150)"
]
}
}
},
"args": {
"-JsonPath": "{inputFile}",
"-OutputDir": "{workDir}"
}
}
],
"params": {
"objectPath": "ExternalDataSources/PG/Tables/products.xml"
},
"input": {
"add": {
"fields": [
"barcode: String(20) | nullable",
{
"name": "cost",
"type": "Number(15,2)",
"nameInDataSource": "cost_net",
"readOnly": true
}
],
"attributes": [
"Лишний: String(10)"
]
}
},
"expect": {
"fileNotContains": [
{
"file": "ExternalDataSources/PG/Tables/products.xml",
"text": [
"<Attribute uuid=",
"barcode",
"cost_net"
]
}
]
},
"expectError": "attributes not allowed for Table"
}