电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

Wise BOS审批流异常单据数据修复方法

来源:金蝶云社区作者:金蝶2024-09-165

Wise BOS审批流异常单据数据修复方法

背景:有些客户的审批流设计的非常复杂,元素非常多,可能会出现加载审批流之后再保存时(目前未能找到原因),部分节点的数据丢失,混乱。导致了状态为审批中的单据无法审核也无法反审核。又不能重新调整审批流。导致业务操作中断。

因此使用下面这个方法来清除正在审核中的单据的审批记录,让他们恢复到制单人刚保存的状态。

--审批流编辑再加载过程中发生了异常导致界面上的节点加载不完全,再保存时出现了数据丢失的情况,需要重新编辑审批流;如果存在审核中的单据审批流无法反启用,

--用下面的脚本来清除所有正在审核中的单据的审核过程,将它们返回到未提交状态(刚保存状态)

--以费用报销单为例

--执行前先通过这个脚本查看一下是否你需要改动的单据Select * from icclasstype where FName_CHS = '费用报销单'

--下面是正文

set  nocount on

declare @name as nvarchar(50)

set @name = '费用报销单'

declare @classtypeid as int 

declare @TableName as nvarchar(50)

declare @sql as nvarchar(4000)

Select @classtypeid = FID,@TableName = FTableName from icclasstype where FName_CHS = '费用报销单'

if isnull(@classtypeid,0) <> 0 

begin

Create Table #T1(FID int)

set @sql = N'insert into #T1(FID) select FID from ' + Quotename(@TableName) +N' Where FMultiCheckStatus = 4'

exec(@sql)

set @sql = N'delete ' + Quotename('ICClassMCRecord'+Convert(nvarchar(10),@classtypeid))  + ' Where FBillID in(select FID from #T1)'

--print @sql

exec(@sql)

set @sql = N'delete ' +Quotename('ICClassMCStatus'+Convert(nvarchar(10),@classtypeid))+' Where FBillID in(select FID from #T1)'

--print @sql

exec(@sql)

set @sql = N'Delete ICClassMCTemplateMap where FClassTypeID = '+ Convert(nvarchar(10),@classtypeid) +' and  FBillID in(select FID from #T1)'

--print @sql

exec(@sql)

set @sql = N'Update ' + Quotename(@TableName) +N' Set FMultiCheckStatus = 2  Where FMultiCheckStatus = 4'

--print @sql

exec(@sql)

Drop Table #T1

end

Go

执行完上述脚本后,再去调整审批流配置;重新启动审批流再让制单人重新提交审批那些单据。


另外可以增加下面的触发器来避免类似事情发生(无法找到此bug产生的原因,暂时先用此触发器做保存检查避免出现数据丢失的情况)

还是以费用报销单为例

执行脚

Wise BOS审批流异常单据数据修复方法

背景:有些客户的审批流设计的非常复杂,元素非常多,可能会出现加载审批流之后再保存时(目前未能找到原因),部分节点的数据丢失,混乱。...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信