mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-15 02:14:57 +03:00
f064d53eb2
Реквизит planner-типа несёт <Settings xsi:type="pl:Planner"> — встроенный конфиг
поля-планировщика (элементы расписания + оформление/поведение + шкала времени).
Раньше декомпилятор делал fail-ring3 (третий вид Settings после TypeDescription/
DynamicList). Корпус 8.3.24: Planner Settings = 1 реальная форма (КонтактныеЛица/
ФормаЛиды), всё chart-семейство = 38 форм. Решение (с пользователем): структурный
DSL ради возможности модели СОЗДАВАТЬ дашборды/планировщики, не только раундтрипить.
DSL: ключ planner:{…} на реквизите (docs/form-dsl-spec.md):
- items[] (элементы расписания) + appearance/поведение-скаляры + timeScale
(placement/levels[]/colors) + period;
- цвета verbatim, шрифт {kind:AutoFont}/ref, граница {width,style}, ML-форматы;
- компилятор подставляет дефолты для пропущенных ключей (краткий авторинг),
декомпилятор — полный захват (раундтрип бит-в-бит).
Снят fail-ring3 для pl:Planner (Chart/GanttChart остаются — Фазы 2/3).
Заодно фикс: d5p1:Dendrogram отсутствовал в specialTypeNs (эмитился без
xmlns-префикса) — добавлен в карту (ps1+py).
Раундтрип бит-в-бит: синтетика upload/epf/Диаграммы (с items+period) +
реальная ФормаЛиды (без items/period, иные значения скаляров). Зеркало py
(ps1==py байт-в-байт). Кейс chart-fields расширен (+planner +dendrogram),
сертифицирован загрузкой в 1С. Регресс 41/41 (ps1+py).
Ограничение Phase 1: dimensions/item.dimensionValues пока всегда пустые.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
43 lines
2.1 KiB
JSON
43 lines
2.1 KiB
JSON
{
|
|
"name": "Форма с полями диаграмм + design-time Settings планировщика",
|
|
"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": [
|
|
{ "chart": "Диаграмма", "path": "Диаграмма", "titleLocation": "none" },
|
|
{ "graphicalSchema": "Схема", "path": "Схема", "titleLocation": "none", "edit": false },
|
|
{ "periodField": "Период", "path": "Период", "titleLocation": "none" },
|
|
{ "ganttChart": "Ганта", "path": "Ганта", "titleLocation": "none",
|
|
"ganttTable": { "table": "ТаблицаГанта", "path": "Ганта", "height": 3 } },
|
|
{ "dendrogram": "Дендро", "path": "Дендро", "titleLocation": "none" },
|
|
{ "planner": "Планировщик", "path": "Планировщик", "titleLocation": "none" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "Объект", "type": "DataProcessorObject.Диаграммы", "main": true },
|
|
{ "name": "Диаграмма", "type": "d5p1:Chart" },
|
|
{ "name": "Схема", "type": "d5p1:FlowchartContextType" },
|
|
{ "name": "Период", "type": "v8:StandardPeriod" },
|
|
{ "name": "Ганта", "type": "d5p1:GanttChart" },
|
|
{ "name": "Дендро", "type": "d5p1:Dendrogram" },
|
|
{ "name": "Планировщик", "type": "pl:Planner", "planner": {
|
|
"items": [
|
|
{ "text": "Встреча", "begin": "2026-06-09T01:00:00", "end": "2026-06-09T04:00:00" }
|
|
],
|
|
"period": { "begin": "2026-06-09T00:00:00", "end": "2026-06-09T23:59:59" }
|
|
} }
|
|
]
|
|
}
|
|
}
|