精細(xì)管理 · 敏捷經(jīng)營 · 快速應(yīng)用
規(guī)范流程 · 提升效益
規(guī)范管理 · 精細(xì)理財(cái)
產(chǎn)品版本: | 1089-T6-企業(yè)管理軟件V6.0 | 適用產(chǎn)品: | T6系列 |
產(chǎn)品模塊: | 18-庫存管理 | 提交時(shí)間: | 2012-06-12 |
問題現(xiàn)象: | 同一張到貨單上,同一個(gè)存貨編碼有四行記錄,只有一行記錄在采購入庫單參照到貨單生單界面可以顯示;檢查發(fā)現(xiàn)該存貨檔案未啟用質(zhì)檢,到貨單也未入庫,刪除到貨單提示單據(jù)已被其他單據(jù)引用無法刪除。詢問客戶得知這張到貨單做過入庫后來刪除了入庫單后就出現(xiàn)故障。 | ||
原因分析: |
因?yàn)榭蛻糇鲞^入庫后又刪除了,所以懷疑是后臺數(shù)據(jù)錯(cuò)掉導(dǎo)致入庫無法顯示完全。數(shù)據(jù)庫后臺跟蹤采購入庫單參照到貨單生單時(shí)使用的腳本:select distinct pu_ArrHead.caccountpdate,pu_ArrHead.caccountpid,pu_ArrHead.caccountpname,pu_ArrHead.cpayname,pu_ArrHead.cpaycode,pu_ArrHead.ivtid, pu_ArrHead.ufts, pu_ArrHead.ccode, pu_ArrHead.ddate, pu_ArrHead.id, pu_ArrHead.cptcode, pu_ArrHead.cptname,pu_ArrHead.cbustype, pu_ArrHead.cvencode, pu_ArrHead.cvenabbname, pu_ArrHead.cdepcode, pu_ArrHead.cdepname, pu_ArrHead.cpersoncode, pu_ArrHead.cpersonname, pu_ArrHead.cpaycode, pu_ArrHead.cpayname, pu_ArrHead.cexch_name, pu_ArrHead.cexch_code, pu_ArrHead.iexchrate, pu_ArrHead.cmemo,pu_ArrHead.cmaker, pu_ArrHead.bnegative, cvendefine1,cvendefine2,cvendefine3,cvendefine4,cvendefine5,cvendefine6,cvendefine7,cvendefine8,cvendefine9,cvendefine10,cvendefine11,cvendefine12,cvendefine13,cvendefine14,cvendefine15,cvendefine16, pu_ArrHead.cdefine1,pu_ArrHead.cdefine2, pu_ArrHead.cdefine3, pu_ArrHead.cdefine4, pu_ArrHead.cdefine5, pu_ArrHead.cdefine6, pu_ArrHead.cdefine7, pu_ArrHead.cdefine8, pu_ArrHead.cdefine9, pu_ArrHead.cdefine10, pu_ArrHead.cdefine11, pu_ArrHead.cdefine12, pu_ArrHead.cdefine13, pu_ArrHead.cdefine14, pu_ArrHead.cdefine15, pu_ArrHead.cdefine16, pu_ArrHead.iTaxRate , pu_ArrHead.csccode, pu_ArrHead.cscname, pu_ArrHead.cauthid,convert(char,convert(money,pu_arrhead.ufts),2) as coufts from pu_arrhead inner join pu_arrbody on pu_arrhead.id=pu_arrbody.id left outer join qm_ncheckvouchers on pu_arrbody.autoid=qm_ncheckvouchers.isourceautoid and pu_arrbody.bgsp='是' left outer join qm_ncheckvoucher on qm_ncheckvouchers.id=qm_ncheckvoucher.id and (qm_ncheckvoucher.cvouchtype='qm10' and qm_ncheckvoucher.csourcecardnumber='26') where ( ( isnull(pu_arrbody.irejid,'')='' and pu_arrbody.bgsp='否' and (abs(isnull(pu_arrbody.iQuantity,0))>abs(isnull(pu_arrbody.fValidInQuan,0)) or (pu_arrbody.igrouptype=2 and abs(isnull(pu_arrbody.inum,0))>abs(isnull(pu_arrbody.fValidInnum,0)))) ) or (isnull(pu_arrbody.irejid,'')='' and pu_arrbody.bgsp='是' and isnull(qm_ncheckvoucher.cverifier,'')<>'' and ( (case when isnull(pu_arrbody.fvalidQuantity,0)>isnull(pu_arrbody.iquantity,0) then abs(isnull(pu_arrbody.iquantity,0)) else abs(isnull(pu_arrbody.fvalidquantity,0)) end ) > abs(isnull(pu_arrbody.fValidInQuan,0)) or (pu_arrbody.igrouptype=2 and ( case when isnull(pu_arrbody.fvalidnum,0)>isnull(pu_arrbody.inum,0) then abs(isnull(pu_arrbody.inum,0)) else abs(isnull(pu_arrbody.fvalidnum,0)) end )>abs(isnull(pu_arrbody.fValidInnum,0)))) ) ) And pu_ArrHead.cCode = 'th201108004' order by pu_arrHead.ccode 逐個(gè)檢查where條件后面的字段值,發(fā)現(xiàn)該張入庫單的fvalidinquan和fvalidinnum都是負(fù)數(shù)且分別是iQuantity和inum的相反數(shù),所以導(dǎo)致abs(isnull(pu_arrbody.iQuantity,0))>abs(isnull(pu_arrbody.fValidInQuan,0)和abs(isnull(pu_arrbody.inum,0))>abs(isnull(pu_arrbody.fValidInnum,0))這樣的條件不符合。 | ||
解決方案: | 因?yàn)樵搹埲霂靻蔚?FONT face=Verdana>fvalidinquan和fvalidinnum都是負(fù)數(shù)且分別是iQuantity和inum的相反數(shù)導(dǎo)致查詢條件不符所以采購入庫時(shí)無法過濾出到貨單記錄,該到貨單未入庫,所以修改iQuantity和inum的值為0,pu_arrbody是根據(jù)表pu_arrivalvouchs 創(chuàng)建的視圖,備份賬套后執(zhí)行以下語句問題解決:update pu_arrivalvouchs set fvalidinquan=0,fvalidinnum=0 where id=(select id from pu_arrivalvouch where ccode='0000008324') |