质检存货入库退货后再审核不良品处理单报错用友软件u8客服中心王杨181号2010年6月21日客户问题到货单数量1000,全部报检,质检后有10个不良品,不良品处理单处理方式为拒收保存后未审核。后参照检验单入库990,后续又做了退货90。现在发现不良品处理单没有审核,审核该单据时报错:“回写到货单失败!回写到货单失败:到货单拒收数量必须大于等于累计退货数量!”现象重现未审核来料不良品处理单时入库然后退货退货后审核解决方案由于客户当月刚做的采购退货单,告知删除退货单审核不良品处理单后再做退货业务,客户接受该方案。问题深入客户的问题解决了,但是为什么会有该现象呢?如果不是当月做的退货,后续做了红字入库已审核记账,不能直接删除采购退货单,又该如何处理?后台跟踪一下奇怪???通过跟踪查看,没有发现报错的地方在哪里?而且能看到有通过以下语句回写采购到货单:UPDATEPu_ArrivalVouchsSETfValidQuantity=ISNULL(fValidQuantity,0)+0,fValidNum=ISNULL(fValidNum,0)+0,fDegradeQuantity=ISNULL(fDegradeQuantity,0)+0,fDegradeNum=ISNULL(fDegradeNum,0)+0,fRealQuantity=ISNULL(fValidQuantity,0)+0+ISNULL(fInValidQuantity,0)+0,fRealNum=ISNULL(fValidNum,0)+0+ISNULL(fInValidNum,0)+0,fRefuseQuantity=ISNULL(fRefuseQuantity,0)+10,fRefuseNum=ISNULL(fRefuseNum,0)+0.01,fInValidQuantity=ISNULL(fInValidQuantity,0)+0,fInValidNum=ISNULL(fInValidNum,0)+0WHEREPu_ArrivalVouchs.AutoID=144后台跟踪一下奇怪???通过跟踪查看,没有发现报错的地方在哪里?而且有通过以下语句回写采购订单UPDATEPo_PodetailsSETiArrQTY=CONVERT(DECIMAL(20,2),ISNULL(iArrQTY,0))-10,iArrNum=CONVERT(DECIMAL(20,2),ISNULL(iArrNum,0))-0.01,Po_Podetails.iArrMoney=ISNULL(Po_Podetails.iArrMoney,0)-(casewhenisnull(pu_arrivalvouchs.iquantity,0)=0thenpu_arrivalvouchs.iorisumelse(pu_arrivalvouchs.iorisum/pu_arrivalvouchs.iquantity)*10end),fPoRefuseQuantity=ISNULL(fPoRefuseQuantity,0)+10,fPORefuseNum=ISNULL(fPORefuseNum,0)+0.01,fPoValidQuantity=ISNULL(fPoValidQuantity,0)+0,fPoValidnum=ISNULL(fPoValidnum,0)+0,Po_Podetails.iNatArrMoney=ISNULL(Po_Podetails.iNatArrMoney,0)-(casewhenisnull(pu_arrivalvouchs.iquantity,0)=0thenpu_arrivalvouchs.isumelse(pu_arrivalvouchs.isum/pu_arrivalvouchs.iquantity)*10end)fromPo_Podetailsinnerjoinpu_arrivalvouchsonpu_arrivalvouchs.iposid=Po_Podetails.idWherePo_Podetails.id=170andPu_ArrivalVouchs.AutoID=144后台跟踪一下那为什么回写没有成功呢?将退货单删除,重新审核不良品处理单成功,跟踪此过程,将两次的语句进行比较,终于找到原因;当执行到语句SELECTPu_ArrivalVouchs.AutoIDFROMPu_ArrivalVouchsWHERECONVERT(DECIMAL(20,2),ISNULL(fRefuseQuantity,0))