成本算法多樣化
一、加權平均 
     二、先進先出 
     三、指定批次
三種不同成本算法,適應各行各業公司管理模式
功能說明FUNCTION DECLARATION
一般情況下,每次入庫時計算成本。根據加權平均的計算公式 
     入庫前成本*入庫前庫存數量+本次入庫價格*本次入庫數量 
     入庫后成本 = -------------------------------------------------------------------
     入庫前數量  + 本次入庫數量 
     一般入庫的出庫流程: 
     入庫數量為負,入庫后總庫存為0,成本價格不變 
     當前成本為0,取本次入庫價格存為成本價 
     在出庫時,提取當前的成本計入銷售商品的成本價。 
     需要考慮的特殊情況: 
     1.銷售退貨 
      #1.如果有關聯的銷售單,則去銷售單上成本 
      #2.無關聯銷售單,成本不變 
      #3.當前成本<=0,取最新進價 
      #1.最新進價=0,取本次退貨價格 
     2.采購退貨 
      #1.如果有關聯進貨單,重新計算成本 
      #2.無關聯進貨單,成本不變。 
     3.開發票情況下的入庫成本 
     進貨單:取最小單位的無稅單價計算成本 
     報溢單,入庫單:默認稅率=0,成本計算不變 
先進先出算法通常用于食品、醫藥等對食品需要進行批次管理的行業,可以提醒商品過期,可以對產品過程按批次進行追溯。 
     先進先出原理:商品入庫時,需要輸入批次信息,系統自動生成一個新的商品批次。在出庫時,用戶輸入需要出庫的數量,系統會自動根據先進先出原理,算本次出庫需要提供哪些批次,多少數量。 
            每個商品生成一個新批次                        自動提取批次
     入庫--------------------------------------->    庫存批次   ------------------------------------>出庫 
                                
                                 |————————————————————|
         A商品入庫批次  ?|           |          |          |          |       |        A商品出庫批次
        ----------------+------>|007      |006    |005    | 004    |003         +---------------->
                               |           |          |          |          |      |           
                                |————————————————————|
     假設:A商品按順序入庫庫存批次有5批,每批均為100個,當前需要出庫300個。 
     當商品出庫時,自動提取003 004 005  三批共300個商品。 
     同時在打印出庫單的時候能夠看到三條A商品,分別對應三個批次及批次數量。 
     使用先進先出的算法,必須注意的一些事項: 
     使用先進先出必須保證一開始就使用此算法。如果從加權平均轉成先進先出,之前的批次記錄不準確。應該在此情況下,請清空數據庫,重新導入基礎數據后使用。 
     關于期初的批次數據:期初的批次數量,請使用進貨單/入庫單開單的方式導入系統。 
     需要在打印報表上顯示批次數據,需要用專門的含有批次號的打印報表。 
指定批次的算法是在先進先出算法上的延伸,可以通過批次的選擇來管理商品的生產日期和批次。
