mcpField
T
template-add

template-add

github.com/nikolay-shirokovDevelopment74157 installsUpdated today
Repository

About template-add

template-add is a development skill for creating a specified type of template in a 1C project and registering it in the object's root XML. It supports several template types and can manage HTML language pages and reports' main data composition schema reference.

Key features

  1. 01Create multiple template types
  2. 02Register templates in root XML
  3. 03Add HTML language pages
  4. 04Set a report's main data composition schema
  5. 05Choose source directory and synonym

Use cases

  1. 01Create a data composition schema template for a report
  2. 02Add text or binary templates to an external processor
  3. 03Add another language page to an HTML template

Install

Copy the command and run it in a terminal.

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

After installing, type/template-addin Claude Code to confirm it loaded.

Bundled filesscripts/add-template.ps1scripts/add-template.py

Details

From the project README

/template-add — Добавление макета

Создаёт макет указанного типа и регистрирует его в корневом XML объекта.

Usage

/template-add <ObjectName> <TemplateName> <TemplateType>
ПараметрОбязательныйПо умолчаниюОписание
ObjectNameда—Имя объекта
TemplateNameда—Имя макета
TemplateTypeда—Тип: HTML, Text, SpreadsheetDocument, BinaryData, DataCompositionSchema
Synonymнет= TemplateNameСиноним макета
LangнетruКод языка страницы — только для типа HTML. Повторный вызов с другим языком добавляет страницу в существующий макет
SrcDirнетsrcПуть к папке типа объектов (Reports, DataProcessors, Catalogs, Documents...), внутри которой лежит <ObjectName>.xml. Дефолт src подходит для каталогов с внешними обработками/отчётами, лежащими рядом
-SetMainSKDнет—Принудительно установить MainDataCompositionSchema

Команда

powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/add-template.ps1" -ObjectName "<ObjectName>" -TemplateName "<TemplateName>" -TemplateType "<TemplateType>" [-Synonym "<Synonym>"] [-Lang "<Lang>"] [-SrcDir "<SrcDir>"] [-SetMainSKD]

Пример

Добавить основную СКД к отчёту в расширении:

powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/add-template.ps1" -ObjectName "ОтчётПродажи" -TemplateName "ОсновнаяСхемаКомпоновкиДанных" -TemplateType "DataCompositionSchema" -SrcDir "src/cfe/МоёРасширение/Reports"

Маппинг типов

Пользователь может указать тип в свободной форме. Определи нужный по контексту:

Пользователь пишетTemplateTypeРасширениеСодержимое
HTMLHTMLDocumentTemplate/<lang>.htmlПустой HTML-документ
Text, текстовый документ, текстTextDocument.txtПустой файл
SpreadsheetDocument, табличный документ, MXLSpreadsheetDocument.xmlМинимальный spreadsheet
BinaryData, двоичные данныеBinaryData.binПустой файл
DataCompositionSchema, СКД, схема компоновкиDataCompositionSchema.xmlМинимальная DCS-схема

Конвенция именования

Для макетов печатных форм (тип SpreadsheetDocument) применяй префикс ПФ_MXL_:

КонтекстФормат имениПример
Печатная форма (дополнительная обработка вида ПечатнаяФорма, или пользователь явно говорит «печатная форма»)ПФ_MXL_<КраткоеИмя>ПФ_MXL_М11, ПФ_MXL_СчётФактура, ПФ_MXL_КонвертDL
Прочие макеты (загрузка данных, служебные, настройки)Без префиксаМакетЗагрузки, НастройкиПечати

Если пользователь указал имя макета без префикса, но контекст — печатная форма, добавь префикс ПФ_MXL_ автоматически и сообщи об этом.

MainDataCompositionSchema (авто)

При добавлении макета типа DataCompositionSchema к ExternalReport или Report:

  • Если MainDataCompositionSchema пуст — автоматически заполняется ссылкой на макет
  • Используй --SetMainSKD чтобы перезаписать существующее значение

Что создаётся

<SrcDir>/<ObjectName>/Templates/
├── <TemplateName>.xml              # Метаданные макета (1 UUID)
└── <TemplateName>/
    └── Ext/
        ├── Template.<ext>          # Содержимое макета
        └── Template/<lang>.html    # HTML: содержимое (Template.xml — дескриптор)

Что модифицируется

  • <SrcDir>/<ObjectName>.xml — добавляется <Template> в ChildObjects
  • Для ExternalReport/Report: может обновляться MainDataCompositionSchema

Comments

Markdown supported