跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. 最小包装

最小包装

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

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

    GoodERP -- Odoo China fork

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


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


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

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

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

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

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

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

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

            GoodERP -- Odoo China fork

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

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

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

                找到了:

                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
                  写于 最后由 编辑
                  #13

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

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

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

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

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

                    GoodERP -- Odoo China fork

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

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

                      1 条回复 最后回复
                      0

                      • 登录

                      • 没有帐号? 注册

                      • 登录或注册以进行搜索。
                      • 第一个帖子
                        最后一个帖子
                      0
                      • 版块
                      • 标签
                      • 热门
                      • 用户
                      • 群组