mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-15 02:14:57 +03:00
786bdf97d9
<Columns><AdditionalColumns table="Объект.ТабЧасть"><Column>…</AdditionalColumns></Columns>
у главного реквизита-объекта (3654 формы, 10187 блоков) — форма-определённые доп.
колонки табличных частей. Декомпилятор читал только прямые <Column> (SelectNodes lf:Column),
теряя AdditionalColumns целиком (часто весь <Columns> блок объекта).
Ключ реквизита additionalColumns: [{ table, columns: [<col>] }]; <col> — та же грамматика,
что у columns (name/type/title/functionalOptions). Общие хелперы Emit/Decompile-AttrColumn
(переиспользуются прямыми колонками и AdditionalColumns). Порядок схемы: прямые <Column>
сначала, затем AdditionalColumns-группы.
TOTAL diff lines выборки 2.17: 3695 → 3347 (-348). Attribute>Columns/AdditionalColumns
residual → 0. Новый кейс additional-columns (DataProcessor с табчастью + форма) сертифицирован
в 1С (8.3.24). Регресс form-compile 34/34 зелёный на ps + python.
decompile v0.37, compile v1.55.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
39 lines
1.4 KiB
JSON
39 lines
1.4 KiB
JSON
{
|
|
"name": "Доп. колонки табличной части объекта (AdditionalColumns)",
|
|
"preRun": [
|
|
{
|
|
"script": "meta-compile/scripts/meta-compile",
|
|
"input": {
|
|
"type": "DataProcessor",
|
|
"name": "ДопКолонки",
|
|
"tabularSections": [
|
|
{ "name": "Прочее", "attributes": [ { "name": "Значение", "type": "String", "length": 50 } ] }
|
|
]
|
|
},
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
|
},
|
|
{
|
|
"script": "form-add/scripts/form-add",
|
|
"args": { "-ObjectPath": "{workDir}/DataProcessors/ДопКолонки.xml", "-FormName": "Форма" }
|
|
}
|
|
],
|
|
"params": { "outputPath": "DataProcessors/ДопКолонки/Forms/Форма/Ext/Form.xml" },
|
|
"validatePath": "DataProcessors/ДопКолонки/Forms/Форма/Ext/Form.xml",
|
|
"input": {
|
|
"title": "Доп. колонки",
|
|
"elements": [
|
|
{ "label": "Подпись", "title": "Форма с доп. колонками табличной части" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "Объект", "type": "DataProcessorObject.ДопКолонки", "main": true,
|
|
"additionalColumns": [
|
|
{ "table": "Объект.Прочее", "columns": [
|
|
{ "name": "Доступность", "type": "boolean" },
|
|
{ "name": "Служебная", "type": "string" }
|
|
]}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|