请教:在手库存充足的情况下MO 检查可用性,预留为0是怎么回事?
-
我理解你的需求应该是:
生产某个产品FG-001,当这个产品的物料比如Semi-FG-001,Com.001, Com.002在库存中有充足库存时,从仓库预留这些物料;如果不够的时候就按需采购或生产这些物料。
在V12以前包括V12这个需求很难完整实现。因为route中的
Move Supply Method
只有两个选项Trigger Another Rule
(即mto)和Take from stock
(即mts)当你在route中选择的是
Trigger Another Rule
,比如你的设置例子中中对客户库位需求的处理,那么系统将不再检查Stock库位的库存,而在Stock库位触发新的需求从而产生对应的生产或采购单。这也是你现在的问题。在V13以前的最接近的做法是设置
Take from Stock
(mts),默认补货规则,然后设置最小订货点,所以生产订单先消耗配件库存,当库存低于最小库存设置,触发补货需求,然后生成对应采购或生产订单。但是注意这里的采购和生产订单与原始的那个生产订单是没有关联关系的,因为它是由最小库存规则触发的。而在V13以后,我们多了一个选项:
Take From Stock, if unavailable, Trigger Another Rule
(即mts_else_mto),这个选项基本上就是你的需求了。(当然这个选项还有一些其他问题:https://github.com/odoo/odoo/pull/32778 ,这可能在未来版本的Odoo中才能解决)。另外,对于你目前的这些基本需求是不需要另外定义route的,使用系统已有的route定义已经足够了。
-
这是因为你配件产品的route 设置成了“MTO” (make to order),所以它不会检查库存情况的。你可以把这些产品设置成MTS,就是不要选MTO。
如果你用的是V13,并且最新更新了这个 https://github.com/odoo/odoo/commit/3f8f216f5b2c9c6c1fa0757e929471db97d8f304
那么生产时默认会选MTSO模式,即MTS->MTO就是默认检测库存MTS,库存不足部分MTO发起采购或生产
-
@digitalsatori 我确实是要设MTO, 但是按照 Oddo 官方视频中的MTO设置没有路线细节,我根据自己的理解设置了路线,也不确定我重新设置的是不是MTO, 我的路线设置如下图,麻烦帮忙看看是否证确。
BOM 结构
父件 FG-001 路线配置:
子件 Semi-FG, Com.001 , com002 路线设置
-
我理解你的需求应该是:
生产某个产品FG-001,当这个产品的物料比如Semi-FG-001,Com.001, Com.002在库存中有充足库存时,从仓库预留这些物料;如果不够的时候就按需采购或生产这些物料。
在V12以前包括V12这个需求很难完整实现。因为route中的
Move Supply Method
只有两个选项Trigger Another Rule
(即mto)和Take from stock
(即mts)当你在route中选择的是
Trigger Another Rule
,比如你的设置例子中中对客户库位需求的处理,那么系统将不再检查Stock库位的库存,而在Stock库位触发新的需求从而产生对应的生产或采购单。这也是你现在的问题。在V13以前的最接近的做法是设置
Take from Stock
(mts),默认补货规则,然后设置最小订货点,所以生产订单先消耗配件库存,当库存低于最小库存设置,触发补货需求,然后生成对应采购或生产订单。但是注意这里的采购和生产订单与原始的那个生产订单是没有关联关系的,因为它是由最小库存规则触发的。而在V13以后,我们多了一个选项:
Take From Stock, if unavailable, Trigger Another Rule
(即mts_else_mto),这个选项基本上就是你的需求了。(当然这个选项还有一些其他问题:https://github.com/odoo/odoo/pull/32778 ,这可能在未来版本的Odoo中才能解决)。另外,对于你目前的这些基本需求是不需要另外定义route的,使用系统已有的route定义已经足够了。
-
@digitalsatori 您的解答非常清晰,感谢解惑!
-
不客气,常来交流