出库时的 stock.move.line 是如何确定的
用通俗但不失源码细节的方式,讲清楚 Odoo 出库时 stock.move.line 的生成逻辑:从 stock.move、stock.quant、移除策略到 lot/serial 拆行。
TOPIC PICKS
用通俗但不失源码细节的方式,讲清楚 Odoo 出库时 stock.move.line 的生成逻辑:从 stock.move、stock.quant、移除策略到 lot/serial 拆行。
可以顺着继续读的相邻方向
很多人以为 Odoo 的出库策略无非就是 FIFO、LIFO、FEFO 排个序。但 stock.quant 里 actually 单独实现了 least_packages,并且用 A* 搜索包裹组合。这说明它优化的不是时间顺序,而是“尽量少拆包”。本文把这套目标函数讲透。
很多人打开 Odoo 的 Stock Rules Report,以为那只是把 route 画成一张图。其实它真正有价值的地方,是把某个产品从目标库位往上递归命中的规则链可视化,帮助你诊断“为什么这里补不到货”。本文把这套诊断思路讲透。
很多人看 Odoo 包裹时,只关心 package 现在在哪个库位。但官方源码专门建了 stock.package.history,说明系统更在乎的是这只包怎么被装、被套、被搬以及跟哪些调拨关联。本文把这条包裹追溯链讲透。
很多人点开 Odoo 的 Replenishment Information,只把它当成一个“补货图表弹窗”。但官方源码里,它其实把 lead days 拆解、历史出库估算、min/max 曲线以及跨仓补货选项拼到了一起。本文把这个向导真正解决的问题讲透。
quality_control 不把 fail 简化成“整单失败”。measure_on=move_line 时可按失败数量拆 move line 并送往 failure location;lot 还支持按比例抽检,量测结果则继续累计 average 与 standard deviation。
quality_control 不是等你点“做质检”才开始。stock.move.line.create/write() 会在数量落下时按 picking type、产品和分类匹配 quality point,并把 move_line_id、lot_name、picking_id 一起写进质检记录。