问题现象: |
客户U851A版存货核算模块中,在对发出商品中的委托代销发票记账时报“发票对应的发货单没有记账!”,检查发现是在IA_EnSubsidiary表中无对应的发货记录,再检查发现有去年已经结算完毕的发货记录在今年还能够再次结算,原因也找到了,是DispatchLists表中的iSettleQuantity<>fEnSettleQuan所致,但04年的DispatchLists表是正确的,现在的主要问题是客户今年已做了大量的委托代销结算并开了发票,而这些结算单/发票都有可能是错误的,现我处不知如何修改,才可使用户不需重新年结并重做结算。 |
问题原因: |
--(先做数据备份) --问题说明 --1、首先年度结转应没有问题,在最新补丁基础上重新做年度结转,结转后数据同样正常 --2、结转上年发出商品明细帐的条件: 对数据表ia_ensubsidiary,判断条件isnull(iainquantity,0)-isnull(isoutquantity,0)<>0 --3、在提供的用户数据和重新年结的数据上,均不可能对已结算完毕的期初发货单再次结算、开票;故目前数据中超发货单开票的记录应为错误数据 --4、解决思路:查询出错误多开票的记录部分,并予以删除; --5、删除操作时需考虑数据关联性:存货恢复正常单据记帐,销售对发票进行批弃,应收中涉及到销售专用发票的业务操作需取消操作,如取消核销,以确保删除后数据一致性、正确性; --6、具体删除操作:删除错误多开票的发票子表记录,再判断是否存在空表体发票记录,如存在予以删除; --7、影响:会导致正确的数据与用户已发生业务存在出入,但用户1月份进行的部分委托代销结算业务是错误的! |
解决方案: |
--一、查询操作(只需在2005年度进行查询操作) --根据发货单发货数量、结算(开票)数量筛选超发货结算记录 select idlsid from dispatchlist a join dispatchlists b on a.dlid=b.dlid where abs(iquantity)-abs(isettlequantity) |
相关补丁: |
|
版本: |
8.51A |
模块: |
存货核算 |
产品: |
U851A----存货核算 |
问题名称: |
委托代销发票无法记账 |
最后更新: |
2005-06-28 00:00:00 |