mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-14 23:39:02 +03:00
Заимствование формы с -BorrowMainAttribute синтезировало <Attribute name="Объект"> с нуля — Type/MainAttribute/SavedData и всё. Секции <UseAlways> и <Columns> исходной формы терялись, а вместе с ними и дополнительные колонки табличных частей, объявленные прямо в форме: платформа отвергала загрузку («Неверный путь к данным: Объект.Товары.Артикул»). Три связанных следствия: - секции переносятся из исходной формы (helper Get-MainAttributeExtraXml на оба порта, отступ в BaseForm — тем же приёмом, что у ChildItems); - табличная часть, упомянутая только в <AdditionalColumns table="…">, теперь попадает в сбор путей и заимствуется — иначе «Колонки не могут быть добавлены к реквизиту»; - типы колонок дозаимствуются через collect_reference_types, как это делает Конфигуратор (DefinedTypes/Артикул в эталоне). Попутно снят PS↔PY-дрейф: lxml включал хвостовой пробельный узел в tostring, из-за чего .py вставлял пустые строки, которых нет у .ps1 (with_tail=False в четырёх местах). E2E на UT_DEMO (8.3.27, формат 2.20, форма заказа поставщику): режим с основным реквизитом грузится «Load completed successfully» без ручных правок. Регресс 11/11 на обоих рантаймах.
63 lines
2.9 KiB
JSON
63 lines
2.9 KiB
JSON
{
|
|
"name": "Заимствование формы с основным реквизитом: перенос UseAlways/Columns и заимствование ТЧ из AdditionalColumns",
|
|
"preRun": [
|
|
{
|
|
"script": "meta-compile/scripts/meta-compile",
|
|
"input": {
|
|
"type": "Catalog", "name": "Номенклатура",
|
|
"attributes": [ { "name": "Артикул", "type": "String", "length": 25 } ]
|
|
},
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
|
},
|
|
{
|
|
"script": "meta-compile/scripts/meta-compile",
|
|
"input": {
|
|
"type": "Document", "name": "ЗаказКлиента",
|
|
"attributes": [ { "name": "Комментарий", "type": "String", "length": 100 } ],
|
|
"tabularSections": {
|
|
"Товары": [
|
|
{ "name": "Номенклатура", "type": "CatalogRef.Номенклатура" },
|
|
{ "name": "Количество", "type": "Number(10,3)" }
|
|
],
|
|
"Оплата": [ { "name": "Сумма", "type": "Number(15,2)" } ]
|
|
}
|
|
},
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
|
},
|
|
{
|
|
"script": "form-add/scripts/form-add",
|
|
"args": { "-ObjectPath": "{workDir}/Documents/ЗаказКлиента.xml", "-FormName": "ФормаДокумента" }
|
|
},
|
|
{
|
|
"script": "form-compile/scripts/form-compile",
|
|
"input": {
|
|
"title": "Заказ клиента",
|
|
"elements": [
|
|
{ "input": "Комментарий", "path": "Объект.Комментарий" },
|
|
{ "table": "Товары", "path": "Объект.Товары", "columns": [
|
|
{ "input": "Номенклатура", "path": "Объект.Товары.Номенклатура" },
|
|
{ "label": "Артикул", "path": "Объект.Товары.Артикул" }
|
|
] }
|
|
],
|
|
"attributes": [
|
|
{
|
|
"name": "Объект", "type": "DocumentObject.ЗаказКлиента", "main": true,
|
|
"useAlways": ["Объект.Комментарий"],
|
|
"additionalColumns": [
|
|
{ "table": "Объект.Оплата", "columns": [ { "name": "СуммаПрописью", "type": "String(200)" } ] },
|
|
{ "table": "Объект.Товары", "columns": [ { "name": "Артикул", "type": "String(25)" } ] }
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputPath": "{workDir}/Documents/ЗаказКлиента/Forms/ФормаДокумента/Ext/Form.xml" }
|
|
},
|
|
{
|
|
"script": "cfe-init/scripts/cfe-init",
|
|
"args": { "-Name": "Тест", "-OutputDir": "{workDir}/ext", "-ConfigPath": "{workDir}" }
|
|
}
|
|
],
|
|
"params": { "extensionPath": "ext", "object": "Document.ЗаказКлиента.Form.ФормаДокумента" },
|
|
"args_extra": ["-BorrowMainAttribute", "Form"]
|
|
}
|