mcpField
M
mxl-info

mxl-info

github.com/nikolay-shirokovDocuments74154 installsUpdated today
Repository

About mxl-info

mxl-info is a skill for inspecting 1C spreadsheet document layouts. It summarizes named areas, parameters, and column sets from Template.xml, with text or JSON output.

Key features

  1. 01Extract named areas and positions
  2. 02Summarize parameters by area
  3. 03Identify area intersections
  4. 04Optionally show static text and templates
  5. 05Support JSON output and pagination

Use cases

  1. 01Inspect a large Template.xml quickly
  2. 02Find parameters required by layout areas
  3. 03Check intersections in label layouts
  4. 04Process layout summaries as JSON

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/nikolay-shirokov/cc-1c-skills --skill mxl-info

After installing, type/mxl-infoin Claude Code to confirm it loaded.

Bundled filesscripts/mxl-info.ps1scripts/mxl-info.py

Details

From the project README

/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_SKILL_DIR}/scripts/mxl-info.ps1" -TemplatePath "<путь>"

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

powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/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 — именованный рисунок/штрихкод.
Пересечения

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

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

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

Параметры и detailParameter

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

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

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

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

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

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

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

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

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

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

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

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

Comments

Markdown supported