第一种方案是
每次采购入库更新成本字段,更新库存字段值,方便是方便,怕的是只要一次单据出错了,库存数量也不准了
第二种方案是
每次采购入库只更新数量和单价,成本和库存是通过存储过程计算得出,一般库存数量为期初数量+入库数量-出库数量,成本也是这样,优点是比较准确,缺点是数据量大了,查询比较占资源你们的方案呢

解决方案 »

  1.   

    我给它分类静态库存,与动态库存。
    静态: 将库存做成一个表, 出入库是触发器自动更新库存表, 优点: 查询速度快, 方便清空库存, 删除出入单据不影响(有些公司怕查税)。 缺点:如果直接修改库存表就会不准, 需要解决多个客户同时更新问题。
    动态:库存表做成视图, 动态统计出入仓数据, 优点: 库存准确
    缺点:数据量大时速度较慢, 人为删除单据也会影响库存的准确性。楼主可以按实际要求来做。 我们ERP用的动态库存。
      

  2.   


    我认为用第二种方案,但是需要改一下:
    1、其实核算成本,无非是核算销售成本,或者核算领单出库成本,核算出库单成本这比较容易,在录入出仓单时,其单价取最近一次进价就行了。如果核算销售成本时,则要在销售的明细表加上一个成本单价,专门写一下存储过程来核算销售成本单价
    2、当数据里大时,查询是比较占资源的,那你就要进行sql语句的优化,另外就是用多的数据库帐套来实现也可以。
      

  3.   

    确定要考虑:正向与逆向的流程是必不可少的.
    作为数量要稍微好处理一些;
    而成本可能还会涉及到移动加权、当期加权之类的算法,即便有正向与逆向的流程也不好处理;
    我们公司的ERP系统,也是大多数这类管理软件都会有的功能,就是月底统计算一次成本,并反写到相应的成本到出入库单据中去,然后结账不允许修改已计价的单据!
      

  4.   

    我的做法和你是一样的,但是每次入库都更新成本采用移动加权平均法是有不少误差的!
    最好还是每月底进行一次月加权平均,加权后单据不能再改,这样的成本相比比较精确,进入下个月将上月的库存数量,成本和金额转入下月的期初
    确定要考虑:正向与逆向的流程是必不可少的. 
    作为数量要稍微好处理一些; 
    而成本可能还会涉及到移动加权、当期加权之类的算法,即便有正向与逆向的流程也不好处理; 
    我们公司的ERP系统,也是大多数这类管理软件都会有的功能,就是月底统计算一次成本,并反写到相应的成本到出入库单据中去,然后结账不允许修改已计价的单据!
      

  5.   

    关于ERP的计算都有一个规律,就是要有即时的计算。每次动作时都能有一个即时的数据更新。另外就是分时段的重算,可以让用户选择一个时段进行重算,以修改不正确的输入。 这个是必须的。