mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-14 23:39:02 +03:00
docs(mxl-compile): дописать namedAreas в карту DSL и свести терминологию
Перечитал инструкцию глазами модели, которая приходит делать макет: - в карте структуры отсутствовал ключ namedAreas — модель, которой нужна область из колонок (в печатных формах это обычное дело), из инструкции не узнала бы, что такое вообще выразимо. Карта верхнего уровня должна быть полной; - в одном предложении соседствовали «область» и «блок». Платформа знает только «область», второй термин появился по дороге — убран из инструкции и спеки; - пример строк-массивов висел без подводки. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
720ea05325
commit
f13fe140f0
@@ -53,7 +53,8 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/mxl-compile.ps1" -J
|
|||||||
styles: { name: { font, align, valign, border, borderWidth, wrap, format } },
|
styles: { name: { font, align, valign, border, borderWidth, wrap, format } },
|
||||||
areas: [{ name, rows: [{ height, rowStyle, cells: [
|
areas: [{ name, rows: [{ height, rowStyle, cells: [
|
||||||
{ col, span, rowspan, style, param, detail, text, template }
|
{ col, span, rowspan, style, param, detail, text, template }
|
||||||
]}]}]
|
]}]}],
|
||||||
|
namedAreas: [{ name, rows, cols }]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -64,9 +65,11 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/mxl-compile.ps1" -J
|
|||||||
- Тип заполнения определяется автоматически: `param` → Parameter, `text` → Text, `template` → Template
|
- Тип заполнения определяется автоматически: `param` → Parameter, `text` → Text, `template` → Template
|
||||||
- `rowspan` — объединение строк вниз (rowStyle учитывает занятые ячейки)
|
- `rowspan` — объединение строк вниз (rowStyle учитывает занятые ячейки)
|
||||||
- `empty` в строке — шорткат для N подряд пустых строк (`{ "empty": 3 }` = три `{}`)
|
- `empty` в строке — шорткат для N подряд пустых строк (`{ "empty": 3 }` = три `{}`)
|
||||||
- `name` у области необязателен: блок без имени — просто кусок сетки, именованную область он не создаёт
|
- `name` у области в `areas` необязателен: область без имени — просто кусок сетки, в макет как именованная она не попадёт
|
||||||
|
- `namedAreas` — области, которые не описываются диапазоном подряд идущих строк (полоса колонок, прямоугольник, ячейка). Тип не указывается: только `rows` → полоса строк, только `cols` → полоса колонок, обе оси → прямоугольник
|
||||||
- Строку можно писать массивом ячеек — позиция из порядка, `col` не нужен: `"текст"`, `"{Имя}"` — параметр, `">"` — продолжить ячейку слева, `"|"` — сверху, `null` — пропуск колонки
|
- Строку можно писать массивом ячеек — позиция из порядка, `col` не нужен: `"текст"`, `"{Имя}"` — параметр, `">"` — продолжить ячейку слева, `"|"` — сверху, `null` — пропуск колонки
|
||||||
|
|
||||||
|
Двухуровневая шапка массивами:
|
||||||
```json
|
```json
|
||||||
"rows": [
|
"rows": [
|
||||||
["Вид", "Остаток", ">", "Итог"],
|
["Вид", "Остаток", ">", "Итог"],
|
||||||
|
|||||||
@@ -79,7 +79,7 @@
|
|||||||
| `columnWidths` | нет | `{}` | Ширины колонок. Ключи 1-based: `"1"`, `"3-14"`, `"5,7,9"`. Значения: число (абсолют) или `"Nx"` (множитель от defaultWidth, напр. `"2x"`, `"0.5x"`) |
|
| `columnWidths` | нет | `{}` | Ширины колонок. Ключи 1-based: `"1"`, `"3-14"`, `"5,7,9"`. Значения: число (абсолют) или `"Nx"` (множитель от defaultWidth, напр. `"2x"`, `"0.5x"`) |
|
||||||
| `fonts` | нет | — | Именованные шрифты (если не задано, создаётся Arial 10) |
|
| `fonts` | нет | — | Именованные шрифты (если не задано, создаётся Arial 10) |
|
||||||
| `styles` | нет | `{}` | Именованные стили |
|
| `styles` | нет | `{}` | Именованные стили |
|
||||||
| `areas` | да | — | Массив блоков строк (порядок = порядок в документе); имя у блока необязательно |
|
| `areas` | да | — | Массив областей — диапазонов подряд идущих строк (порядок = порядок в документе); имя необязательно |
|
||||||
| `namedAreas` | нет | — | Именованные области, заданные координатами (см. ниже) |
|
| `namedAreas` | нет | — | Именованные области, заданные координатами (см. ниже) |
|
||||||
|
|
||||||
## Шрифты (`fonts.<name>`)
|
## Шрифты (`fonts.<name>`)
|
||||||
@@ -114,11 +114,11 @@
|
|||||||
| `name` | нет | Имя области для `Макет.ПолучитьОбласть("Имя")` |
|
| `name` | нет | Имя области для `Макет.ПолучитьОбласть("Имя")` |
|
||||||
| `rows` | да | Массив строк |
|
| `rows` | да | Массив строк |
|
||||||
|
|
||||||
Макет собирается из блоков строк, идущих подряд. Имя на блоке — сокращение: компилятор разворачивает его в именованную область типа «строки» на диапазон блока. **Блок без имени** — просто кусок сетки: так описываются строки, не принадлежащие ни одной именованной области.
|
Макет собирается из областей — диапазонов подряд идущих строк. Заданное здесь имя компилятор разворачивает в именованную область типа «строки» на диапазон этих строк. **Область без имени** — просто кусок сетки: так описываются строки, не принадлежащие ни одной именованной области.
|
||||||
|
|
||||||
## Именованные области координатами (`namedAreas[]`)
|
## Именованные области координатами (`namedAreas[]`)
|
||||||
|
|
||||||
Для областей, которые блоком не выражаются: не привязанных к диапазону строк (полоса колонок, прямоугольник, ячейка) и пересекающихся с другими.
|
Для областей, которые диапазоном подряд идущих строк не описываются: полоса колонок, прямоугольник, ячейка, а также пересекающиеся с другими.
|
||||||
|
|
||||||
| Поле | Обяз. | Описание |
|
| Поле | Обяз. | Описание |
|
||||||
|------|:-----:|----------|
|
|------|:-----:|----------|
|
||||||
|
|||||||
@@ -79,7 +79,7 @@
|
|||||||
| `columnWidths` | нет | `{}` | Ширины колонок. Ключи 1-based: `"1"`, `"3-14"`, `"5,7,9"`. Значения: число (абсолют) или `"Nx"` (множитель от defaultWidth, напр. `"2x"`, `"0.5x"`) |
|
| `columnWidths` | нет | `{}` | Ширины колонок. Ключи 1-based: `"1"`, `"3-14"`, `"5,7,9"`. Значения: число (абсолют) или `"Nx"` (множитель от defaultWidth, напр. `"2x"`, `"0.5x"`) |
|
||||||
| `fonts` | нет | — | Именованные шрифты (если не задано, создаётся Arial 10) |
|
| `fonts` | нет | — | Именованные шрифты (если не задано, создаётся Arial 10) |
|
||||||
| `styles` | нет | `{}` | Именованные стили |
|
| `styles` | нет | `{}` | Именованные стили |
|
||||||
| `areas` | да | — | Массив блоков строк (порядок = порядок в документе); имя у блока необязательно |
|
| `areas` | да | — | Массив областей — диапазонов подряд идущих строк (порядок = порядок в документе); имя необязательно |
|
||||||
| `namedAreas` | нет | — | Именованные области, заданные координатами (см. ниже) |
|
| `namedAreas` | нет | — | Именованные области, заданные координатами (см. ниже) |
|
||||||
|
|
||||||
## Шрифты (`fonts.<name>`)
|
## Шрифты (`fonts.<name>`)
|
||||||
@@ -114,11 +114,11 @@
|
|||||||
| `name` | нет | Имя области для `Макет.ПолучитьОбласть("Имя")` |
|
| `name` | нет | Имя области для `Макет.ПолучитьОбласть("Имя")` |
|
||||||
| `rows` | да | Массив строк |
|
| `rows` | да | Массив строк |
|
||||||
|
|
||||||
Макет собирается из блоков строк, идущих подряд. Имя на блоке — сокращение: компилятор разворачивает его в именованную область типа «строки» на диапазон блока. **Блок без имени** — просто кусок сетки: так описываются строки, не принадлежащие ни одной именованной области.
|
Макет собирается из областей — диапазонов подряд идущих строк. Заданное здесь имя компилятор разворачивает в именованную область типа «строки» на диапазон этих строк. **Область без имени** — просто кусок сетки: так описываются строки, не принадлежащие ни одной именованной области.
|
||||||
|
|
||||||
## Именованные области координатами (`namedAreas[]`)
|
## Именованные области координатами (`namedAreas[]`)
|
||||||
|
|
||||||
Для областей, которые блоком не выражаются: не привязанных к диапазону строк (полоса колонок, прямоугольник, ячейка) и пересекающихся с другими.
|
Для областей, которые диапазоном подряд идущих строк не описываются: полоса колонок, прямоугольник, ячейка, а также пересекающиеся с другими.
|
||||||
|
|
||||||
| Поле | Обяз. | Описание |
|
| Поле | Обяз. | Описание |
|
||||||
|------|:-----:|----------|
|
|------|:-----:|----------|
|
||||||
|
|||||||
Reference in New Issue
Block a user