Skip to content
Back to skills

Mxl Info

ASecurity

Анализ структуры макета табличного документа (MXL) — области, параметры, наборы колонок. Используй при разработке печати — получить области и заполняемые параметры макета

  • 213 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 11, 2026
toolsbash

Works with

  • cli
  • mcp

Security analysis

A100/100

Scanned September 20, 2026

npx -y skills add IngvarConsulting/unica --skill mxl-info --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Mxl Info?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Mxl Info
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ingvarconsulting-mxl-info/badge)](https://www.skillsdirectory.com/skills/ingvarconsulting-mxl-info)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: mxl-info
description: Анализ структуры макета табличного документа (MXL) — области, параметры, наборы колонок. Используй при разработке печати — получить области и заполняемые параметры макета
argument-hint: <TemplatePath>
allowed-tools:
  - Bash
  - Read
  - Glob
---

# /mxl-info — Анализ структуры макета

## MCP routing

- Preferred path: use MCP `unica` tools `unica.view` and `unica.search`.
- Do not call internal MCP/CLI adapters directly. They are hidden behind
  `unica` and synchronized by the orchestrator.
- Макет — узел логического дерева: `unica.view {at}` по адресу
  `<набор>:<Вид>.<Имя>.Template.<Макет>`. Файлового селектора у чтения нет;
  путь, пришедший снаружи, переводит в адрес аварийный `unica.resolve`.

Узел макета отдаёт компактную сводку: именованные области, параметры, наборы
колонок. Читать тысячи строк XML не нужно.

Поддержка объекта-владельца приходит полем `support`; учитывай её состояние
перед правкой макета.

## Адресация

| Что | Как |
|-----|-----|
| Имя набора исходников | `unica.view {}` |
| Адрес макета по имени | `unica.search {corpus: "names", kind: "Template"}` |
| Адрес по пути извне | `unica.resolve {path}` |
| Сам макет | `unica.view {at: "<набор>:<Вид>.<Имя>.Template.<Макет>"}` |
| Область макета | `unica.view {at: "…Template.<Макет>.Area.<Область>"}` |
| Содержимое ячеек области | `unica.view {at: "…Area.<Область>.Body"}` |

## Поля узла

| Поле | Что содержит |
|------|--------------|
| `title` | Имя макета |
| `props.support` | Поддержка по `Ext/ParentConfigurations.bin` |
| `props.rows`, `props.columns` | Логическая высота и ширина по умолчанию |
| `props.columnSets` | Дополнительные наборы колонок: `id` и `size` |
| ветвь `Area` | Именованные области; счёт ветви равен их числу |
| `props.mergeCount`, `props.drawingCount` | Счётчики объединений и рисунков |

У узла области в `props` лежат `kind` (`Rows`, `Columns`, `Rectangle`,
`Drawing`), границы, `columnsId`, `drawingId` и `contentCount` — число непустых
ячеек. Ветвь `Parameter` перечисляет параметры области, ветвь `Body` — её
содержимое.

Пересечения строчных и колоночных областей для `ПолучитьОбласть` строятся из
ветви `Area`: возьми области `kind: "Rows"` и `kind: "Columns"` и перемножь
имена.

## MCP вызов

### Макет целиком

```json
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "unica.view",
    "arguments": { "at": "main:Report.Продажи.Template.Печать" }
  }
}
```

### Одна область

```json
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "unica.view",
    "arguments": { "at": "main:Report.Продажи.Template.Печать.Area.Шапка" }
  }
}
```

### Содержимое ячеек области

Текст ячеек — отдельный адрес, а не признак в аргументах: структурное чтение
области за текст не платит, а ветвь `Body` честно объявляет свою длину полем
`contentCount`.

```json
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "unica.view",
    "arguments": { "at": "main:Report.Продажи.Template.Печать.Area.Шапка.Body" }
  }
}
```

Каждая ячейка приходит в порядке чтения и несёт `index`, `text` и признак
`template` — стоят ли в ней подстановки `[Параметр]`.

## Чтение данных

### Области отсортированы сверху вниз

Элементы ветви `Area` идут в порядке `beginRow` для строчных областей и
`beginCol` для колоночных, поэтому порядок совпадает с порядком в макете.

### Параметры и detailParameter

Ветвь `Parameter` перечисляет параметры области. Параметры, пришедшие из
шаблонов ячеек, помечены суффиксом `[tpl]`.

### Параметры вне областей

Всё, что лежит за пределами именованных областей, собрано отдельно, а не
растворено среди областей.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…