mcpField
M
mxl-info

mxl-info

github.com/nikolay-shirokov文档处理74154 次安装今天更新
代码仓库

关于 mxl-info

mxl-info 是用于分析 1C 表格文档布局的技能,可从 Template.xml 提取命名区域、参数和列集,并支持输出文本或 JSON。

主要功能

  1. 01提取命名区域及位置
  2. 02按区域汇总参数
  3. 03识别区域交叉关系
  4. 04可选显示静态文本和模板
  5. 05支持 JSON 与分页输出

适用场景

  1. 01快速了解大型 Template.xml 的结构
  2. 02查找布局区域所需参数
  3. 03检查标签布局中的区域交叉
  4. 04以 JSON 格式处理布局摘要

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/mxl-info确认已加载。

附带文件scripts/mxl-info.ps1scripts/mxl-info.py

README 原文English

来自项目 README

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). Параметр внутри [] заполняется программно.

评论

支持 Markdown