如果没有额外桥接,波次条码本来只知道自己有哪些 picking、哪些 move line。企业版再加上 stock_barcode_quality_control_picking_batch 后,批次对象会在初始字段集里额外注入 quality_check_todo,让现场在开扫前就知道这批任务还挂着多少待检动作。
这不是一个无关紧要的数字。对仓库现场来说,波次能不能继续推进,常常取决于某张 picking 上有没有未完成质检。把这个状态提前塞进批次条码初始载荷,等于把质量模块的阻塞信息提前交给库存执行层。
与此同时,stock.picking.action_open_batch_picking() 又保证了用户从单张 picking 回到所属 batch 时,不会脱离原来的批次执行上下文。于是现场可以在单据细节和波次总览之间来回跳,但看到的仍然是同一条执行链。
这条链的关键不是“批次里多了一个字段”,而是质量状态被提升成了批次执行条件:库存批量作业不再只关心数量和库位,也会被待检数量直接影响。
所以这里的跨模块接力非常典型:质量模块产出 quality_check_todo,批次条码模块负责把它带进移动端,库存执行模块再用它影响现场节奏。没有这段桥接,仓库只会在扫到半路时才发现自己其实还没过检。
排查时如果现场抱怨“批次里看不到待检、但单张 picking 明明有质检”,优先检查批次 _get_fields_stock_barcode() 是否真的继承到了质量扩展,以及是否通过 batch 回跳路径进入了正确的客户端动作。
DISCUSSION
评论区