mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-27 15:11:03 +03:00
form-add и template-add вставляли запись в ChildObjects безусловно. Если форма/макет уже зарегистрированы (например, form-compile регистрирует <Form>, не создавая файл метаданных, а затем вызывается form-add) — возникал дубль <Form>/<Template>, ломавший валидацию. Приведено к идемпотентной модели, уже применённой в form-compile и meta-compile: перед вставкой ищем существующую запись по имени; при наличии — пропускаем и печатаем "Already registered ... (skipped duplicate)". Зеркально в ps1 и py, регрессионный тест-кейс. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
22 lines
869 B
JSON
22 lines
869 B
JSON
{
|
|
"name": "form-compile затем form-add не дублирует регистрацию формы в ChildObjects",
|
|
"setup": "none",
|
|
"preRun": [
|
|
{
|
|
"script": "epf-init/scripts/init",
|
|
"args": { "-Name": "КонсольКода", "-SrcDir": "{workDir}" }
|
|
},
|
|
{
|
|
"script": "form-compile/scripts/form-compile",
|
|
"input": {
|
|
"title": "Форма",
|
|
"attributes": [{ "name": "Объект", "type": "ExternalDataProcessorObject.КонсольКода", "main": true }]
|
|
},
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputPath": "{workDir}/КонсольКода/Forms/Форма/Ext/Form.xml" }
|
|
}
|
|
],
|
|
"params": { "objectPath": "КонсольКода.xml", "formName": "Форма" },
|
|
"expect": { "stdoutContains": "Already registered" },
|
|
"validatePath": "КонсольКода/Forms/Форма"
|
|
}
|