退货单无法弃审原因小析cc133engineer2009/12/28问题描述872,当月(09-12-09)参照发货单填制的退货单,弃审时提示:表体存在记录已经在存货系统记账?账套主管登陆,过滤条件正确,未期末处理。在发出商品明细账中仅能查看到11月份的业务记录。用户不希望通过关闭退货单方式处理。单据信息确认首先我们检查下单据上是否有表体记账人信息,检查单据列表确认,显示单据的“表体记账人”,发现有信息。常规排查先使用主管在恢复记账确认下是否可以过滤出进行恢复,是否可以过滤出进行恢复。发现无可恢复记录,现在定位到数据错误,数据库进行排查。数据修改先查到错误发货单的表体,主子表通过dlid关联selectdlid,*fromdispatchlistwherecdlcode=‘0000000023’确认dlid=26selectcbaccounter,*fromdispatchlistswheredlid=‘26’确认表体记账人为“李大伟”。核查其他未记账的记录该值为NULL,我们对该单也进行赋为NULL。updatedispatchlistssetcbaccounter='NULL'wheredlid='26'确认改后的数据情况再次进行弃审确认,仍然报错,到底是什么原因呢?跟踪数据值确认execsp_cursoropen@P1output,N'SelectIsNULL(cVerifier,N'''')AscVerifier,cmaker,isnull(ccloser,N'''')asccloser,isnull(cAccounter,N'''')ascAccounter,bfirst,isnull(csaleout,N'''')ascsaleout,isnull(iSale,0)asiSale,dDateFromDispatchListwhereDLID=27andconvert(char,convert(money,ufts),2)=N''6716.6826''',@P2output,@P3output,@P4output后续:selectcbaccounterfromdispatchlistswith(nolock)whereisnull(cbaccounter,N'')<>N''anddlid=26比较错误点分别执行后台判断记录确认selectcbaccounterfromdispatchlistswith(nolock)whereisnull(cbaccounter,N'')<>N''anddlid=26selectcbaccounterfromdispatchlistswith(nolock)whereisnull(cbaccounter,N'')<>N''anddlid=27分别得到不同的结果:26的结果为27的结果为再次修改根据系统后台的自动判断结果确认,是之前的赋值不对,重新再赋值赋为‘’后再确认。弃审确认成功!!updatedispatchlistssetcbaccounter=‘’wheredlid='26'问题处理总结1.对于提出异常的错误记录先在软件前台进行确认排疑。2.对字段赋值时(’NULL’or’’)要注意不同系统的后台判断,在出现问题时进行同类校对,争取时间完整解决。希望对大家遇到此类问题时能拓展下思路。