Files
cc-1c-skills/tests/skills/cases/form-compile/element-appearance.json
T
Nick Shirokov 6e4fdb443a feat(form-decompile,form-compile): батч скаляров (IncompleteChoiceMode/EqualColumnsWidth/ChildrenAlign/ImageScale/Zoomable/Shape/PictureLocation) + форменные ShowCloseButton/HorizontalAlign/ChildrenAlign/ShowTitle + PictureDecoration NonselectedPictureText + ShowTitle factual
Из топа list-iter2 (формы из корпуса):
- Generic-скаляры (input/radio/group/picDecoration/button через Emit-Layout): IncompleteChoiceMode,
  EqualColumnsWidth(bool), ChildrenAlign, ImageScale, Zoomable(bool), Shape, PictureLocation.
- Форменные свойства → KNOWN_FORM_PROPS (декомпилятор) + авто-PascalCase Emit-Properties:
  ShowCloseButton, HorizontalAlign, ChildrenAlign, ShowTitle.
- PictureDecoration NonselectedPictureText (ML, как у picField; после Title).
- ShowTitle factual у UsualGroup/Page/ColumnGroup — раньше ловили/эмитили только false,
  явный <ShowTitle>true> терялся (8989 в корпусе); теперь true/false при наличии.

⚠️ Table HeaderHeight/FooterHeight/CurrentRowUse НЕ добавлены: строгий Table-XSD требует точной
позиции тегов (Representation→…→HeaderHeight→Footer→…→CurrentRowUse→RowFilter), generic-позиция
ломает загрузку (XDTO exception) — отдельная задача по позициям в Emit-Table.

Зеркало py. Выборка 82 формы: 0 корневых утечек батч-тегов (остаток — CFE-форма с потерянным
контейнером расширения, не связано). Кейсы table/radio-tumbler-strings/groups/element-appearance/
input-fields расширены и сертифицированы в 1С (явный ShowTitle=true, форменные props, picDecoration
NPT, button Shape/PictureLocation). Регресс 43/43 (ps1+py).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 22:09:32 +03:00

48 lines
2.3 KiB
JSON

{
"name": "Оформление элементов — цвета/шрифты/граница на decoration/input/button/group/picture (профили порядка)",
"preRun": [
{
"script": "meta-compile/scripts/meta-compile",
"input": { "type": "Catalog", "name": "Товары", "attributes": [{ "name": "Цена", "type": "Number", "length": 10, "precision": 2 }] },
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
},
{
"script": "form-add/scripts/form-add",
"args": { "-ObjectPath": "{workDir}/Catalogs/Товары.xml", "-FormName": "ФормаЭлемента", "-Purpose": "Object" }
}
],
"params": { "outputPath": "Catalogs/Товары/Forms/ФормаЭлемента/Ext/Form.xml" },
"validatePath": "Catalogs/Товары/Forms/ФормаЭлемента/Ext/Form.xml",
"input": {
"title": "Товары",
"attributes": [
{ "name": "Объект", "type": "CatalogObject.Товары", "main": true }
],
"elements": [
{ "label": "Внимание!",
"textColor": "web:FireBrick",
"font": { "faceName": "Arial", "height": 12, "bold": true, "italic": false, "underline": false, "strikeout": false, "kind": "Absolute", "scale": 100 },
"border": { "width": 1, "style": "Single" } },
{ "input": "Цена", "path": "Объект.Цена",
"textColor": "#FF0000",
"borderColor": "style:BorderColor" },
{ "label": "Из стиля",
"textColor": "web:DimGray",
"font": "style:NormalTextFont",
"border": "style:ControlBorder" },
{ "button": "ОК", "title": "ОК",
"shape": "Oval", "pictureLocation": "Right",
"backColor": "web:Honeydew",
"borderColor": "style:BorderColor",
"font": "style:NormalTextFont" },
{ "group": "ГруппаОформление", "backColor": "web:Honeydew", "children": [
{ "input": "Цена2", "path": "Объект.Цена", "textColor": "web:DimGray" }
]},
{ "picture": "Логотип", "src": "StdPicture.Print",
"imageScale": 150, "zoomable": true, "nonselectedPictureText": "Нет изображения",
"textColor": "web:FireBrick", "font": "style:NormalTextFont",
"border": { "width": 1, "style": "Single" } }
]
}
}