出库时的 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 拆行。
可以顺着继续读的相邻方向
stock_barcode_picking_batch 补的不是一个大列表,而是一套把 allowed pickings、batch client action、取消入口和排序一致性绑在一起的波次拣货链路。
stock.quant.barcode_write 处理的不是普通 write,而是一套给移动盘点端用的命令协议:临时行、lot 自动补建、inventory_date 回填和 user 认领都在这条链路里。
很多团队把仓间调拨想成“源仓扣减、目标仓增加”的两次记账,但 Odoo 在 resupply 路由里会显式引入 transit location,并按同公司 / 跨公司选择不同 transit,再用 pull rule 把上游出库与下游入库串起来。本文把这条 inter-warehouse flow 讲透。
站在操作员视角,Put in Pack 像是一个很轻的按钮;但源码里它会先检查 destination、决定是否弹 package type 向导、优先处理 picked 行、递归处理已有 package,甚至自动打印包裹标签。本文把这条发运包裹工作流讲透。
很多团队已经知道 owner_id 会影响库存可用量,却没继续追到 stock_account:寄售货不仅是“谁能预留”的问题,更是“哪些 move、move line、quant 不该进本公司估值”的问题。本文把 owner stock 与 valuation boundary 讲透。
很多团队把循环盘点理解成“库位每 30 天数一次”。但 Odoo 真正落地时,会同时看 location 的 cyclic inventory frequency、last inventory date、company 年度盘点日,以及 quant 自己的 inventory_date。本文把这套排程边界讲透。