• 版块
  • 标签
  • 热门
  • 用户
  • 群组
Skins
  • Light
  • Default
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Quartz
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Slate
  • Solar
  • Superhero
  • Vapor
Collapse

Odoo 中文社区

最小包装

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
15 帖子 4 发布者 12167 浏览
    • 从旧到新
    • 从新到旧
    • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • C 离线
    C 离线
    chipwang
    写于 最后由 编辑
    #1


    采购部门提出一个问题:

    比如某个产品下1500个的生产单进行生产,这个产品的某个零件需要1500只,则系统会根据BOM单产生这个零件的1500只的订单,但这个零件供应商的最小包装是1000个,正确的订单必须是2000只。OpenERP里有对这个的直接支持吗?

    Chip



    1 条回复 最后回复
    0
  • mrshellyM 离线
    mrshellyM 离线
    mrshelly
    写于 最后由 编辑
    #2

    有

    1 条回复 最后回复
    0
  • wjfonhandW 离线
    wjfonhandW 离线
    wjfonhand
    写于 最后由 编辑
    #3

    没找到

    GoodERP -- Odoo China fork

    1 条回复 最后回复
    0
  • C 离线
    C 离线
    chipwang
    写于 最后由 编辑
    #4

    呵呵,我也没找到。

    MOQ 和 SPQ, 我以前用的ERP是支持这两个的。

    MOQ (MINIM ORDER QUANTITY) , OpenERP是支持的,叫MINIMAL QUANTITY。

    SPQ=Standard Pack Quantity 标准包装数,就是我所谓的最小包装数,我没找到。经试验,Packaging 那里不产生任何约束。

    谁能给个思路,我试试弄一下。大家知道,电子元件都是一盘一盘卖的。

    1 条回复 最后回复
    0
  • wjfonhandW 离线
    wjfonhandW 离线
    wjfonhand
    写于 最后由 编辑
    #5

    试试采购计量单位
    但问题是每个产品只能设一个采购计量单位,不能分供应商。

    GoodERP -- Odoo China fork

    1 条回复 最后回复
    0
  • C 离线
    C 离线
    chipwang
    写于 最后由 编辑
    #6


    试了试, 比如设置采购单位是盘, 1盘=2000 片(片是Default UoM), BOM 需要3500片,procurement running居然生成了1.75盘的订单,并不取整成2盘(4000片)令人哭笑不得。


    1 条回复 最后回复
    0
  • C 离线
    C 离线
    chipwang
    写于 最后由 编辑
    #7

    这次把Rounding Precission 设成1.0, BOM需要3500片,Procurement 生成的订单数量居然是1 盘,而不是两盘。

    1 条回复 最后回复
    0
  • C 离线
    C 离线
    chipwang
    写于 最后由 编辑
    #8

    你猜怎么着,Procurement 生成的订单居然是四舍五入, 零头小于.500的,就向下取整;零头大于w等于500的,就向上取整。我需要的是无论零头是多少,都向上取整。

    还有意思的是,会生成两个订单。

    1 条回复 最后回复
    0
  • wjfonhandW 离线
    wjfonhandW 离线
    wjfonhand
    写于 最后由 编辑
    #9

    读源代码吧,会更快找到答案
    虽然你测试的思路很清晰

    GoodERP -- Odoo China fork

    1 条回复 最后回复
    0
  • mrshellyM 离线
    mrshellyM 离线
    mrshelly
    写于 最后由 编辑
    #10

    所有的这一切.... 都可以在二次开发中全部解决.呵呵. 开源豆是这么安逸...

    1 条回复 最后回复
    0
  • C 离线
    C 离线
    chipwang
    写于 最后由 编辑
    #11

    找到了:

    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也许在我们公司就夭折了,要是那样,我可怎么混啊。

    1 条回复 最后回复
    0
  • mrshellyM 离线
    mrshellyM 离线
    mrshelly
    写于 最后由 编辑
    #12

    Mark 一下...  如果这个设置能做成模块的一个 参数项, 就完美了...呵呵...

    PS: 建议给贴子添加 一些 标签. 以便更多的人能检索到..

    1 条回复 最后回复
    0
  • wjfonhandW 离线
    wjfonhandW 离线
    wjfonhand
    写于 最后由 编辑
    #13

    把rounding改成ceilling是不是就行了?

    帮忙是应该的,中国的用户都夭折了,我们也不用玩了。

    GoodERP -- Odoo China fork

    1 条回复 最后回复
    0
  • C 离线
    C 离线
    ccdos
    写于 最后由 编辑
    #14

    我看到  6.1  的最小库存规则里面,有一个  “数量倍数”字段,是不是解决这种需求呢?

    1 条回复 最后回复
    0

  • 登录

  • 没有帐号? 注册

  • Login or register to search.
  • 第一个帖子
    最后一个帖子
0
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
  • 登录

  • 没有帐号? 注册

  • Login or register to search.