委外制造比自制更敏感的一点,是很多动作发生在“不是本公司内部员工”的角色上。mrp_subcontracting_quality 里清理质量检查时会临时切 sudo,表面上像是权限放大,实质上是在补一段跨角色边界的受控清理。
委外收货或扫码过程中,move line 可能需要撤销、重录或修正对应的质量检查。如果严格沿用当前委外伙伴或受限用户上下文,质量记录未必有权限被正确删除或重建,结果就会留下和库存事实脱钩的检查残影。
因此这段逻辑的重点不是“让任何人都能删质检”,而是“系统在确认这是委外链路下的 move line 清理时,临时用更高权限把质量记录收干净,再回到原来的业务上下文”。它保护的是数据一致性,而不是便利。
这也说明委外制造的跨模块链路并不是库存移动完就结束。stock move line 的状态变更,要能把质量检查一起清干净;质量侧又必须理解这是委外 move,而不是普通内部 move。制造、库存、质量和权限边界在这里同时出现。
如果没有这段受控 sudo,你很可能会看到一种最难排的脏状态:库存动作已经回滚,质检记录却还挂着;或者新 move line 已经生成,旧检查还卡住后续流程。
现场遇到委外质检“删不掉、重建不了、权限不够”的问题时,优先确认是否真的走到了委外 move line 分支、对应检查是否与该 move line 正确关联,以及自定义模块有没有粗暴改写这段 unlink 权限逻辑。
DISCUSSION
评论区