问题现象: |
此用户用的是U8.52产品用到供应链里的采购、销售、库存、存货模块,用到了财务里的应收应付、帐表等。在4月份的时候,此客户就出现了在应收帐款下的业务余额表里本期回款的金额对不上帐,我在数据库AP_Detail发现是有几个客户的部门没有记录在数据库里,因为此客户在做操作的时候没有出现错误,并且相关的信息也都录了,但是查业务余额表,按部门查询,就查不到,现在又出现这个问题,5月份的还是有一笔单据的部门没有在数据库里显示,这个客户编码是113117010,这个是5月份做的单据,我在数据库找到了,还没有修改,这个部门应该是03,但没有显示,6月份的我还没有发现,7月份的我也发现,差的金额更多,我也就发现了113117003这个客户的编码信息不全,并且也没有具体的存货,因为该用户也按存货来查询这个明细帐的情况。 |
问题原因: |
1、通过您的描述查询‘业务余额表’,以‘113117010’、‘113117003’客户为例,选择部门(03)与不选择部门分别查询。所显示的数据不同。差在期初数据‘其他应收单’上。客户‘113117010’的期初‘其他应收单’的金额‘24,960’与客户‘113117003’的期初‘其他应收单’的金额‘7,680’中都没有填写‘部门’,因此在‘业务余额表’中,按部门查询时就会少了这部分数据。 |
解决方案: |
1、可以通过以下脚本进行检测是否存在单据中已录入部门而列表中不显示的情况,执行如下脚本,将AP_detail 表中 cdeptcode 为 NULL的字段,按照发生相应单据的部门编码进行回写 select max(cCancelNo) as ccancelno into bb From Ap_DetailCust_V where cFlag='AR' and iflag<>0 or sum(icamount) <> 0 Or sum(idamount_f)<>0 or sum(icamount_f) <> 0 ) and cdeptcode is null select max(cdeptcode)as cdeptcode, max(bb.ccancelno)as ccancelno into cc from ap_detail,bb where ap_detail.ccancelno=bb.ccancelno group by bb.ccancelno update ap_detail set cdeptcode=salebillvouch.cdepcode from salebillvouch join ap_detail on salebillvouch.csbvcode=ap_detail.cvouchid and salebillvouch.cvouchtype=ap_detail.cvouchtype where ccancelno in(select ccancelno from cc where cdeptcode is null) update ap_detail set cdeptcode=ap_closebill.cdeptcode from ap_closebill join ap_detail on ap_closebill.cvouchid=ap_detail.cvouchid and ap_closebill.cvouchtype=ap_detail.cvouchtype where ap_detail.ccancelno in(select ccancelno from cc where cdeptcode is null) update ap_detail set cdeptcode=aa.cdeptcode from ap_detail join (select cdeptcode,ccancelno from cc where cdeptcode is not null) aa on ap_detail.ccancelno=aa.ccancelno where ap_detail.cdeptcode is null drop table bb drop table cc |
相关补丁: |
|
版本: |
8.52 |
模块: |
应收 |
产品: |
U852----应收款管理 |
问题名称: |
业务余额表里本期回款的金额对不上帐 |
最后更新: |
2005-09-05 00:00:00 |