/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 для постраничного просмотра.