Odoo 中文社区

    • 注册
    • 登录
    • 搜索
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组

    Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

    由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

    本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

    开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

    如果您登录系统碰到问题,请在微信公众号留言:

    OpenERP的复式库存运算

    Odoo 新手求助
    5
    6
    6875
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • digitalsatori
      digitalsatori 管理员 最后由 编辑

      半年前在介绍 [检测到链接无效,已移除] 时提到需要对OpenERP复式库存做交代后才能进一步深入介绍。

      本系列的介绍中,我们会涉及:
      什么是OpenERP的复式库存运算?
      什么是存货地点?
      存货地点如何设置?
      存货地点与仓库的联系
      存货地点的chain location有什么用途?
      Stock Move与库存管理,生产,需求运算的关系等

      ====================
      [b]OpenERP复式库存运算[/b]
      ====================

      OpenERP在计算库存数量时采用了与大多数库存管理软件不太一样的方法,其基本原理与财务管理的复式记账原理一致。即:“有借必有贷,借贷必相等”。OpenERP的复式库存运算中的一个核心对象就是所谓Stock Move。与财务对资金的流动的记录和分析相同,OpenERP就是通过Stock Move来对货品数量的流动进行记录和分析的。Stock Move对象上记录了货品从一个“存货地点”向另一个“存货地点”移动的数量,时间,和状态等。

      [b]存货地点(Stock Location)[/b]
      ==========================

      Stock Location在OpenERP的用户界面中往往被翻译成“库位”。这样的理解只有在Stock Location归属于仓库这个容器下才是正确的。事实上,Stock Location 在OpenERP中远远超出了“库位”的概念范畴。其与财务记账中的科目有相似的意义。而Stock Location的灵活配置可以解决库存运算中的很多复杂情况。与财务科目表类似,Stock Location 可以组织为树状结构。比如下面这样的结构:

      <br />公司A----仓库A<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  -----货位1<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  -----货位2<br />&nbsp; &nbsp; &nbsp; &nbsp; ----质检A<br />&nbsp; &nbsp; &nbsp; &nbsp; ----发货A<br />
      


      存货地点类型
      -------------

      [b]视图类型[/b]
      ''''''''

      Stock Location之所以能组织为树状结构是因为有“视图”(View)类型的Stock Location的存在,这类视图类型的Stock Location并不直接参与库存移动(Stock Move),但是因为它们的存在,我们可以归集其下子集的信息。比如:上图中:公司A(视图类型)可以归集“仓库A”,“质检A”,“发货A”的库存数据,而“仓库A”可以归集“货位1”,“货位2”的库存数据。

      [b]内部类型[/b]
      ''''''''

      内部(internal)类型又被称作“物理”(physical)类型,就是存在实际地点的Stock Location。这是最直观理解的存货地点类型,但是要强调的是这个实际存在的存货地点不一定是你仓库中的货位。

      [b]虚拟类型[/b]
      ''''''''

      这类Stock Location的存在是OpenERP实现复式库存运算的关键。因为OpenERP实现库存运算是通过Stock Move,而Stock Move涉及两个库存地点,一个移出库存地点,一个移入库存地点。为了保证货物的移动能用Stock Move来表述,我们必须引入一批虚拟库存类型的Stock Location使这样的库存移动匹配成对。比如从供应商进货: 我们就要从“供应商虚拟存货地点”移动到我们仓库的存货地点; 比如向客户发货:我们就要从仓库所辖的存货地点向”客户虚拟存货地点“移动;再比如:生产领料,就是从仓库所辖存货地点向"生产虚拟存货地点“的存货移动,而产成品入库,则是从”生产虚拟存货地点“向仓库所辖存货地点的移动。由此看来,复式库存运算听起来玄奥,其实就是通过这些虚拟存货地点的设置,使 所有 的库存变动在两个地点成对发生。

      这类的虚拟存货地点类型总共有以下几种:

      * 供应商类型(Supplier)
      * 客户类型 (Customer)
      * 生产类型 (Production)
      * 盘库类型 (Inventory)
      * 需求类型 (Procurement)
      * 中间类型 (Transit)

      需求类型(Procurement)的存货地点在"OpenERP的MRP运算的核心对象--Procurement Order" 一文中有提到,以后还会重点介绍。

      [b]Stock Move简介[/b]
      ==============

      Stock Move除了与上面介绍的Stock Location紧密关联以外,很显然还与产品,数量,计量单位,单价,时间等关联。这里只强调Stock Move上的一个非常重要的概念,他的状态。

      [b]Stock Move的状态[/b]
      ----------------

      Stock Move的状态一般上有以下几种:

      * 草稿(draft)
      * 取消(cancel)
      * 等待(waiting)
      * 已确认(confirmed)
      * 已分配(assigned)
      * 完成(done)

      草稿和取消一目了然,无需介绍。“等待”表示该Stock Move有一个与其连锁的上游Stock Move尚未完成,等待上游连锁Stock Move的处理结果。关于连锁Stock Move 以及连锁存货地点将在后续的介绍中讲解。“已确认“表示该Stock Move已被确认,但是源存货地点尚没有足够完成本次库存移动的产品库存,在界面上OpenERP显示为“等待可用”(Waiting Availability); "已分配“是指在该Stock Move的源库存地点已有足够本次库存移动的产品,这些产品已被预留,但本次移动尚未完成;“完成”当然表示本次库存移动已经完成。
      [b]
      库存计算的简单公式[/b]
      ==================

      OpenERP的Stock Move似乎都在描述一个动态的货品移动过程。那么具体到每一个存货地点的库存量到底如何计算呢?其实公式非常简单,如图:

      在图中,我们需要计算存货地点M的存货量。以I开头的Stock Move 比如I-A1M(done)表示流入M的Stock Move, 其状态为done, 而流出M的Stock Move则以O开头比如:O-MB2(confirmed)表示流出存货地点M的Stock Move其状态为“confirmed"

      [attachimg=1]

      计算库存的简单公式是:
      实际库存(on hand) = Σ(I-nM<done>)-Σ(O-Mm<done>)
      未来库存(virtual stock) = Σ(I-nM<not cancel>)-Σ(O-Mm<not cancel>)

      自己动手试试计算图中的实际库存和未来库存,以及在途收货库存,以及待发货库存数量等

      下回将介绍Stock Location与仓库的关系,以及库存管理与Stock Move的关系等,敬请期待!

      【上海先安科技】(tony AT openerp.cn)

      1 条回复 最后回复 回复 引用 0
      • wjfonhand
        wjfonhand 最后由 编辑

        四个西格玛,超级牛力。

        GoodERP -- Odoo China fork

        1 条回复 最后回复 回复 引用 0
        • C
          ccdos 最后由 编辑

          校长的重磅文章清晰易懂

          就是等得太久了

          1 条回复 最后回复 回复 引用 0
          • mrshelly
            mrshelly 最后由 编辑

            收藏...... 

            继续7呆后续...

            1 条回复 最后回复 回复 引用 0
            • A
              aaron 最后由 编辑

              校长终于履行诺言了,不过依旧是调口味的作风哈,不知这篇大作要等多久才能完结,顺便问下未来某日的库存的计算公式怎么写?求指点!

              1 条回复 最后回复 回复 引用 0
              • First post
                Last post