如何处理误操作后“审核不通过”的单据?
金蝶云社区-云小爱
云小爱
0人赞赏了该文章 5,793次浏览 未经作者许可,禁止转载编辑于2014年04月03日 11:32:38
近段时间遇到许多客户反馈说在审核单据时,用户不小心点了“审核不通过”按钮,而导致单据被锁定无法被驳回、删除或修改。“审核不通过”操作的应用场景主要是针对企业中为了确保业务发生的过程准确无误的记录下来所有录入的数据,包括作废的单据。一旦做了“审核不通过”操作,单据会被锁定,同时也不能再进行驳回、删除等任何操作。
但有些用户会对此按钮进行误操作,那如何还原单据的审核状态呢?在这里为大家分享一段后台SQL脚本,可以将误操作的单据还原其审核状态:
请在执行时请备份客户账套,并在测试账套下先测试该功能:
--启用审批流的单据的审核状态一般存储在表头的一个【审核流程状态】字段上
--查询到其他出库单中字段【审核流程状态】的字段名及所在表,如查出FFieldName为FMultiCheckStatus, FTabeleName为ICStockBill
SELECT FFieldName,FTableName,* FROMICClassTableInfo WHERE fcaption_chs LIKE '%审核流程状态%' AND FCLASSTYPEID=1021(其他出库单的ID号)
-- FMultiCheckStatus值含义如下:64=不通过,16=已审核,8=待提交,4=审核中,2=未启动
--可根据具体需求更新为不同的状态,如更新单据编号为SOUT000001的其他出库单为未启动状态
UPDATE ICStockBill SET FMultiCheckStatus=2 WHEREFBillNo IN(SOUT000001)
--只有更新为未启动状态,才能把对应的状态表和记录表中的信息都删除掉
UPDATE ICStockBill SET FMultiCheckStatus=2 WHEREFBillNo IN('SOUT000001')
--删除单据SOUT000001在审核记录表ICClassMCRecord1021和审核状态表ICClassMCStatus1021里的对应信息
DELETE ICClassMCRecord1021 WHERE FBillIDIN(SELECT FINTERID FROM ICStockBill WHERE FBillNo IN('SOUT000001'))
DELETE ICClassMCStatus1021 WHERE FBillIDIN(SELECT FINTERID FROM ICStockBill WHERE FBillNo IN('SOUT000001'))