From faa8ab765929ca0f5a52b0830177697970197246 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sat, 15 Aug 2026 14:02:45 +0300 Subject: [PATCH] =?UTF-8?q?docs(mxl-compile):=20=D0=B2=D1=8B=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=B8=D1=82=D1=8C=20=D0=BA=D0=B0=D1=81=D0=BA=D0=B0?= =?UTF-8?q?=D0=B4=20=D0=B8=D0=BD=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=86=D0=B8?= =?UTF-8?q?=D0=B8=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=B8=D0=BC=D0=B5=D0=BD=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BA=D0=BB=D1=8E=D1=87=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit В перечне свойств стиля осталось прежнее имя ключа: свойства значения задаются через valueType и controlType, а не control. Каскад навыка почищен от того, что нужно раундтрипу, а не автору: ключ настроек элемента управления и значение "none" остались только в спецификации, мотивировка «почему значение не приводится к объявленному типу» заменена самим правилом. Из SKILL.md убрано число свойств стиля — оно разъезжается с перечнем при каждом пополнении. Зеркало reference/dsl-spec.md с этого момента не копия docs/: в спецификации подробности, в инструкции навыка — применение. Co-Authored-By: Claude Opus 5 (1M context) --- .claude/skills/mxl-compile/SKILL.md | 4 ++-- .../skills/mxl-compile/reference/dsl-spec.md | 19 +++++++------------ .../reference/format-properties.md | 2 +- docs/mxl-dsl-format-properties.md | 2 +- 4 files changed, 11 insertions(+), 16 deletions(-) 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`.