上次在社区碰到伙伴提了个问题,附上原帖地址:https://vip.kingdee.com/questions/522014050251717888/answers/522018596742923264?productLineId=11,找伙伴要过来账套以后顺利解决了这个问题,现在把解决思路分享一下。
一、问题描述
客户会计科目挂的核算项目只有“职员”这一个,但是在科目余额表里多出来几条记录显示有客户和职员组合。
二、问题分析
查了一下数据库后台,IC3060这个代码对应的fitemid为69,且属于核算项目“客户”,再根据这个ID去核算项目横表t_itemdetail查询出来异常的FDetailID为(22,25,26,27,28,29,30,31,32)
SELECT * FROM dbo.t_Item WHERE FNumber='IC3060'
SELECT FItemID,FName,* FROM dbo.t_Emp
select * FROM t_itemdetail where fdetailid in (select Fdetailid from t_itemdetailv where fitemid<>-1) AND F1=69 AND F3<>0
根据FDetailID 去查凭证分录表和科目余额表发现凭证分录表没有记录,科目余额表却有数据
SELECT * FROM dbo.t_VoucherEntry WHERE FAccountID=1029 AND FDetailID IN (25,26,27,28,29,30,31,32)
SELECT * FROM dbo.t_Balance WHERE FAccountID=1029 AND FDetailID IN (25,26,27,28,29,30,31,32)
三、解决办法
这个问题是因为科目余额表有异常零记录,通过以下语句直接删除对应的零记录即可。
DELETE FROM dbo.t_Balance WHERE FAccountID=1029 AND FDetailID IN (22,25,26,27,28,29,30,31,32)
特别说明,出现这种问题的原因应该是客户一开始新账套设置的时候不小心把其他应付款221600挂上了客户和职员两个核算项目类别,后来发现科目设置错了,在软件界面修改科目属性的时候发现无法修改,投机取巧去后台数据库修改了科目属性里的核算项目,但是科目余额表里的零记录未进行删除操作。一般来说科目属性最好别去数据库后台修改,避免漏处理其他地方造成其他异常问题。
推荐阅读