| name | template-add |
| description | Добавить пустой макет к объекту 1С. Используй когда нужно создать у объекта новый макет |
| argument-hint | <ObjectName> <TemplateName> <TemplateType> |
| allowed-tools | ["Bash","Read","Write","Edit","Glob","Grep"] |
/template-add — Добавление макета
MCP routing
- Preferred path: use MCP
unica tool unica.template.add; unica owns XML/JSON DSL work and refreshes related workspace caches after mutations.
- Do not call internal MCP/CLI adapters directly. They are hidden behind
unica and synchronized by the orchestrator.
- Execution path: call MCP
unica tool unica.template.add; skill-local operation scripts are not part of the workflow.
- For mutating operations, pass
dryRun: false only when the user explicitly requested the change; otherwise keep the default dry run.
- Vendor support guard runs inside
unica; if it blocks a locked/read-only supported object, prefer CFE/release-support or an explicit support-state change plan instead of editing raw support metadata.
Создаёт макет указанного типа и регистрирует его в корневом XML объекта.
Usage
/template-add <ObjectName> <TemplateName> <TemplateType>
| Параметр | Обязательный | По умолчанию | Описание |
|---|
| ObjectName | да | — | Имя объекта |
| TemplateName | да | — | Имя макета |
| TemplateType | да | — | Тип: HTML, Text, SpreadsheetDocument, BinaryData, DataCompositionSchema |
| Synonym | нет | = TemplateName | Синоним макета |
| SrcDir | нет | src | Путь к папке типа объектов (Reports, DataProcessors, Catalogs, Documents...), внутри которой лежит <ObjectName>.xml. Дефолт src подходит для каталогов с внешними обработками/отчётами, лежащими рядом |
| SetMainSKD | нет | — | Boolean: принудительно установить MainDataCompositionSchema |
MCP вызов
Добавить пустой табличный макет печатной формы
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.template.add",
"arguments": {
"cwd": "<workspace>",
"ObjectName": "ОтчетПродажи",
"TemplateName": "ПФ_MXL_Продажи",
"TemplateType": "SpreadsheetDocument",
"SrcDir": "src/Reports",
"Synonym": "Печатная форма продажи",
"dryRun": false
}
}
}
Добавить основную СКД к отчёту в расширении
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.template.add",
"arguments": {
"cwd": "<workspace>",
"ObjectName": "ОтчётПродажи",
"TemplateName": "ОсновнаяСхемаКомпоновкиДанных",
"TemplateType": "DataCompositionSchema",
"SrcDir": "src/cfe/МоёРасширение/Reports",
"SetMainSKD": true,
"dryRun": false
}
}
}
Маппинг типов
Пользователь может указать тип в свободной форме. Определи нужный по контексту:
| Пользователь пишет | TemplateType | Расширение | Содержимое |
|---|
| HTML | HTMLDocument | .html | Пустой HTML-документ |
| Text, текстовый документ, текст | TextDocument | .txt | Пустой файл |
| SpreadsheetDocument, табличный документ, MXL | SpreadsheetDocument | .xml | Минимальный spreadsheet |
| BinaryData, двоичные данные | BinaryData | .bin | Пустой файл |
| DataCompositionSchema, СКД, схема компоновки | DataCompositionSchema | .xml | Минимальная DCS-схема |
Конвенция именования
Для макетов печатных форм (тип SpreadsheetDocument) применяй префикс ПФ_MXL_:
| Контекст | Формат имени | Пример |
|---|
| Печатная форма (дополнительная обработка вида ПечатнаяФорма, или пользователь явно говорит «печатная форма») | ПФ_MXL_<КраткоеИмя> | ПФ_MXL_М11, ПФ_MXL_СчётФактура, ПФ_MXL_КонвертDL |
| Прочие макеты (загрузка данных, служебные, настройки) | Без префикса | МакетЗагрузки, НастройкиПечати |
Если пользователь указал имя макета без префикса, но контекст — печатная форма, добавь префикс ПФ_MXL_ автоматически и сообщи об этом.
MainDataCompositionSchema (авто)
При добавлении макета типа DataCompositionSchema к ExternalReport или Report:
- Если
MainDataCompositionSchema пуст — автоматически заполняется ссылкой на макет
- Используй
"SetMainSKD": true, чтобы перезаписать существующее значение
Что создаётся
<SrcDir>/<ObjectName>/Templates/
├── <TemplateName>.xml # Метаданные макета (1 UUID)
└── <TemplateName>/
└── Ext/
└── Template.<ext> # Содержимое макета
Что модифицируется
<SrcDir>/<ObjectName>.xml — добавляется <Template> в конец ChildObjects
- Для ExternalReport/Report: может обновляться
MainDataCompositionSchema