erf-expert 是一套针对 1С 外部报表(ERF)的统一操作技能,通过一个命令按模式分派不同任务。它面向需要以源码形式管理外部报表的开发场景,提供创建、构建与反解三种模式。
用途与模式 该技能用于外部报表 ERF 的三类操作:init 创建新报表的 XML 脚手架、build 从 XML 源码组装出 ERF、dump 把 ERF 反解为 XML 源码。
init 模式:创建报表 用法为 /erf-expert init <Name> [Synonym] [SrcDir] [--with-skd]。Name 为必填的报表名;Synonym 为可选显示名,默认等于 Name;SrcDir 为源码目录,默认 src;--WithSKD 用于创建空 СКД 并绑定到 MainDataCompositionSchema。命令为 powershell.exe -NoProfile -File .claude/skills/erf-expert/scripts/erf-init.ps1 -Name "<Name>" [-Synonym "<Synonym>"] [-SrcDir "<SrcDir>"] [-WithSKD]。 生成内容为 <SrcDir>/ 下含 <Name>.xml(根元数据文件,含 4 个 UUID)与 <Name>/Ext/ObjectModule.bsl(含 3 个区域的对象模块)。使用 --WithSKD 时额外生成 <SrcDir>/<Name>/Templates/ 下的 ОсновнаяСхемаКомпоновкиДанных.xml 与 ОсновнаяСхемаКомпоновкиДанных/Ext/Template.xml(空 СКД)。根 XML 包含 MetaDataObject/ExternalReport;使用 --WithSKD 时 MainDataCompositionSchema 被填充,ChildObjects 包含 <Template>。ClassId 固定为 e41aff26-25cf-4bb6-b6c1-3f478a75f374,文件以带 BOM 的 UTF-8 创建。 后续步骤可参见:添加表单 /form-add、添加 макет /mxl-expert template-add、编辑 СКД /skd-edit、添加帮助 /help-add、构建 ERF /erf-expert build。
build 模式:构建 ERF 用法为 /erf-expert build <Name> [SrcDir] [OutDir]。Name 为必填对象名(根 XML 名);SrcDir 默认 src;OutDir 默认 build。 连接参数解析流程:读取项目根目录的 .v8-project.json,取其 v8path 并解析数据库——若用户直接给出参数(路径、服务器)则直接使用;若按名称给出数据库则在 .v8-project.json 中查找;未指定时按 Git 分支匹配 databases[].branches;分支未匹配则使用 default;若无 .v8-project.json 则在 ./base 创建空信息库;若 v8path 未设置,则用 Get-ChildItem "C:\Program Files\1cv8*\bin\1cv8.exe" | Sort -Desc | Select -First 1 获取。 命令为 powershell.exe -NoProfile -File .claude/skills/erf-expert/scripts/erf-build.ps1 -InfoBasePath "<路径>" -SourceFile "src<Name>.xml" -OutputFile "build<Name>.erf"。可用参数包括 -V8Path(平台 bin 目录,可选)、-InfoBasePath(文件库)、-InfoBaseServer 与 -InfoBaseRef(服务器与库名)、-UserName、-Password(均可选)、-SourceFile(必填,根 XML)、-OutputFile(必填,输出 ERF)。其中 -InfoBasePath 与 -InfoBaseServer + -InfoBaseRef 二选一必填。
dump 模式:反解 ERF 用法为 /erf-expert dump <File> [OutDir]。File 为必填 ERF 路径;OutDir 默认 src,为导出目录。连接参数解析与 build 模式相同。 命令为 powershell.exe -NoProfile -File .claude/skills/erf-expert/scripts/erf-dump.ps1 -InfoBasePath "<路径>" -InputFile "<文件>.erf" -OutputDir "src"。参数包括 -V8Path(可选)、-InfoBasePath、-InfoBaseServer 与 -InfoBaseRef(二选一必填)、-UserName、-Password(可选)、-InputFile(必填)、-OutputDir(必填)、-Format(可选,默认 Hierarchical,可选 Plain)。 分层输出结构为 <OutDir>/ 下含 <Name>.xml 与 <Name>/,后者包含 Ext/ObjectModule.bsl、Forms/<FormName>.xml 及其 Ext/Form.xml、Templates/<TemplateName>.xml 及其 Ext/Template.<ext>。
限制与未提供信息 资料未说明该技能支持的 1С 平台版本范围、依赖的运行时环境要求、定价或授权方式。构建与反解需要能够访问 1С 信息库与平台可执行文件。