跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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. OpenERP的复式库存运算

OpenERP的复式库存运算

已定时 已固定 已锁定 已移动 Odoo 新手求助
6 帖子 5 发布者 7.1k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • digitalsatoriD 离线
    digitalsatoriD 离线
    digitalsatori 管理员
    写于 最后由 编辑
    #1

    半年前在介绍 [检测到链接无效,已移除] 时提到需要对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
    • wjfonhandW 离线
      wjfonhandW 离线
      wjfonhand
      写于 最后由 编辑
      #2

      四个西格玛,超级牛力。

      GoodERP -- Odoo China fork

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

        校长的重磅文章清晰易懂

        就是等得太久了

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

          收藏...... 

          继续7呆后续...

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

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

            1 条回复 最后回复
            0

            • 登录

            • 没有帐号? 注册

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