經過一天的折騰,終于找到了解決方法,現把解決過程拿出來和大家分享,希望大家以后不要再出現和我一樣的錯誤。 客戶用的倉庫核算方法為:先進先出法。 遇到這種問題,期初要修改的數據庫表有:RdRecords(收發記錄子表),IA_Subsidiary(存貨核算存貨明細帳),IA_ValuationAss(存貨核算計價輔助數據表)開始沒有發現這張表,最后才找到,開始就是沒有找到這張表,才浪費了好多時間。 1、修改RdRecords表的期初數:RdRecords(收發記錄子表)記錄各種出入庫單、存貨記帳、存貨暫估(子)和存貨核算和庫存管理的期初數據。這張表的期初數據的判斷要靠他的主表RdRecord來完成,在主表RdRecord中用select * from RdRecord where ddate='2010-12-31 00:00:00.000' order by id找出期初的最大ID,再在子表RdRecords中用最大ID卡期初的所有數據,如:select * from RdRecords where id<=1000,如果是整列單價錯誤(要數量和金額是正確的),可直接執行:update RdRecords set iunitcost=iprice/iquantity where id<=1000,如是只是極個別地方錯誤,我可以直接修改這個錯誤。 2、修改IA_Subsidiary表的期初數:IA_Subsidiary(存貨核算存貨明細帳)是存貨核算系統對出入庫單據記賬后回寫的數據表,存貨核算期初記賬后也要回寫這個數據表。在這個表中,期初數據的查詢:select * from IA_Subsidiary where dvoudate='2010-12-31 00:00:00.000',日期為上一年度日期,這個表和RdRecords一樣,期初數據只有入庫數,沒有發出數,相對來說比較簡單,下來就是修改,根據自己的需要,修改自己要改的數據,可根據cwhcode(倉庫),cinvcode(存貨編號)來精確定位。 3、修改IA_ValuationAss:IA_ValuationAss表是倉庫核算方法為先進先出法、后進先出法時回寫的核算管理系統的表,這張表在核算系統期初記賬時,也要回寫。所以,如果倉庫的核算方法用的是先進先出法,要修改期初數據,一定要修改這張表。這張表的期初不好卡,如果系統用的是先進先出法,已經有其他月份的單據記賬,最好是把所有月份的單據全部取消記賬,取消后,這張表余下的數據就只是存貨核算期記賬的數據了,要修改就相對簡單一些。另外,如果用的是先進先出法,你不取消別的月份的單據記賬,你改了期初數據,計算的出庫單的金額就會不對,除非你只改一兩個,你可以把涉及的這一兩個錯誤的數據庫全部修改。 到此,為犯下的這個錯誤的解決方法就寫完了,在此還要感謝暢捷通支持總部工程師的快速支持。
|