mxl-info

SKILL.md

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

Читает Template.xml табличного документа и выводит компактную сводку: именованные области, параметры, наборы колонок. Заменяет необходимость читать тысячи строк XML.

Использование

/mxl-info <TemplatePath>
/mxl-info <ProcessorName> <TemplateName>

Параметры

Параметр Обязательный По умолчанию Описание
TemplatePath нет Прямой путь к Template.xml
ProcessorName нет Имя обработки (альтернатива пути)
TemplateName нет Имя макета (альтернатива пути)
SrcDir нет src Каталог исходников
Format нет text Формат вывода: text или json
WithText нет false Включить статический текст и шаблоны
MaxParams нет 10 Макс. параметров в списке на область
Limit нет 150 Макс. строк вывода (защита от переполнения)
Offset нет 0 Пропустить N строк (для пагинации)

Укажите либо -TemplatePath, либо оба -ProcessorName и -TemplateName.

Команда

powershell.exe -NoProfile -File .claude/skills/mxl-info/scripts/mxl-info.ps1 -TemplatePath "<путь>"

Или по имени обработки/макета:

powershell.exe -NoProfile -File .claude/skills/mxl-info/scripts/mxl-info.ps1 -ProcessorName "<Имя>" -TemplateName "<Макет>" [-SrcDir "<каталог>"]

Дополнительные флаги:

... -WithText              # включить текстовое содержимое ячеек
... -Format json           # JSON-вывод для программной обработки
... -MaxParams 20          # показать больше параметров на область
... -Offset 150            # пагинация: пропустить первые 150 строк

Чтение вывода

Области — сортировка сверху вниз

Области перечислены в порядке документа (по позиции строки), а не по алфавиту. Это соответствует порядку вывода областей в коде заполнения — сверху вниз.

--- Named areas ---
  Заголовок          Rows     rows 1-4     (1 params)
  Поставщик          Rows     rows 5-6     (1 params)
  Строка             Rows     rows 14-14   (8 params)
  Итого              Rows     rows 16-17   (1 params)

Типы областей:

  • Rows — горизонтальная область (диапазон строк). Получение: Макет.ПолучитьОбласть("Имя")
  • Columns — вертикальная область (диапазон колонок). Получение: Макет.ПолучитьОбласть("Имя")
  • Rectangle — фиксированная область (строки + колонки). Обычно использует отдельный набор колонок.
  • Drawing — именованный рисунок/штрихкод.

Наборы колонок

Когда в макете несколько наборов колонок, их размеры показаны в заголовке и для каждой области:

  Column sets: 7 (default=19 cols + 6 additional)
    f01e015f...: 17 cols
    0adf41ed...: 4 cols
  ...
  Подвал             Rows     rows 30-34  (5 params) [colset 14cols]
  НумерацияЛистов    Rows     rows 59-59  (0 params) [colset 4cols]

Пересечения

Когда есть области и Rows, и Columns (этикетки, ценники), скрипт выводит пары пересечений:

--- Intersections (use with GetArea) ---
  ВысотаЭтикетки|ШиринаЭтикетки

В BSL: Макет.ПолучитьОбласть("ВысотаЭтикетки|ШиринаЭтикетки")

Параметры и detailParameter

Параметры перечислены по областям. Если у параметра есть detailParameter (расшифровка), он показан ниже:

--- Parameters by area ---
  Поставщик: ПредставлениеПоставщика
    detail: ПредставлениеПоставщика->Поставщик
  Строка: НомерСтроки, Товар, Количество, Цена, Сумма, ... (+3)
    detail: Товар->Номенклатура

Это означает: параметр Товар отображает значение, а при клике открывает Номенклатура (объект расшифровки).

В BSL:

Область.Параметры.Товар = СтрокаТЧ.Номенклатура;
Область.Параметры.РасшифровкаТовар = СтрокаТЧ.Номенклатура; // detailParameter

Параметры из шаблонов (суффикс [tpl])

Некоторые параметры встроены в шаблонный текст: "Инв № [ИнвентарныйНомер]". Они заполняются через fillType=Template, а не fillType=Parameter. Скрипт всегда извлекает их и помечает суффиксом [tpl]:

  НумерацияЛистов: Номер [tpl], Дата [tpl], НомерЛиста [tpl]

В BSL шаблонные параметры заполняются так же, как обычные:

Область.Параметры.Номер = НомерДокумента;
Область.Параметры.Дата = ДатаДокумента;

Числовые подстановки вроде [5], [6] (ссылки на сноски в официальных формах) игнорируются.

Текстовое содержимое (-WithText)

Показывает статический текст (надписи, заголовки) и шаблонные строки с подстановками [Параметр]:

--- Text content ---
  ШапкаТаблицы:
    Text: "№", "Товар", "Ед. изм.", "Кол-во", "Цена", "Сумма"
  Строка:
    Templates: "Инв № [ИнвентарныйНомер]"
  • Text — статические надписи (fillType=Text). Полезно для понимания назначения колонок.
  • Templates — текст с подстановками [ИмяПараметра] (fillType=Template). Параметр внутри [] заполняется программно.

Когда использовать

  • Перед написанием кода заполнения: запустить /mxl-info чтобы понять имена областей и списки параметров, затем писать BSL-код вывода, следуя порядку областей сверху вниз
  • С -WithText: когда нужен контекст — заголовки колонок, надписи рядом с параметрами, шаблонные строки
  • С -Format json: когда нужны структурированные данные для программной обработки
  • Для существующих макетов: анализ загруженных или конфигурационных макетов без чтения сырого XML

Защита от переполнения

Вывод ограничен 150 строками по умолчанию. При превышении:

[TRUNCATED] Shown 150 of 220 lines. Use -Offset 150 to continue.

Используйте -Offset N и -Limit N для постраничного просмотра.

Weekly Installs
5
GitHub Stars
89
First Seen
Feb 26, 2026
Installed on
opencode5
gemini-cli5
github-copilot5
codex5
amp5
kimi-cli5