mcpField
T
template-add

template-add

github.com/nikolay-shirokov开发74157 次安装今天更新
代码仓库

关于 template-add

template-add 是用于在 1C 项目中创建指定类型 макета 并登记到对象根 XML 的开发技能,面向 1C 开发者。它支持多种 макета 类型,并可处理 HTML 语言页面及报表的主数据组合架构引用。

主要功能

  1. 01创建多种类型的 макета
  2. 02在对象根 XML 中登记
  3. 03添加 HTML 语言页面
  4. 04自动设置报表主数据组合架构
  5. 05支持指定源目录与同义名称

适用场景

  1. 01为报表创建数据组合架构 макета
  2. 02为外部处理添加文本或二进制 макета
  3. 03为 HTML макета 添加其他语言页面

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/template-add确认已加载。

附带文件scripts/add-template.ps1scripts/add-template.py

详细介绍

/template-add — 添加 макет

创建指定类型的 макет,并在对象的根 XML 中注册。

用法

/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]

示例

向扩展中的报表添加主 SKD:

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、SKD、布局方案DataCompositionSchema.xml最小化 DCS 方案

命名约定

对于打印表单的 макет(SpreadsheetDocument 类型),使用前缀 ПФ_MXL_:

上下文名称格式示例
打印表单(类型为 ПечатнаяФорма 的附加处理器,或用户明确提到“打印表单”)ПФ_MXL_<КраткоеИмя>ПФ_MXL_М11、ПФ_MXL_СчётФактура、ПФ_MXL_КонвертDL
其他 макет(数据加载、服务用途、设置)不加前缀МакетЗагрузки、НастройкиПечати

如果用户指定的 макет 名称没有前缀,但上下文是打印表单,自动添加前缀 ПФ_MXL_ 并告知用户。

MainDataCompositionSchema(自动)

向 ExternalReport 或 Report 添加 DataCompositionSchema 类型的 макет 时:

  • 如果 MainDataCompositionSchema 为空,则自动填入指向该 макет 的引用
  • 使用 --SetMainSKD 覆盖现有值

创建内容

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

修改内容

  • <SrcDir>/<ObjectName>.xml — 在 ChildObjects 中添加 <Template>
  • 对于 ExternalReport/Report:可能会更新 MainDataCompositionSchema

评论

支持 Markdown