Files
cc-1c-skills/tests/skills/cases/form-compile/dynamic-list-parameters.json
T
Nick Shirokov d5d525aa27 feat(form-compile): оформление групп/таблиц/picField/calendar + декод \u-комментариев (хвост Appearance)
Развёл Emit-Appearance ещё в 5 эмиттеров: UsualGroup/ColumnGroup/Table/PictureField/CalendarField
(профиль field; декомпилятор их уже захватывал в Add-CommonProps — теперь компилятор эмитит).
Порядок собственного оформления по корпусу: группа TitleTextColor/TitleFont/BackColor; таблица
BackColor/BorderColor — укладываются в field-профиль. Зеркало PS+Python.

PictureDecoration НЕ разведён намеренно: его XSD расщепляет оформление вокруг <Title>
(TextColor/Font до Title, Border после) + позиция <Picture> — отдельный мелкий кластер (2 строки).

Сертификация загрузкой в 1С 8.3.24: element-appearance (+ группа с BackColor),
dynamic-list-parameters (+ Table backColor/borderColor, колонка titleTextColor/border) — чисто.
Регресс 36/36 ps+py. Harness 1177→1146 (−31; весь кластер Appearance 1326→1146 = −180),
остаток appearance LOST = PictureDecoration 2, ADDED-регрессий 0.

Попутно: декодированы garbled \u-escape в КОММЕНТАРИЯХ form-compile.py (артефакт Edit-инструмента,
переэкранирующего кириллицу под ASCII-конвенцию файла; в комментариях \u не интерпретируется).
Строковые литералы (имена компаньонов) остаются \u-escaped — там escape функционален.
Версия form-compile v1.66.
2026-06-07 21:03:18 +03:00

48 lines
2.5 KiB
JSON

{
"name": "DynamicList — schema-параметры (DataCompositionSchemaParameter): shorthand + объект + полная грамматика",
"preRun": [
{
"script": "meta-compile/scripts/meta-compile",
"input": { "type": "Catalog", "name": "Товары", "attributes": [{ "name": "Артикул", "type": "String", "length": 25 }] },
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
},
{
"script": "form-add/scripts/form-add",
"args": { "-ObjectPath": "{workDir}/Catalogs/Товары.xml", "-FormName": "ФормаСписка", "-Purpose": "List" }
}
],
"params": { "outputPath": "Catalogs/Товары/Forms/ФормаСписка/Ext/Form.xml" },
"validatePath": "Catalogs/Товары/Forms/ФормаСписка/Ext/Form.xml",
"input": {
"title": "Товары",
"attributes": [
{ "name": "Список", "type": "DynamicList", "main": true, "settings": {
"mainTable": "Catalog.Товары",
"query": "ВЫБРАТЬ\n\tТовары.Ссылка КАК Ссылка,\n\tТовары.Код КАК Код,\n\tТовары.Наименование КАК Наименование,\n\tТовары.Артикул КАК Артикул\nИЗ\n\tСправочник.Товары КАК Товары\nГДЕ\n\tТовары.Артикул = &Артикул\n\tИ Товары.Наименование ПОДОБНО &Маска",
"parameters": [
"Артикул",
"Маска: string = %",
{ "name": "ВидЦен", "valueListAllowed": true },
{ "name": "Период", "type": "dateTime", "useRestriction": false },
{
"name": "Порог", "type": "decimal(10,2)", "value": 0,
"title": "Порог округления",
"availableValues": [
{ "value": null, "presentation": "Нет" },
{ "value": 1, "presentation": "Один" }
],
"denyIncompleteValues": true,
"use": "Always"
}
]
} }
],
"elements": [
{ "table": "Список", "path": "Список", "backColor": "web:Honeydew", "borderColor": "style:BorderColor", "columns": [
{ "input": "Код", "path": "Список.Код" },
{ "input": "Наименование", "path": "Список.Наименование", "titleTextColor": "web:FireBrick", "border": { "width": 1, "style": "Single" } }
]}
]
}
}