库存移动(Stock Move)新玩法
Odoo的库存移动不仅仅是存货在两个“存货地点”之间的移动的基本概念了,他们可以被“串联”在一起,可以用来生成或改变其对应的拣货单 (Picking)。链式库存移动被广泛应用在各类库存操作中比如:多步收货或多步发货操作,多仓库间的配、补货操作等;而不仅限于之前OpenERP中 MTO供货类型产品的发货等待对应供应商收货这样的链式库存移动的应用场景了。我们会描述如何通过“推”,“拉”规则来创建这些链式库存移动。
库存移动与拣货单的关联
仓管人员手动进行的库存操作的一般顺序是:先创建拣货单然后在明细中选择不同的产品及数量从而创建相应的库存移动。但是在确认销售订单时,Odoo则是自动创建对应销售订单明细的库存移动在先,然后才会去将这些库存移动与一个现有的拣货单关联或创建一个新的拣货单。
库存移动与拣货单关联的前提条件是库存移动设置了拣货类型(比如:我的公司:发货单)。如果库存移动有设置拣货类型,Odoo则会尝试搜索拣货单并 与之关联。搜索的条件是这个拣货单要与库存移动有一致的状态,拣货类型,需求组(Procurement group, 即一组相关需求,比如来自同一订单), 源货位和目的货位。如果没有找到相应的拣货单则会新建一个拣货单并与之关联。
这种机制大大增加了灵活性。比如某些货品需要进入包装车间再包装,有些货品不需要的情况,订单中需包装的产品会被组合到一个拣货单中而不需要包装的产品会被组合进另一个拣货单中,而在发货时所有的货品又被重新组合到一个新的拣货单中。
拣货单几乎完全由其所含的库存移动决定。其状态由库存移动的状态和拣货类型决定,源货位和目的货位与其所含的库存移动的一致。预期拣货时间由所有库存移动指定日期中的最小日期决定。
拣货单的状态主要尤其所包含的库存移动决定:
如果所有的移动都是草稿状态,则拣货单也为草稿状态
如果所有的移动都是完成或取消,则拣货单也为完成或取消。
其他状态则同时取决于移动类型。移动类型用于决定客户是希望一次性完成全部产品的发货(一次性发货all at once)还是希望尽快收货(分批发货partial)。这种移动类型可以手动选择,也可以来自销售订单通过需求组传入。
如果是分批发货,则有一个特殊的状态:部分可用。当一个库存移动处于“确认/等待”状态时,部分库存已预留,这样的情况在Odoo中是允许的。该库 存会仍然处于“确认/等待”的状态,但是会有一个“部分可用”的标签。这种情况下,拣货单的状态不再是“确认/等待”状态而会变为“部分可用”状态,这使 得分批发货成为可能。另外,当拣货单中的部分库存移动处于预留可用状态,而其他库存移动仍然不可用时,拣货单也会变为“部分可用”状态。
有时一个库存移动并不会指定拣货类型,这意味着没有关联的拣货单。比如盘点操作及生产操作中所对应的库存移动。
转载:http://cn.openerp.cn/odoo-wms-stock-move/