百科问答

百科问答 国内资讯 公司资讯 政策法规 培训资料 产品下载 常见问题

用友T3删除材料出库单报错后怎么通过SQL语句解决?

发布时间:2025-12-31 

特价活动:>>>> 用友U8、T6、T+、T3软件产品4折优惠,畅捷通T+cloud、好会计、好业财、好生意云产品8折优惠,另有话费赠送。

 

问题现象:在用友T3财务软件的核算管理模块中删除材料出库单时提示:本张材料出库单已被生产加工成本分配,不允许修改和删除!如需修改,请删除对应的生产加工成本分配表。这个错误从字面上看好像挺容易的,实际上并非这样。


原因分析:仔细分析了一下这个问题,检查了一下生产加工成本分配和产成品成本分配里面确实没有任何单据,而且与客户沟通中发现,确实也没有做过类似的单据,只是单独填写了一下材料出库单,连审核都没有做,记账也没做过。这就比较奇怪了,那就只有可能是数据库问题了。


解决方案:于是打开事件探测器进行跟踪分析,发现主要是收发存子表中有一个字段有数值,看起来应该像是不是成本分配的数量,于是做了一个正常的单据进行了对比,发现还真是,正常做的单据做了生产加工成本分配之后bdistribute字段为1,而iDquantity字段为分配的数量。


为了谨慎起见,先用语句过滤了具体单据的错误。

SQL
selectbdistribute,iDquantity,*fromrdrecordswhereid=159and(bdistribute=1orisnull(iDquantity,0)>0)


发现还真是 iDquantity 字段的问题,于是用SQL语句修改回来。

SQL
updaterdrecordssetidquantity=nullwhereid=159and(bdistribute=1orisnull(iDquantity,0)>0)

修改后,再去看这个材料出库单发现可以正常删除了。


但客户又回头找了说用友T3软件中还有其他的材料出库单删除的时候又报同样的错误了,噢,可能前面解决的不完整,还有其他单据没搞定,于是修改语句进行过滤查看。

SQL
selectbdistribute,iDquantity,*fromrdrecordswherebdistribute=1orisnull(iDquantity,0)>0

发现还真有不少单据是这种情况,于是再用SQL语句替换掉。

SQL

updaterdrecordssetidquantity=nullwhereid=159and(bdistribute=1orisnull(iDquantity,0)>0




X畅捷通软件官方正版.用友软件.企业云服务

截屏,微信识别二维码

客服QQ:5151867

(点击QQ号复制,添加好友)