天維論壇>>KIS系列   
标題:KIS 标準版 出納期末軋賬時提示“出納結賬過程中(zhōng)遇到錯誤,操作(zuò)失敗”


樓主:skyway
發貼數:17 篇
精(jīng)華:0 篇
發表于:2012-04-10 13:41:20









KIS 标準版 出納期末軋賬時提示“出納結賬過程中(zhōng)遇到錯誤,操作(zuò)失敗”

2010-02-11 10:56






XXXX有(yǒu)限公(gōng)司在出納模塊進行出納期末軋賬時提示“出納結賬過程中(zhōng)遇到錯誤,操作(zuò)失敗”,
如圖1-01 所示:


圖1-01 出納期末紮賬錯誤信息

一、問題分(fēn)析思路


在數據庫中(zhōng)以TR 開頭的表都是出納業務(wù)的數據表。出納模塊期末軋賬在後台數據庫的關鍵過程為(wèi):
1、 将本期現金日記賬和銀行日記賬發生額彙總至出納現金銀行存款餘額表的發生額和累計發生
額中(zhōng);

2、 将現金銀行存款餘額表中(zhōng)的本期期末餘額寫入到下期期初餘額;

3、 更新(xīn)賬套參數表glpref 中(zhōng)的FTRClosedDate 出納軋賬日期。

注意:在進行數據處理(lǐ)前請先備份賬套。

二、問題解決方法

根據出納軋賬的關鍵過程來看,進行出納軋賬時涉及到的數據主要有(yǒu)現金日記賬TRCashJnl、銀行
日記賬TRBankJnl、現金/銀行存款餘額表TRBankJnlBal。在數據處理(lǐ)中(zhōng)可(kě)以首先查看這三張表中(zhōng)是否存在非法記錄,是否有(yǒu)記錄不完整以及是否表損壞。

1、打開【現金日記賬】查看,發現在日記賬中(zhōng)存在憑證日期是本期,期間為(wèi)13 期的記錄。如圖1-02所示:


圖1-02 現金日記賬中(zhōng)出現13 期記錄

查看【賬套選項】中(zhōng)的【賬套參數】信息,确認客戶使用(yòng)的是自然年度會計期間。如圖1-03 所示:

圖1-03 确認客戶使用(yòng)的是自然會計期間

由于自然會計期間不可(kě)能(néng)存在13 期的記錄,因此首先可(kě)以判斷是現金日記賬中(zhōng)存在非法記錄值。
通過語句Select * from TRCashJnl where Fperiod =13 查詢出現金日記賬表TRcashjnl 中(zhōng)13 期的數據,結果如圖1-04 所示:


圖1-04 查詢出納現金日記賬TRCashJnl 中(zhōng)13 期的記錄

在SQL 視圖中(zhōng)執行語句Update TRCashJnl SET Fperiod = month(Fdate),将期間更改為(wèi)與日期所
在期間一緻,修改完成後在現金日記賬中(zhōng)查詢正常。如圖1-05 所示:


圖1-05 修正後的現金日記賬

以同樣的方式修正銀行日記賬TrbankJnl 中(zhōng)13 期的記錄,操作(zuò)完成後,再次進行期末軋賬操作(zuò),
如果發現還是提示同樣的錯誤,則需要進一步分(fēn)析處理(lǐ)。

2、打開銀行日記賬表TrbankJnl,發現FExchRate,FDebitBase,FCreditBase 中(zhōng)有(yǒu)部分(fēn)記錄丢失,如圖1-06 所示:


圖1-06 銀行日記賬中(zhōng)丢失記錄

表中(zhōng)丢失記錄為(wèi)換算率和本位币借貸方金額。根據關系FDebitBase = FDebit*FExchRate,
FCreditBase = FCredit*FExchRate, FBalanceBase = FBalance*FExchRate,我們可(kě)以根據币别中(zhōng)的期
末彙率更新(xīn)日記賬中(zhōng)的彙率,執行語句為(wèi):
UPDATE GLCy INNER JOIN TRBankJnl ON
GLCy.FCyID=TRBankJnl.FCyID SET TRBankJnl.FExchRate = GLCy.FEndRate
WHERE
year(TRBankJnl.Fdate)*100+month(TRBankJnl.Fdate)>=(select
year(FTRClosedDate)*100+month(FTRClosedDate) from glpref)
執行成功後,根據原币、換算率與本位币之間的換算關系更新(xīn)本位币的金額。
UPDATE TRbankJnl SET FDebitBase = FDebit*FExchRate, FCreditBase = FCredit*FExchRate,
FBalanceBase = FBalance*FExchRate
WHERE
year(TRBankJnl.Fdate)*100+month(TRBankJnl.Fdate)>=(select
year(FTRClosedDate)*100+month(FTRClosedDate) from glpref)
使用(yòng)同樣的方法更新(xīn)現金日記賬中(zhōng)丢失的記錄。

三、總結


當出納模塊期末結賬出現系統報錯時,可(kě)以考慮以下幾個解決方法:

1、 将現金日記賬和銀行日記賬中(zhōng)存在的非法記錄修改正确;

2、 将數據表中(zhōng)丢失的數據補充完整;

3、 如有(yǒu)數據表損壞則需要替換對應的表。



-----------------------------------------------------------------------------------
不怕虎狼一樣殘暴的敵人,就怕狗熊一樣窩囊的隊友。