From 1c-skills
Analyzes MXL Template.xml files for 1C print forms, summarizing named areas (rows/columns), parameters, and column sets. Use to identify fillable regions without parsing thousands of XML lines.
npx claudepluginhub nikolay-shirokov/cc-1c-skills --plugin 1c-skillsThis skill uses the workspace's default tool permissions.
---
Decompiles 1C MXL Template.xml files into editable JSON DSL definitions. Useful for analyzing or modifying existing report layouts before recompiling with mxl-compile.
Inspects, builds, and verifies Office documents (PPTX, DOCX, XLSX) using oxen CLI. Supports file inspection, JSON spec builds, terminal previews, text/data extraction, and result verification.
Generates HWPX documents from user-uploaded or default templates using ZIP-level XML text replacement and ObjectFinder surveys. Use for quick report and official document creation.
Share bugs, ideas, or general feedback.
Читает 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 (этикетки, ценники), скрипт выводит пары пересечений:
--- Intersections (use with GetArea) ---
ВысотаЭтикетки|ШиринаЭтикетки
В BSL: Макет.ПолучитьОбласть("ВысотаЭтикетки|ШиринаЭтикетки")
Параметры перечислены по областям. Если у параметра есть detailParameter (расшифровка), он показан ниже:
--- Parameters by area ---
Поставщик: ПредставлениеПоставщика
detail: ПредставлениеПоставщика->Поставщик
Строка: НомерСтроки, Товар, Количество, Цена, Сумма, ... (+3)
detail: Товар->Номенклатура
Это означает: параметр Товар отображает значение, а при клике открывает Номенклатура (объект расшифровки).
[tpl])Некоторые параметры встроены в шаблонный текст: "Инв № [ИнвентарныйНомер]". Они заполняются через fillType=Template, а не fillType=Parameter. Скрипт всегда извлекает их и помечает суффиксом [tpl]:
НумерацияЛистов: Номер [tpl], Дата [tpl], НомерЛиста [tpl]
В BSL шаблонные параметры заполняются так же, как обычные:
Область.Параметры.Номер = НомерДокумента;
Область.Параметры.Дата = ДатаДокумента;
Числовые подстановки вроде [5], [6] (ссылки на сноски в официальных формах) игнорируются.
-WithText)Показывает статический текст (надписи, заголовки) и шаблонные строки с подстановками [Параметр]:
--- Text content ---
ШапкаТаблицы:
Text: "№", "Товар", "Ед. изм.", "Кол-во", "Цена", "Сумма"
Строка:
Templates: "Инв № [ИнвентарныйНомер]"
[ИмяПараметра] (fillType=Template). Параметр внутри [] заполняется программно.