> **先读** [`shb-warehouse-material-mutation-common.md`](shb-warehouse-material-mutation-common.md)（本域全部变更安全规则的唯一出处，含 `--yes` 强制、提交前复述影响面）。

# shb-cli warehouse material delete（删除物料）

## 用法

```bash
shb-cli warehouse material delete --ids <id1>,<id2> --yes

# 预览而不真正发起
shb-cli warehouse material delete --ids <id1>,<id2> --dry-run
```

- **必须传 `--yes`**（或 `--dry-run`），否则拒绝执行（原因见 mutation-common 安全规则第 1 条）。
- 是**软删除**（可在数据库层面恢复，不是物理删除），但有两个**全批次全有全无**的前置校验：
  1. 请求里任意一个物料在任意仓库有库存（数量 > 0），**整批**都会被拒绝删除；
  2. 请求里任意一个物料被未删除的 BOM 引用，**整批**都会被拒绝删除。
  也就是说只要一批里有一个物料被挡住，这批里其它本来可以删的物料也不会被删——报错信息会列出具体是哪些物料/BOM 挡住的，需要用户先处理库存或 BOM 引用（BOM 侧操作见 [`../../shb-warehouse-bom/SKILL.md`](../../shb-warehouse-bom/SKILL.md)），或把该物料从这次删除列表里剔除后单独再删一次其余的。
- 删除成功会级联清理替换关系、产品目录关联、附件（不可恢复）、标签。
