
Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn
由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解
本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!
开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号
如果您登录系统碰到问题,请在微信公众号留言:
最小包装
-
采购部门提出一个问题:
比如某个产品下1500个的生产单进行生产,这个产品的某个零件需要1500只,则系统会根据BOM单产生这个零件的1500只的订单,但这个零件供应商的最小包装是1000个,正确的订单必须是2000只。OpenERP里有对这个的直接支持吗?
Chip
-
有
-
没找到
-
呵呵,我也没找到。
MOQ 和 SPQ, 我以前用的ERP是支持这两个的。
MOQ (MINIM ORDER QUANTITY) , OpenERP是支持的,叫MINIMAL QUANTITY。
SPQ=Standard Pack Quantity 标准包装数,就是我所谓的最小包装数,我没找到。经试验,Packaging 那里不产生任何约束。
谁能给个思路,我试试弄一下。大家知道,电子元件都是一盘一盘卖的。
-
试试采购计量单位
但问题是每个产品只能设一个采购计量单位,不能分供应商。
-
试了试, 比如设置采购单位是盘, 1盘=2000 片(片是Default UoM), BOM 需要3500片,procurement running居然生成了1.75盘的订单,并不取整成2盘(4000片)令人哭笑不得。
-
这次把Rounding Precission 设成1.0, BOM需要3500片,Procurement 生成的订单数量居然是1 盘,而不是两盘。
-
你猜怎么着,Procurement 生成的订单居然是四舍五入, 零头小于.500的,就向下取整;零头大于w等于500的,就向上取整。我需要的是无论零头是多少,都向上取整。
还有意思的是,会生成两个订单。
-
读源代码吧,会更快找到答案
虽然你测试的思路很清晰
-
所有的这一切.... 都可以在二次开发中全部解决.呵呵. 开源豆是这么安逸...
-
找到了:
product.py 128行 :
amount = rounding(amount * to_unit.factor, to_unit.rounding) 四舍五入了。
对于Minimum Package的情况,改成这样就行了:
amount = amount // (1.0 / to_unit.factor) + 1
先在前面这样做:
设置采购单位是盘, 1盘=2000 片(片是Default UoM)by set Rate = 0.0005, note : rate is stored in table as factor.
再把Rounding Precission 设成1.0
感谢 Shelly 和 wjfonhand。 要不是你们的帮忙,OpenERP也许在我们公司就夭折了,要是那样,我可怎么混啊。
-
Mark 一下... 如果这个设置能做成模块的一个 参数项, 就完美了...呵呵...
PS: 建议给贴子添加 一些 标签. 以便更多的人能检索到..
-
把rounding改成ceilling是不是就行了?
帮忙是应该的,中国的用户都夭折了,我们也不用玩了。
-
我看到 6.1 的最小库存规则里面,有一个 “数量倍数”字段,是不是解决这种需求呢?