很多朋友都覺得事件探測器特別神奇,也有很多朋友不會用事件探測器,那么今天 zzerp  網(wǎng)站的用友小辣妹就用一個(gè)具體的實(shí)際例子來教大家用事件探測器分析并解決一下實(shí)際問題吧。

問題現(xiàn)象:用友T+12.0版本軟件銷售管理模塊,銷貨單不能棄審刪除,提示已被下游單據(jù)執(zhí)行不能刪除,但是聯(lián)查中沒有任何信息!單據(jù)編號為:1545208755001979,1828429796326946,1819792163637216,1814125945765128。

暢捷通T+軟件的銷貨單棄審刪除失敗,提示已經(jīng)有下游單據(jù)?

而實(shí)際在進(jìn)行聯(lián)查上下游單據(jù)的時(shí)候,并沒有發(fā)現(xiàn)有下游單據(jù)生成。(銷售出庫單,銷售發(fā)票,費(fèi)用單,退貨單)提示都是數(shù)據(jù)不存在?

暢捷通T+軟件的銷貨單棄審刪除失敗,提示已經(jīng)有下游單據(jù)?

原因分析:通過時(shí)間探查器跟著問題語句(打開事件探測器,在用友T+軟件中進(jìn)行棄審操作,結(jié)果就如下圖所示啦):

暢捷通T+軟件的銷貨單棄審刪除失敗,提示已經(jīng)有下游單據(jù)?

找到關(guān)鍵語句在查詢分析器中執(zhí)行此語句:

暢捷通T+軟件的銷貨單棄審刪除失敗,提示已經(jīng)有下游單據(jù)?

發(fā)現(xiàn)其中saleOutQuantity和saleoutquantity2 異常,此單中的銷售出庫主計(jì)量和輔計(jì)量數(shù)值不符,一個(gè)為零一個(gè)不為零。具體通過語句查詢

select saleOutQuantity,saleoutquantity2 from SA_SaleDelivery_b where idSaleDeliveryDTO in (select id from SA_SaleDelivery where code in ('1545208755001979',

'1828429796326946','1819792163637216','1814125945765128'))

暢捷通T+軟件的銷貨單棄審刪除失敗,提示已經(jīng)有下游單據(jù)?

發(fā)現(xiàn)這幾張單據(jù)都是如此,由于該單據(jù)沒有下游出庫單據(jù),所以所有的出庫數(shù)量都應(yīng)該為零。可以直接用 update 語句進(jìn)行修復(fù)。

暢捷通T+軟件的銷貨單棄審刪除失敗,提示已經(jīng)有下游單據(jù)?

update SA_SaleDelivery_b set saleOutQuantity=0,saleoutquantity2=0 where idSaleDeliveryDTO in (select id from SA_SaleDelivery where code in ('1545208755001979', '1828429796326946','1819792163637216','1814125945765128'))

使用語句修復(fù)后再去棄審這些銷貨單,棄審和刪除就都正常了。

解決方案:這張單據(jù)沒有出庫記錄,但是單據(jù)明細(xì)上面累計(jì)出庫數(shù)量有記錄,因此無法棄審,執(zhí)行以下腳本,就能正常棄審這張單據(jù),操作前參考用友T+備份賬套的教程備份好數(shù)據(jù)。

update SA_SaleDelivery_b set saleOutQuantity=0,saleoutquantity2=0 where idSaleDeliveryDTO in (select id from SA_SaleDelivery where code in ('1545208755001979',

'1828429796326946','1819792163637216','1814125945765128'))。