docs(mxl-compile): позиционный список ячеек работает и с rowStyle

Утверждение «короткой формой не задать height и rowStyle» неверно: проверено
компилятором, позиционный список кладётся в cells и уживается со свойствами
строки, включая маркеры > и |. Это форма записи ЯЧЕЕК, а не строки — так
и сформулировано теперь в инструкции и спецификации.

Строка итога в примере переписана короче, заодно показывает эту форму.
This commit is contained in:
Nick Shirokov
2026-08-17 12:56:05 +03:00
parent 93ced4b239
commit 13d100dff8
2 changed files with 21 additions and 9 deletions
+11 -4
View File
@@ -90,13 +90,13 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/mxl-compile.ps1" -J
]}
]},
{ "name": "Итого", "rows": [
[null, null, null, { "style": "итог", "text": "Итого:" }, { "style": "итог", "param": "Всего" }]
{ "rowStyle": "итог", "cells": [null, null, null, "Итого:", "{Всего}"] }
]}
]
}
```
Область «Итого» записана короткой формой: позиция берётся из порядка, `col` не нужен.
Список ячеек в области «Итого» записан позиционно: позиция берётся из порядка, `col` не нужен.
## Структура DSL
@@ -152,7 +152,7 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/mxl-compile.ps1" -J
пустая (нужна, например, ради рамки). Пустая строка `"text": ""` — это тоже текст, а не
отсутствие текста.
### Короткая форма: строка массивом
### Короткая форма: список ячеек позиционно
Позиция берётся из порядка, `col` не нужен:
@@ -175,7 +175,14 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/mxl-compile.ps1" -J
```
Здесь «Вид» и «Итог» объединены по вертикали, «Остаток» — по горизонтали на две колонки.
Короткой формой не задать `height` и `rowStyle` — это свойства строки.
Позиционный список — это форма записи ЯЧЕЕК, а не строки. Если у строки нет своих свойств, он
и есть строка (как в примере выше). Если нужны `height`, `hidden` или `rowStyle` — тот же
список кладётся в `cells`:
```json
{ "rowStyle": "итог", "cells": [null, null, null, "Итого:", "{Всего}"] }
```
### `rowStyle` — оформление строки
+10 -5
View File
@@ -141,9 +141,11 @@
`height` и `hidden` — собственные свойства строки: у ячейки таких нет, и в её оформление они
не попадают. Всё остальное оформление строки задаётся через `rowStyle`.
### Короткая форма: строка массивом
### Короткая форма: список ячеек позиционно
Вместо объекта строка может быть массивом ячеек — позиция определяется порядком, `col` не указывается.
Список ячеек можно записывать позиционно — позиция определяется порядком, `col` не указывается.
Если у строки нет своих свойств, такой список и есть строка; если нужны `height`, `hidden`
или `rowStyle` — тот же список кладётся в `cells`.
| Элемент | Значение |
|---------|----------|
@@ -170,9 +172,12 @@
```
Здесь «Вид» и «Итог» объединены по вертикали на две строки, «Остаток» — по горизонтали на две колонки.
Ограничения короткой формы:
- не задать `height` и `rowStyle` — это свойства строки, а не ячейки;
- не выразить текст, совпадающий с `">"`, `"|"` или с шаблоном `"{...}"`.
```json
{ "rowStyle": "итог", "cells": [null, null, null, "Итого:", "{Всего}"] }
```
Ограничение у формы одно: ею не выразить текст, совпадающий с `">"`, `"|"` или с шаблоном
`"{...}"` — такие ячейки записываются объектом с ключом `text`.
Маркеру нужно, что продолжать: `">"` требует ячейку слева в той же строке, `"|"` — ячейку сверху. Объектный элемент не должен нести `col`: позиция уже задана порядком. Число элементов не может превышать `columns`. Нарушение любого из этих правил → ненулевой код выхода и сообщение в stderr.