Cc-1c-skills mxl-info
Анализ структуры макета табличного документа (MXL) — области, параметры, наборы колонок. Используй при разработке печати — получить области и заполняемые параметры макета
git clone https://github.com/Nikolay-Shirokov/cc-1c-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/Nikolay-Shirokov/cc-1c-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/mxl-info" ~/.claude/skills/nikolay-shirokov-cc-1c-skills-mxl-info && rm -rf "$T"
.claude/skills/mxl-info/SKILL.md/mxl-info — Анализ структуры макета
Читает Template.xml табличного документа и выводит компактную сводку: именованные области, параметры, наборы колонок. Заменяет необходимость читать тысячи строк XML.
Использование
/mxl-info <TemplatePath> /mxl-info <ProcessorName> <TemplateName>
Параметры
| Параметр | Обязательный | По умолчанию | Описание |
|---|---|---|---|
| TemplatePath | нет | — | Прямой путь к Template.xml |
| ProcessorName | нет | — | Имя обработки (альтернатива пути) |
| TemplateName | нет | — | Имя макета (альтернатива пути) |
| SrcDir | нет | | Каталог исходников |
| Format | нет | | Формат вывода: или |
| 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 — именованный рисунок/штрихкод.
Пересечения
Когда есть области и Rows, и Columns (этикетки, ценники), скрипт выводит пары пересечений:
--- Intersections (use with GetArea) --- ВысотаЭтикетки|ШиринаЭтикетки
В BSL:
Макет.ПолучитьОбласть("ВысотаЭтикетки|ШиринаЭтикетки")
Параметры и detailParameter
Параметры перечислены по областям. Если у параметра есть
detailParameter (расшифровка), он показан ниже:
--- Parameters by area --- Поставщик: ПредставлениеПоставщика detail: ПредставлениеПоставщика->Поставщик Строка: НомерСтроки, Товар, Количество, Цена, Сумма, ... (+3) detail: Товар->Номенклатура
Это означает: параметр
Товар отображает значение, а при клике открывает Номенклатура (объект расшифровки).
Параметры из шаблонов (суффикс [tpl]
)
[tpl]Некоторые параметры встроены в шаблонный текст:
"Инв № [ИнвентарныйНомер]". Они заполняются через fillType=Template, а не fillType=Parameter. Скрипт всегда извлекает их и помечает суффиксом [tpl]:
НумерацияЛистов: Номер [tpl], Дата [tpl], НомерЛиста [tpl]
В BSL шаблонные параметры заполняются так же, как обычные:
Область.Параметры.Номер = НомерДокумента; Область.Параметры.Дата = ДатаДокумента;
Числовые подстановки вроде
[5], [6] (ссылки на сноски в официальных формах) игнорируются.
Текстовое содержимое (-WithText
)
-WithTextПоказывает статический текст (надписи, заголовки) и шаблонные строки с подстановками
[Параметр]:
--- Text content --- ШапкаТаблицы: Text: "№", "Товар", "Ед. изм.", "Кол-во", "Цена", "Сумма" Строка: Templates: "Инв № [ИнвентарныйНомер]"
- Text — статические надписи (fillType=Text). Полезно для понимания назначения колонок.
- Templates — текст с подстановками
(fillType=Template). Параметр внутри[ИмяПараметра]
заполняется программно.[]