mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-15 10:24:57 +03:00
c383cc4ffe
Раундтрип терял несколько pass-through скаляров: - форм-уровень <ChildItemsWidth> (36 форм), <VerticalAlign> (26), <HorizontalSpacing> (25) — обрабатывались только как элементные генерики, не на форм-уровне; - <EqualItemsWidth> (check/radio, 28: false 23/true 5) и <ItemTitleHeight> (radio) — чистый двусторонний пробел (не ловились вовсе). decompile: форм-уровневые → KNOWN_FORM_PROPS; элементные → GENERIC_SCALARS (зеркало компилятора). compile (ps1+py): форм-уровневые через generic Emit-Properties (авто-PascalCase); элементные — в genericScalars (Emit-Layout→Emit-GenericScalars, покрывает check/radio). Верификация: таргет-раундтрип 129 форм с этими тегами → 5 категорий закрыты (0 LOST; остаток — др. категории Button>Parameter/valueType/content). Регресс form-compile 43/43 (ps1+py); 1С-cert groups (форм-уровень) + radio-auto-enum (element). spec. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
39 lines
2.5 KiB
JSON
39 lines
2.5 KiB
JSON
{
|
|
"name": "Форма с группами и командной панелью",
|
|
"preRun": [
|
|
{
|
|
"script": "meta-compile/scripts/meta-compile",
|
|
"input": { "type": "DataProcessor", "name": "СГруппами" },
|
|
"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": "Группы",
|
|
"properties": { "showCloseButton": false, "horizontalAlign": "Left", "childrenAlign": "ItemsLeftTitlesLeft", "childItemsWidth": "Equal", "verticalAlign": "Top", "horizontalSpacing": "Double" },
|
|
"elements": [
|
|
{ "cmdBar": "КоманднаяПанель", "autofill": true },
|
|
{ "group": "horizontal", "name": "ГруппаШапка", "behavior": "usual", "showTitle": true, "title": "Шапка", "shortcut": "Ctrl+G", "childrenAlign": "ItemsRightTitlesLeft", "horizontalStretch": true, "groupHorizontalAlign": "Right", "throughAlign": "Use", "verticalAlign": "Top", "childItemsWidth": "Equal", "horizontalSpacing": "None", "children": [
|
|
{ "input": "Поле1", "path": "Поле1", "title": "Поле 1", "width": 20, "skipOnInput": true, "mask": "999-999" },
|
|
{ "input": "Поле2", "path": "Поле2", "title": "Поле 2" },
|
|
{ "labelField": "Метка", "path": "Поле1", "groupVerticalAlign": "Center" }
|
|
]},
|
|
{ "group": "vertical", "name": "ГруппаПодвал", "behavior": "collapsible", "collapsed": true, "title": { "ru": "Подвал", "en": "Footer" }, "collapsedTitle": "Развернуть подвал", "titleDataPath": "Изменено", "format": { "ru": "БЛ=; БИ=*", "en": "BF=; BT=*" }, "showLeftMargin": false, "enableContentChange": false, "verticalSpacing": "None", "displayImportance": "Low", "children": [
|
|
{ "input": "Поле3", "path": "Поле3", "title": "Поле 3" }
|
|
]}
|
|
],
|
|
"attributes": [
|
|
{ "name": "Объект", "type": "DataProcessorObject.СГруппами", "main": true },
|
|
{ "name": "Поле1", "type": "string" },
|
|
{ "name": "Поле2", "type": "decimal(15,2)" },
|
|
{ "name": "Поле3", "type": "date" },
|
|
{ "name": "Изменено", "type": "boolean" }
|
|
]
|
|
}
|
|
}
|