mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-26 15:04:34 +03:00
0dc014dc47
Повторный borrow формы записывал пустой Module.bsl безусловно → терялся пользовательский код, добавленный в модуль формы (аналог IngvarConsulting/unica#4, воспроизведено: 150→3 байта). Теперь пустой модуль создаётся только если файла ещё нет; существующий сохраняется ("Preserved existing Module.bsl"). Дополняет идемпотентность re-borrow (форма-обёртка/uuid уже были закрыты в v1.5). Тест form-bindings усилен: между первым и вторым заимствованием в модуль пишется код (writeFile), idempotent:true теперь проверяет его сохранность побайтно. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
49 lines
2.6 KiB
JSON
49 lines
2.6 KiB
JSON
{
|
|
"name": "Заимствование формы: вырезание привязок (Multiple*/Footer) + идемпотентность (модуль и uuid не затираются при повторе)",
|
|
"preRun": [
|
|
{
|
|
"script": "meta-compile/scripts/meta-compile",
|
|
"input": { "type": "Catalog", "name": "Товары", "attributes": [ { "name": "Артикул", "type": "String", "length": 25 } ] },
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
|
},
|
|
{
|
|
"script": "form-add/scripts/form-add",
|
|
"args": { "-ObjectPath": "{workDir}/Catalogs/Товары.xml", "-FormName": "ФормаЭлемента" }
|
|
},
|
|
{
|
|
"script": "form-compile/scripts/form-compile",
|
|
"input": {
|
|
"title": "Тест",
|
|
"elements": [
|
|
{ "input": "Артикул", "path": "Объект.Артикул" },
|
|
{ "input": "Метки", "path": "Метки", "multipleValueDataPath": "Метки", "multipleValuePresentDataPath": "Метки" },
|
|
{ "input": "Подвал", "path": "ПолеПодвала", "footerDataPath": "ПолеПодвала", "footerText": "Итого" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "Объект", "type": "CatalogObject.Товары", "main": true },
|
|
{ "name": "Метки", "type": "string(50)" },
|
|
{ "name": "ПолеПодвала", "type": "string(50)" }
|
|
]
|
|
},
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputPath": "{workDir}/Catalogs/Товары/Forms/ФормаЭлемента/Ext/Form.xml" }
|
|
},
|
|
{
|
|
"script": "cfe-init/scripts/cfe-init",
|
|
"args": { "-Name": "Тест", "-OutputDir": "{workDir}/ext", "-ConfigPath": "{workDir}" }
|
|
},
|
|
{
|
|
"script": "cfe-borrow/scripts/cfe-borrow",
|
|
"args": { "-ExtensionPath": "{workDir}/ext", "-ConfigPath": "{workDir}", "-Object": "Catalog.Товары.Form.ФормаЭлемента", "-BorrowMainAttribute": "Form" }
|
|
},
|
|
{
|
|
"writeFile": {
|
|
"path": "ext/Catalogs/Товары/Forms/ФормаЭлемента/Ext/Form/Module.bsl",
|
|
"content": "&НаСервере\nПроцедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)\n\t// пользовательский код — не должен затираться повторным заимствованием\nКонецПроцедуры"
|
|
}
|
|
}
|
|
],
|
|
"params": { "extensionPath": "ext", "object": "Catalog.Товары.Form.ФормаЭлемента" },
|
|
"args_extra": ["-BorrowMainAttribute", "Form"],
|
|
"idempotent": true
|
|
}
|