关于 meta-remove
meta-remove 是用于删除配置 XML 导出中元数据对象的技能。它会先检查对象引用,并可在发现引用时阻止删除。
主要功能
- 01检查属性、代码和其他元数据中的引用
- 02发现引用时阻止删除
- 03支持仅预览或保留文件
- 04支持强制删除并清理对象表单引用
- 05覆盖多种元数据对象类型
适用场景
- 01删除不再使用且无引用的配置对象
- 02预览删除操作或保留对象文件
- 03在确认后强制删除仍有引用的对象
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ nikolay-shirokov/ cc-1c-skills --skill meta-remove安装后在 Claude Code 中输入/meta-remove确认已加载。
附带文件scripts/meta-remove.ps1scripts/meta-remove.py
详细介绍
/meta-remove — 删除元数据对象
安全地从 XML 配置导出中删除对象。删除前会检查属性、代码和其他元数据中是否存在对该对象的引用。如果发现引用,将阻止删除。
用法
/meta-remove <ConfigDir> -Object <Type.Name>
参数
| 参数 | 必填 | 说明 |
|---|---|---|
| ConfigDir | 是 | 导出内容的根目录(其中包含 Configuration.xml) |
| Object | 是 | 对象类型和名称:Catalog.Товары、Document.Заказ 等。外部数据源表需使用四部分格式:ExternalDataSource.PG.Table.products |
| DryRun | 否 | 仅显示将要删除的内容,不做任何更改 |
| KeepFiles | 否 | 不删除文件,仅取消注册 |
| Force | 否 | 即使发现引用也删除;同时会清除对该对象表单的引用 |
命令
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/meta-remove.ps1" -ConfigDir "<путь>" -Object "Catalog.Товары"
支持的类型
Catalog、Document、Enum、Constant、InformationRegister、AccumulationRegister、AccountingRegister、CalculationRegister、ChartOfAccounts、ChartOfCharacteristicTypes、ChartOfCalculationTypes、BusinessProcess、Task、ExchangePlan、DocumentJournal、Report、DataProcessor、CommonModule、ScheduledJob、EventSubscription、HTTPService、WebService、DefinedType、Role、Subsystem、CommonForm、CommonTemplate、CommonPicture、CommonAttribute、SessionParameter、FunctionalOption、FunctionalOptionsParameter、Sequence、FilterCriterion、SettingsStorage、XDTOPackage、WSReference、StyleItem、Language
示例
# Проверка ссылок + dry run
... -ConfigDir C:\WS\tasks\cfsrc\acc_8.3.24 -Object "Catalog.Устаревший" -DryRun
# Удалить объект без ссылок
... -ConfigDir C:\WS\tasks\cfsrc\acc_8.3.24 -Object "Catalog.Устаревший"
# Принудительно удалить несмотря на ссылки
... -ConfigDir C:\WS\tasks\cfsrc\acc_8.3.24 -Object "Catalog.Устаревший" -Force
# Только дерегистрировать (файлы оставить)
... -ConfigDir C:\WS\tasks\cfsrc\acc_8.3.24 -Object "Report.Старый" -KeepFiles
# Удалить общий модуль
... -ConfigDir src -Object "CommonModule.МойМодуль"