用途:读取 1С 元数据对象的 XML(如 Catalogs/Имя.xml),输出符合 /meta-compile 格式的紧凑 JSON 草稿。典型流程是:反编译现有对象 → 修改草稿 → 以新名称编译成新对象,比从零编写 DSL 更快。
主要能力:仅捕获对象的结构与属性,生成 DSL 草稿。
重要限制:这不是可逆导出。编译草稿会创建具有新标识的新对象,而非原对象的副本。JSON 中不包含 UUID(对象及所有子对象的标识)、模块代码、表单、模板和权限。因此不要将草稿编译覆盖源对象,也不要将其视为“重新导入”——重建后的对象 UUID 不同,代码、其他对象、子系统组成、预定义数据中对原对象的引用都会失效,模块代码和表单也会丢失。
适用场景:以现有对象为样板创建新对象。不适用场景:对现有对象做点状修改(应使用 /meta-edit);备份、恢复或迁移同一对象(应使用 1С 标准导出 /db-dump-xml ↔ /db-load-xml、CF);仅查看对象结构(应使用 /meta-info)。
参数:ObjectPath 为对象 XML 路径,必填;OutputPath 为输出 JSON 路径,未指定则输出到 stdout。
命令:powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/meta-decompile.ps1" -ObjectPath "<Объект.xml>" -OutputPath "<out.json>"
不支持的对象类型或非 MetaDataObject 根节点会返回非零退出码并向 stderr 输出消息。
工作流:1) /meta-decompile <Образец.xml> -OutputPath draft.json 获取草稿;2) 在 draft.json 中修改 name 为新对象名并调整组成,对其他对象的引用按名称保留;3) /meta-compile -JsonPath draft.json -OutputDir <ConfigDir> 编译(对象获得新 UUID);4) 用 /meta-validate 和 /meta-info 检查;5) 模块、表单、模板、权限需另行添加。