mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-15 02:14:57 +03:00
d88859580f
Ранее отложил PictureDecoration, ошибочно решив, что падение загрузки = порядок тегов (XSD расщепляет appearance вокруг <Title>). Разбор остатка показал: падало из-за НЕВАЛИДНОЙ ссылки на картинку в тесте (picture:"Картинка" → <xr:Ref>Картинка</xr:Ref>, такой CommonPicture нет), а не из-за оформления. Проверка с валидной StdPicture.Print + appearance → грузится чисто. Ключевой факт: 1С ТОЛЕРАНТНА к порядку оформления внутри элемента. LabelDecoration в корпусе тоже расщепляет appearance вокруг Title (TextColor/Font до Title — тысячи раз; BackColor/Border после), но компилятор эмитит contiguous-после-Title — и LabelDecoration сертифицировался. Значит профиль decoration валиден и для PictureDecoration. Разведён 12-й эмиттер (pictureDecoration, профиль decoration), PS+Python. Кейс element-appearance расширен PictureDecoration (StdPicture.Print, чистое имя через src). Сертификация загрузкой — чисто. Регресс 36/36 ps+py. Harness: остаток appearance LOST = 0 (был PictureDecoration 2), TOTAL 1146→1144; весь кластер Appearance 1326→1144 (−182). Версия form-compile v1.67.
46 lines
2.1 KiB
JSON
46 lines
2.1 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": "ОК",
|
|
"backColor": "web:Honeydew",
|
|
"borderColor": "style:BorderColor",
|
|
"font": "style:NormalTextFont" },
|
|
{ "group": "ГруппаОформление", "backColor": "web:Honeydew", "children": [
|
|
{ "input": "Цена2", "path": "Объект.Цена", "textColor": "web:DimGray" }
|
|
]},
|
|
{ "picture": "Логотип", "src": "StdPicture.Print",
|
|
"textColor": "web:FireBrick", "font": "style:NormalTextFont",
|
|
"border": { "width": 1, "style": "Single" } }
|
|
]
|
|
}
|
|
}
|