流程图修改后,对于已经启动的流程,在某些特殊的情况下,会出问题!
首先, 不建议修改流程图,对于某些需求,可以通过流程定制来解决;

其次, 如果业务上一定需要修改流程图, 这时,对于已经启动的流程,很有可能会报以下的错误:

1.错误一: “**process中不存在**place”
这时,需要手工修改系统表来解决.
手工修改系统表:
delete from SA_TokenInstance where sProcessInstanceID = (select sFlowID from SA_Task where sid=’TaskID’) and sPlace=’PlaceID’

其中, ‘TaskID’是指当前待办任务的ID, ‘PlaceID‘是指不存在的Place的标识.

注意:
执行这个操作时,如果被删除的SA_TokenInstance的sActive是true,会有一个负作用,导致这个TokenInstance关联的前序任务与后序任务之间的关系不能正常建立。

2. 错误二, “**process中不存在**Activity”
表示当前待办关联的环节被删除了, 需要结合业务进行处理,比如,可以在流程监控中将这条任务回收后重新处理。

需要删除SA_TokenInstance、SA_Task、SA_ProcessControl、SA_TaskRelation