关于 template-add
template-add 是用于在 1C 项目中创建指定类型 макета 并登记到对象根 XML 的开发技能,面向 1C 开发者。它支持多种 макета 类型,并可处理 HTML 语言页面及报表的主数据组合架构引用。
主要功能
- 01创建多种类型的 макета
- 02在对象根 XML 中登记
- 03添加 HTML 语言页面
- 04自动设置报表主数据组合架构
- 05支持指定源目录与同义名称
适用场景
- 01为报表创建数据组合架构 макета
- 02为外部处理添加文本或二进制 макета
- 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 | 扩展名 | 内容 |
|---|---|---|---|
| HTML | HTMLDocument | Template/<lang>.html | 空 HTML 文档 |
| Text、文本文件、文本 | TextDocument | .txt | 空文件 |
| SpreadsheetDocument、电子表格文档、MXL | SpreadsheetDocument | .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