Files
cc-1c-skills/tests/skills/cases/form-compile/chart-fields.json
T
Nick Shirokov f064d53eb2 feat(form-decompile,form-compile): Planner design-time Settings из ring-3 (Фаза 1 кластера Chart-Settings)
Реквизит 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>
2026-06-10 13:35:10 +03:00

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" }
} }
]
}
}