很多朋友都觉得事件探测器特别神奇,也有很多朋友不会用事件探测器,那么今天 https://www.iyyrj.com/ 网站的用友小辣妹就用一个具体的实际例子来教大家用事件探测器分析并解决一下实际问题吧。
问题现象:用友T+12.0版本软件销售管理模块,销货单不能弃审删除,提示已被下游单据执行不能删除,但是联查中没有任何信息!单据编号为:1545208755001979,1828429796326946,1819792163637216,1814125945765128。
而实际在进行联查上下游单据的时候,并没有发现有下游单据生成。(销售出库单,销售发票,费用单,退货单)提示都是数据不存在?
原因分析:通过时间探查器跟着问题语句(打开事件探测器,在用友T+软件中进行弃审操作,结果就如下图所示啦):
找到关键语句在查询分析器中执行此语句:
发现其中saleOutQuantity和saleoutquantity2 异常,此单中的销售出库主计量和辅计量数值不符,一个为零一个不为零。具体通过语句查询
select saleOutQuantity,saleoutquantity2 from SA_SaleDelivery_b where idSaleDeliveryDTO in (select id from SA_SaleDelivery where code in ('1545208755001979',
'1828429796326946','1819792163637216','1814125945765128'))
发现这几张单据都是如此,由于该单据没有下游出库单据,所以所有的出库数量都应该为零。可以直接用 update 语句进行修复。
update SA_SaleDelivery_b set saleOutQuantity=0,saleoutquantity2=0 where idSaleDeliveryDTO in (select id from SA_SaleDelivery where code in ('1545208755001979', '1828429796326946','1819792163637216','1814125945765128'))
使用语句修复后再去弃审这些销货单,弃审和删除就都正常了。
解决方案:这张单据没有出库记录,但是单据明细上面累计出库数量有记录,因此无法弃审,执行以下脚本,就能正常弃审这张单据,操作前参考用友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'))。