金蝶标准版或迷你版结转损益过程中发生错误,操作失败,如下图所示:
原因分析:金蝶发生这类报错,多半是数据表出现问题。
可能的原因如下:
① 凭证最大号表GLVchMaxNum中记录的凭证字号与凭证表GLVch中的信息不一致;
② 凭证顺序号表GLVchSerialNum中记录的顺序号不是凭证表中记录的最大顺序号;
③ 数量余额表GLQtyBal中存在空值记录或非明细科目记录;
④ 科目余额表GLBal表中的存在空值记录。
金蝶结转损益出错处理方法:
① 根据凭证表重建GLVchMaxNum中凭证最大号;
② 通过软件的【工具】→【账套数据检查工具】→【数据检查】→【凭证数据表】”进行修复;
③ 更新glqtybal中的空值,可参考如下语句处理:
update glqtybal set fbegqty =0, fdebit =0, fcredit =0, fendqty =0, fytddebit =0, fytdcredit =0 where (fbegqty is null or fdebit is null or fcredit is null or fendqty is null or fytddebit is null or fytdcredit is null)
删除glqtybal中的非明细记录,可参考如下语句处理:
select * into glacct1 from glacct a,glacctidlist b where a.facctid=b.facctid and a.fqtyaux<>0 and b.fdetail=0
update glacct set fqtyaux=0 where facctid in (select facctid from glacct1)
Delete from glqtybal where facctid in (select facctid from glacct where fqtyaux=0)
④ 更新glbal中的空值,可参考如下语句处理:
update glbal set fbegbal =0, fdebit =0, fcredit =0, fendbal=0, fytddebit =0, fytdcredit =0 where (fbegbal is null or fdebit is null or fcredit is null or fendbal is null or fytddebit is null or fytdcredit is null)
说明:该类问题为主功能表间数据记录不一致或关键数据表中默认值丢失。
如果没有access数据库操作经验,谨慎操作,最好提前做好备份,以免账套损坏,如何进入数据库后台