Files
cc-1c-skills/docs/mxl-guide.md
T
Nick Shirokov 044bc18974 Add img-grid skill and page auto-sizing to mxl-compile
- New skill /img-grid: overlays numbered grid on images to help
  determine column proportions for MXL template generation
- Add "page" field to MXL DSL ("A4-landscape", "A4-portrait", or
  number) that auto-calculates defaultWidth from column proportions
- Update DSL spec, mxl-compile SKILL.md, MXL guide, README

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:44:31 +03:00

6.9 KiB
Raw Blame History

Табличный документ (MXL)

Навыки группы /mxl-* позволяют анализировать, создавать и модифицировать макеты табличных документов 1С — основной формат печатных форм в конфигурациях 1С:Предприятия.

Навыки

Навык Параметры Описание
/mxl-info <TemplatePath> или <ProcessorName> <TemplateName> Анализ структуры: области, параметры, наборы колонок
/mxl-validate <TemplatePath> или <ProcessorName> <TemplateName> Валидация: индексы, ссылки, границы
/mxl-compile <JsonPath> <OutputPath> Компиляция макета из JSON-определения в Template.xml
/mxl-decompile <TemplatePath> [OutputPath] Декомпиляция Template.xml в JSON-определение

Сценарии использования

Создание макета печатной формы с нуля

Вы описываете макет словами или через JSON DSL, Claude компилирует его в Template.xml.

> Создай макет накладной М-11: шапка с реквизитами организации и склада,
> таблица с колонками (номер, наименование, единица, количество, цена, сумма),
> итоговая строка, подписи.

Claude напишет JSON-определение с областями, параметрами и стилями, вызовет /mxl-compile для генерации XML, затем /mxl-validate и /mxl-info для проверки.

Рабочий цикл:

  1. Claude пишет JSON-определение макета
  2. /mxl-compile → Template.xml
  3. /mxl-validate → проверка корректности
  4. /mxl-info → верификация структуры (области, параметры)

Создание макета по изображению

Если есть скриншот или скан печатной формы, /img-grid поможет точно определить пропорции колонок.

> Вот изображение формы М-11. Создай макет по нему.

Рабочий цикл:

  1. /img-grid → изображение с пронумерованной сеткой
  2. Claude считает координаты границ колонок по сетке
  3. Объединяет границы всех таблиц → базовая решётка
  4. Пишет JSON DSL с пропорциями "Nx" и "page": "A4-landscape"
  5. /mxl-compile автоматически вычисляет абсолютные ширины из пропорций и формата страницы
  6. /mxl-validate/mxl-info → проверка

Анализ существующего макета

Быстрый обзор структуры макета без чтения тысяч строк XML.

> Покажи структуру макета ПФ_MXL_М11

Claude вызовет /mxl-info и выведет области, параметры и наборы колонок. С флагом -WithText покажет ещё и текстовое содержимое ячеек (заголовки колонок, надписи).

Модификация существующего макета

Декомпиляция в JSON, правка, компиляция обратно.

> Добавь в макет М-11 колонку "Примечание"

Claude вызовет /mxl-decompile для получения JSON, добавит колонку в определение, вызовет /mxl-compile и /mxl-validate.

Рабочий цикл:

  1. /mxl-decompile → JSON из существующего Template.xml
  2. Claude модифицирует JSON (добавляет области, меняет стили, параметры)
  3. /mxl-compile → обновлённый Template.xml
  4. /mxl-validate → проверка

Ограничения: Этот сценарий подразумевает полную перегенерацию макета, а не точечную правку XML. Поэтому diff может показать больше изменений, чем фактическая доработка. Кроме того, DSL пока поддерживает не все конструкции табличного документа — для сложных макетов с рисунками, штрихкодами или нестандартным форматированием часть информации может быть потеряна при round-trip.

Валидация макета

Проверка структурной корректности после любых изменений.

> Проверь макет ПФ_MXL_М11

Claude вызовет /mxl-validate, который проверит индексы палитр, ссылки на наборы колонок, границы областей и другие структурные зависимости.

Примеры слеш-команд

> /mxl-info src/МояОбработка/Templates/ПФ_MXL_Накладная/Ext/Template.xml
> /mxl-info МояОбработка ПФ_MXL_Накладная
> /mxl-validate МояОбработка ПФ_MXL_Накладная
> /mxl-compile макет.json src/МояОбработка/Templates/ПФ_MXL_Накладная/Ext/Template.xml
> /mxl-decompile src/МояОбработка/Templates/ПФ_MXL_Накладная/Ext/Template.xml макет.json

Связь с EPF-навыками

Макет табличного документа — часть обработки. Типичный сценарий создания печатной формы:

  1. /epf-init — создать обработку
  2. /epf-add-template — добавить макет SpreadsheetDocument (с именем ПФ_MXL_...)
  3. /mxl-compile — заполнить макет содержимым из JSON-определения
  4. /epf-bsp-init — добавить регистрацию БСП с видом ПечатнаяФорма
  5. /epf-bsp-add-command — добавить команду печати
  6. /epf-build — собрать EPF

Спецификации