mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-15 10:24:57 +03:00
2ff99d1b77
Parse-DLParamShorthand брал тип regex'ом (\S+) — один токен без пробелов. Составной тип (CatalogRef.X | CatalogRef.Y, с пробелами вокруг |) не матчился → вся строка уходила в name → компилятор эмитил <dcssch:name>Имя: TYPE | TYPE</…> и ТЕРЯЛ <dcssch:valueType>. Фикс: тип = ([^=]+?) (допускает пробелы/|, исключает '='-разделитель значения); составной резолвится по частям (per-part Resolve-TypeStr, rejoin ' | '). Emit-DLValueType уже split'ил по |, эмиссия корректна. Зеркало py. Выборка 2.17: TOTAL 38→12 (составной тип у дин-списков Task/прочих восстановлен). Кейс dynamic-list-parameters (+составной параметр DocumentRef | CatalogRef → два TypeSet) сертифицирован загрузкой в 1С. Регресс 40/40 (ps1+py). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
49 lines
2.5 KiB
JSON
49 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 = %",
|
|
"Получатель: DocumentRef | CatalogRef",
|
|
{ "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" } }
|
|
]}
|
|
]
|
|
}
|
|
}
|