Files
cc-1c-skills/.claude/skills/template-add/SKILL.md
T
Nick ShirokovandClaude Opus 4.8 26888a07d5 chore(repo): нормализация EOL к LF + .gitattributes
Приводим авторский контент (.ps1/.psm1/.py/.mjs/.md/.json, пин .bsl)
к единому LF и закрепляем политикой в .gitattributes. Инструмент правки
всегда пишет LF, поэтому единый LF убирает EOL-шум в диффах, ложные
срабатывания blame и налог на ручную синхронизацию CRLF-файлов.

BOM на .ps1 сохранён (git с eol=lf меняет только CR<->LF, BOM не трогает).
Данные 1С (*.xml) и бинарники под нормализацию не берём.

Гейт: PS-порт 459/459, Python-порт 459/459, web-test E2E 22/22 (с пересборкой стенда).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 14:22:45 +03:00

5.6 KiB
Raw Blame History

name, description, argument-hint, allowed-tools
name description argument-hint allowed-tools
template-add Добавить пустой макет к объекту 1С. Используй когда нужно создать у объекта новый макет <ObjectName> <TemplateName> <TemplateType>
Bash
Read
Write
Edit
Glob
Grep

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

Создаёт макет указанного типа и регистрирует его в корневом 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 нет Принудительно установить MainDataCompositionSchema

Команда

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

Пример

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

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

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

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

Пользователь пишет 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 чтобы перезаписать существующее значение

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

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

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

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