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

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

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

而實際在進行聯查上下游單據的時候,并沒有發(fā)現有下游單據生成。(銷售出庫單,銷售發(fā)票,費用單,退貨單)提示都是數據不存在?

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

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

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

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

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

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

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

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

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

發(fā)現這幾張單據都是如此,由于該單據沒有下游出庫單據,所以所有的出庫數量都應該為零??梢灾苯佑?update 語句進行修復。

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

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

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

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

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

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