mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-26 06:54:38 +03:00
8998c0b5db
CalendarField терял специфичные свойства при раундтрипе: декомпилятор их не читал, компилятор не эмитил. Пробел DSL (класс 3). CalendarField — длинный хвост (18 форм на 17033, 0.1%), но элемент маленький и ограниченный → решено покрыть целиком, убрав класс молчаливых потерь. Добавлены ключи (passthrough, эмитятся только при наличии): selectionMode, showCurrentDate, widthInMonths, heightInMonths, showMonthsPanel. Плюс подключён общий titleLocation (раньше у календаря не обрабатывался). Порядок тегов выверен по корпусу (18 форм): DataPath > Title > TitleLocation > [layout] > SelectionMode > ShowCurrentDate > WidthInMonths > HeightInMonths > ShowMonthsPanel > companions > Events. Декомпилятор (ps1) + компилятор (ps1+py) + spec. Новый тест-кейс calendar (два календаря: со скалярами+событием и с months-panel), сертифицирован в 1С 8.3.24. Регресс ps+py 33/33. Tooltip-свойства календаря (ToolTip/ToolTipRepresentation) намеренно оставлены будущему общему tooltip-кластеру. Раундтрип календарных форм: ПериодКомандировки → match; остаточный TitleLocation на radio/table — отдельная находка (BACKLOG). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
29 lines
1.3 KiB
JSON
29 lines
1.3 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": "Календарь",
|
|
"elements": [
|
|
{ "calendar": "Календарь", "path": "Дата", "titleLocation": "none", "selectionMode": "Interval", "showCurrentDate": false, "widthInMonths": 2, "events": { "OnActivateDate": "КалендарьПриАктивизацииДаты" } },
|
|
{ "calendar": "КалендарьМесяцы", "path": "ДатаМесяцы", "showMonthsPanel": true, "heightInMonths": 0 }
|
|
],
|
|
"attributes": [
|
|
{ "name": "Объект", "type": "DataProcessorObject.Календарь", "main": true },
|
|
{ "name": "Дата", "type": "date" },
|
|
{ "name": "ДатаМесяцы", "type": "date" }
|
|
]
|
|
}
|
|
}
|