问题现象: | 采购执行统计表中有很多条数据中累计入库数量是实际入库数量的两倍,但是看了相应订单号的PO_Podetails中的iReceivedQTY和实际入库数量是一致的,看看存储过程中的计算方式也只是ltrim(str(IsNULL(PO_Podetails.iReceivedQTY,0),20,' + Cast(@iQuanBit As varchar(1)) +')) As iRDQuanHJ,想不出问题所在,请集团支持。由于账套很多无法上传,请远程处理,QQ:390698756,谢谢! |
问题原因: | |
解决方案: | 您好 该数据远程分析答复如下: 一.远程跟踪分析,订单: '0000003745' 在采购执行统计表中的累计入库数量是错误的. 跟踪脚本,产品计算如下: (ISNULL(Po_PoDetails.iReceivedQTY,0)+ISNULL(ArrTmp.RdsQuantity,0)) AS RDQuantity 实际上是: Po_PoDetails.iReceivedQTY+PU_ArrivalVouchs.fValidQuantity 即根据Po_PoDetails.iReceivedQTY累计到货数量 和到货单的 PU_ArrivalVouchs.fValidQuantity合格数量 数据相加得到的. 由于该订单这两个字段均有数值:4000,造成最后统计数据错误. 二.数据关联规则: 1.通过采购订单直接生成采购入库单时,‘累计入库数量ireceivedqty’字段才可以显示。而通过到货单再生成采购入库单, 采购订单列表中的‘累计入库数量’字段是没有数据的。 2、采购到货单通过‘报检’将单据传到质量管理中进行检验,再通过‘检验单’生成‘采购入库单’, 在这种情况下也不会回写采购订单的‘累计入库数量ireceivedqty’ 三.可能有问题的订单查询脚本请参考:查询和更新脚本为: select PO_Podetails.iReceivedQTY,arv.fValidQuantity,arv.ccode,PO_Pomain.*,PO_Podetails.* --update PO_Podetails set iReceivedQTY=null from PO_Pomain inner join PO_Podetails on PO_Pomain.poid=PO_Podetails.poid inner join ( select ccode,PU_ArrivalVouchs.* from PU_ArrivalVouch inner join PU_ArrivalVouchs on PU_ArrivalVouchs.id=PU_ArrivalVouch.id ) arv on PO_Podetails.id=arv.iposid where PO_Podetails.iReceivedQTY is not null 请对订单逐一确认,确认后再单独或批量更新更新. 由于直接修改数据库,修改前请务必做好数据备份,验证确认没有问题再使用! 如对问题答复有疑问敬请及时反馈 U8/CRM/PLM |
相关补丁: | |
版本: | 8.90 |
模块: | 采购管理 |
产品: | 供应链 |
问题名称: | 采购执行统计表中累计入库数量是实际入库数量的两倍 |
最后更新: | 2012-01-03 18:36:38 |