diff --git a/.claude/skills/mxl-compile/SKILL.md b/.claude/skills/mxl-compile/SKILL.md index 88d4ca3f..ae7b7833 100644 --- a/.claude/skills/mxl-compile/SKILL.md +++ b/.claude/skills/mxl-compile/SKILL.md @@ -49,7 +49,7 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/mxl-compile.ps1" -J |---|---| | Полные таблицы полей, развёрнутый пример, ограничения формата | `reference/dsl-spec.md` | | Шрифты, стили, цвета, рамки, колоночные раскладки и стили колонок | `reference/styles.md` | -| Полный перечень свойств стиля — все 44 | `reference/format-properties.md` | +| Полный перечень свойств стиля | `reference/format-properties.md` | Краткая структура: @@ -80,7 +80,7 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/mxl-compile.ps1" -J - `col` — 1-based позиция колонки - `rowspan` — объединение строк вниз (rowStyle учитывает занятые ячейки) - Содержимое ячейки задаётся одним из ключей: `param` — параметр заполнения, `text` — статический текст, `template` — текст со вставками `[Параметр]` -- `valueType` делает ячейку полем ввода (`"Number(15,3,nonneg)"`, `"String(10)"`, `"CatalogRef.Валюты"`, составной через ` + `); текста в такой ячейке быть не может, а `controlType: "checkbox"` меняет поле ввода на флажок; `value` — значение в поле +- `valueType` делает ячейку полем ввода (`"Number(15,3,nonneg)"`, `"String(10)"`, `"CatalogRef.Валюты"`, составной через ` + `); текста в такой ячейке быть не может. `value` — значение в поле, `controlType: "checkbox"` — флажок вместо поля ввода Двухуровневая шапка массивами: ```json diff --git a/.claude/skills/mxl-compile/reference/dsl-spec.md b/.claude/skills/mxl-compile/reference/dsl-spec.md index 4f7f123b..ccb073e4 100644 --- a/.claude/skills/mxl-compile/reference/dsl-spec.md +++ b/.claude/skills/mxl-compile/reference/dsl-spec.md @@ -152,8 +152,7 @@ | `{ ... }` | Обычная ячейка **без** `col`; нужна для `style`, `detail`, `template` | Объект-элемент трактуется по его ключам: если среди них есть ключ ячейки (`span`, `rowspan`, -`style`, `param`, `detail`, `text`, `template`, `valueType`, `controlType`, `value`, -`control`) — объект +`style`, `param`, `detail`, `text`, `template`, `valueType`, `controlType`, `value`) — объект описывает свойства ячейки. Иначе он целиком считается её текстом, а его ключи — идентификаторами языков. @@ -187,7 +186,6 @@ | `valueType` | нет | — | Тип значения: ячейка становится полем ввода (см. ниже) | | `controlType` | нет | `input` | Элемент управления поля ввода: `input` или `checkbox`. Только вместе с `valueType` | | `value` | нет | — | Значение в поле ввода. Только вместе с `valueType` | -| `control` | нет | — | Настройки элемента управления в записи платформы (base64). Раундтрип, не для ручного авторинга | ### Содержимое ячейки @@ -252,12 +250,10 @@ Пустой тип `"valueType": ""` — «ячейка содержит значение», но тип не ограничен. -Значение поля ввода задаётся ключом `value`, и его тип выражается литералом JSON: строка — -строкой, число — числом, булево — `true`/`false`. Приведения к объявленному типу **не -происходит**: платформа хранит значение с его собственным типом и совпадать с объявленным он -не обязан (у ссылочного и составного типа значение всегда строковое). Пустая строка означает -пустое значение объявленного типа. Дата записывается строкой в формате `ГГГГ-ММ-ДДTчч:мм:сс` -и читается как дата только у ячейки, объявленной датой. +Значение поля ввода задаётся ключом `value`. Его тип — тип литерала JSON: строка, число, +`true`/`false`; к объявленному типу ячейки значение не приводится. Пустая строка означает +пустое значение объявленного типа. Дата пишется строкой `ГГГГ-ММ-ДДTчч:мм:сс` и читается +как дата у ячейки, объявленной датой; у ссылочного и составного типа значение — строка. ```json { "col": 1, "valueType": "Number(15,3)", "value": 12.5 } @@ -266,9 +262,8 @@ { "col": 4, "valueType": "DateTime", "value": "" } ``` -`controlType` нужен редко: умолчание платформы — поле ввода, и оно применяется ко всем типам, -включая `Boolean`. Флажок задаётся явно. Значение `"none"` (тега элемента управления нет вовсе) — -форма раундтрипа, для ручного авторинга не нужна. +`controlType` нужен редко: умолчание платформы — поле ввода, и оно подходит всем типам, включая +`Boolean`. Флажок задаётся явно. ## `rowStyle` — оформление строки diff --git a/.claude/skills/mxl-compile/reference/format-properties.md b/.claude/skills/mxl-compile/reference/format-properties.md index 89a81394..dde3db00 100644 --- a/.claude/skills/mxl-compile/reference/format-properties.md +++ b/.claude/skills/mxl-compile/reference/format-properties.md @@ -74,4 +74,4 @@ - `fillType` — выводится из того, каким ключом задано содержимое ячейки (`text` / `param` / `template`); - `containsValue`, `valueType`, `controlType` — свойства конкретной ячейки, а не общего - оформления: задаются ключами ячейки `valueType` и `control`. + оформления: задаются ключами ячейки `valueType` и `controlType` (см. `dsl-spec.md`). diff --git a/docs/mxl-dsl-format-properties.md b/docs/mxl-dsl-format-properties.md index ea83d882..845f18dd 100644 --- a/docs/mxl-dsl-format-properties.md +++ b/docs/mxl-dsl-format-properties.md @@ -74,4 +74,4 @@ - `fillType` — выводится из того, каким ключом задано содержимое ячейки (`text` / `param` / `template`); - `containsValue`, `valueType`, `controlType` — свойства конкретной ячейки, а не общего - оформления: задаются ключами ячейки `valueType` и `control`. + оформления: задаются ключами ячейки `valueType` и `controlType`.