SuperAPI AI Directory

mxl-info

Coding & development

View repository

Updated 10-15 17:18

About this skill

/mxl-info — Template structure analysis

Reads the Template.xml of a spreadsheet document and outputs a compact summary: named areas, parameters, column sets. Replaces the need to read thousands of lines of XML.

Usage

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

Parameters

Parameter Required Default Description
TemplatePath no — Direct path to Template.xml
ProcessorName no — Processing name (alternative to path)
TemplateName no — Template name (alternative to path)
SrcDir no src Source directory
Format no text Output format: text or json
WithText no false Include static text and templates
MaxParams no 10 Max. parameters in the list per area
Limit no 150 Max. output lines (overflow protection)
Offset no 0 Skip N lines (for pagination)

Specify either -TemplatePath, or both -ProcessorName и -TemplateName.

Command

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

Or by processing/template name:

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

Additional flags:

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

Reading the output

Areas — sorted top to bottom

Areas are listed in document order (by row position), not alphabetically. This corresponds to the order in which areas are output in the filling code — top to bottom.

--- 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)

Area types:

  • Rows — horizontal area (row range). Getting: Макет.ПолучитьОбласть("Имя")
  • Columns — vertical area (column range). Getting: Макет.ПолучитьОбласть("Имя")
  • Rectangle — fixed area (rows + columns). Usually uses a separate column set.
  • Drawing — named drawing/barcode.

Column sets

When there are several column sets in a template, their sizes are shown in the header and for each area:

  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]

Intersections

When there are both Areas and Rows and Columns (labels, price tags), the script outputs intersection pairs:

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

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

Parameters and detailParameter

Parameters are listed by area. If a parameter has a detailParameter (decryption), it is shown below:

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

This means: parameter Товар displays a value, and when clicked opens Номенклатура (decryption object).

В BSL:

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

Parameters from templates (suffix [tpl])

Some parameters are embedded in template text: "Инв № [ИнвентарныйНомер]". They are filled via fillType=Template, not fillType=Parameter. The script always extracts them and marks them with the suffix [tpl]:

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

In BSL, template parameters are filled in the same way as regular ones:

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

Numeric substitutions like [5], [6] (references to footnotes in official forms) are ignored.

Text content (-WithText)

Shows static text (labels, headings) and template strings with substitutions [Параметр]:

--- Text content ---
  ШапкаТаблицы:
    Text: "№", "Товар", "Ед. изм.", "Кол-во", "Цена", "Сумма"
  Строка:
    Templates: "Инв № [ИнвентарныйНомер]"
  • Text — static labels (fillType=Text). Useful for understanding the purpose of columns.
  • Templates — text with substitutions [ИмяПараметра] (fillType=Template). The parameter inside [] is filled programmatically.

When to use

  • Before writing the fill code: run /mxl-info to understand the area names and parameter lists, then write the BSL output code following the order of areas from top to bottom
  • С -WithText: when context is needed — column headings, labels next to parameters, template strings
  • С -Format json: when structured data is needed for programmatic processing
  • For existing templates: analysis of loaded or configuration templates without reading raw XML

Overflow protection

Output is limited to 150 lines by default. If exceeded:

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

Use -Offset N и -Limit N for paginated viewing.