【分析】:
1、從提示的Detail可以看出,這是因?yàn)橘~套中存在錯誤的數(shù)據(jù),從而導(dǎo)致如果結(jié)賬的話將在數(shù)據(jù)庫中產(chǎn)生重復(fù)的記錄。
2、這種情況基本上都發(fā)生在余額表中保存了當(dāng)前期間以后的數(shù)據(jù)。造成產(chǎn)生這樣的數(shù)據(jù)的可能原因是曾經(jīng)進(jìn)行過期末結(jié)賬,但是在結(jié)賬過程中遇到意外錯誤造成程序無法將數(shù)據(jù)還原。
3、賬套結(jié)賬的原理:根據(jù)當(dāng)期期末數(shù)據(jù),形成下期的期初數(shù)據(jù)。那么在進(jìn)行期末結(jié)賬之前,在余額表中不應(yīng)該存在當(dāng)前期間以后的數(shù)據(jù)。
【處理】:
這種情況下的錯誤,一般需要使用SQL語句來處理。建議在備份賬套的情況下,在查詢分析器中選擇正確的賬套數(shù)據(jù)庫實(shí)體后,執(zhí)行以下SQL再結(jié)賬。
go
declare @Fyear int,@Fperiod int
select @Fyear=fvalue from t_systemprofile where fkey='currentyear' and fcategory='gl'
select @Fperiod=fvalue from t_systemprofile where fkey='currentperiod' and fcategory='gl'
delete from t_balance where fyear*100+fperiod>@Fyear*100+@Fperiod
delete from t_profitandloss where fyear*100+fperiod>@Fyear*100+@Fperiod
delete from t_quantitybalance where fyear*100+fperiod>@Fyear*100+@Fperiod
go
注:這種錯誤的處理,同樣適用于KIS商貿(mào)版、K/3賬套。