流程问题一直是伙伴们非常关心的一个话题
之前我们解决流程一直借助的工作流
但要想完美的解决
就需要使用大量的条件和小技巧
来控制这些工作流的流转顺序
这使得伙伴们都非常头疼
工作流其实是一个非常灵活的工具
我们只要能够合理的使用
它可以帮助我们实现很多需求
但对于流程管理它并不是一个最佳的工具
正是因为工作流本身的这种触发操作机制
我们要想实现流程,就必须利用条件
让后者的触发依赖前者的操作
这种工作流与工作流之间的粘合性
就造成了两个问题:
(1)流程的修改与维护非常困难
(2)流程的运转非常不稳定
所以为了帮助大家更好的解决流程问题
我们正式上线了 ”流程中心“ 这个新功能
鼓掌!!!
先抛个页面给大家感受一下
在整个流程中心,我们都是用这种流程图的方式,来控制流程中的各种操作。
那么使用流程中心和工作流比起来都有哪些优点呢?
(1)操作与操作之间粘合性降低
在流程中心中,我们使用流程图来控制流程,这里的每个节点就代表一个操作,节点与节点,也就是操作与操作之间
是没有任何关联的,这个节点可以是人工节点,线下节点等交互类型的节点,当然也可以是工作流,但我们只能使用
手动触发的工作流,因为希望这个工作流节点,只代表一个操作,没有因为条件与其他节点产生关联。所以我们只要
记住,在流程图中,每个节点只是一个单独的操作。
这里给大家补充一下,利用这个特性,可以轻松的解决死循环问题。
死循环的概念就是在工作流中出现的,比如现在我们有两个工作流,A表的工作流1和B表的工作流2,两个工作流是互
相修改的,工作流1的触发条件是B表被修改了,操作是修改A表,而工作流2的触发条件是A表被修改了,操作是修改B
表,我们在保存的时候,就会提示为死循环,而无法保存上。
这是因为,对于这种相互修改的工作流,在逻辑上是要通过触发条件来控制的,但因为很难判定什么样的条件不会死循环,
所以在工作流中,统一禁止了这种情况,如何在工作流中解决这个问题,在前面讲解工作流的帖子和视频中都有详细讲解。
其实,对实际需求来说,不外乎就是,修改B表,然后修改A表,所以用流程中心来解决非常容易。只要把两个工作流改为
手动触发,就可以保存,然后在流程图中,顺序处理,执行1之后执行2,少了条件依赖之后,就不再是个环了。
当然,这就衍生出了另一个问题,如果在流程图中就形成环了怎么办?
例如这样,还是这两个工作流,我们希望,执行1之后执行2,然后再执行1。
如图,我们可能就会画成这样,然后为了避免死循环,可能会想到,用一个参数,来记录工作流1执行的次数,然后根据
次数,去控制最后是结束,还是继续执行工作流2。但我们这样保存,还是会出现错误的提示,这还是和工作流一样的问题
我们无法判断什么样的条件才不会死循环,所以对于成环的图,分支的条件是失效的,必须要加入至少一个人工节点,这样
这个环就会间断的循环,是否会往下执行,取决于人工节点的人工操作。
当然,对于这个需求我们还有一个更加简单的解决方式,就是顺序的执行下去,1之后执行2,之后再执行一次1。
这就是流程图中的特性,操作是可以被多次调用的,因为它只代表一个操作,例如这里的工作流1就被代用了两次
,原来的环就转变为了一条线。
(2)流程的修改与维护非常容易
原来我们使用工作流解决流程问题的时候,因为条件的关系,不同工作流之间是有关联的,所以可能我们只是修改一个
操作,就要更改很多工作流。而流程图就没有这样的问题,我们只要在图中更改节点就可以。
(3)流程实现稳定
在流程图中,每个节点只代表一个操作,少了和工作流一样的条件牵连,执行起来也稳定了很多。
(4)整个流程一目了然
这个流程需求,都在流程图中清清楚楚的画了出来,流程中每步都做了什么,一目了然。
接下来,给打家讲解两个概念,流程与流程实例。
流程:我们画的流程图,就可以看做流程(工作区管理员是唯一可以管理这部分内容的人)
流程实例:我们发起这个流程,所使用的启动数据,在流程中所经历的这个过程就是流程实例,所以一个流程,是会有多个流程实例的。
(同
表格管理员一样,我们也有一个类似的流程管理员,他是除表格管理员外,唯一可以管理这些流程实例的人)
这里就是流程中心里的一些比较重要的内容,为了避免一个非常长的教程的出现,想了解具体使用的详细信息,
请观看下面的视频教程,之后还会在这里陆续更新关于流程中心的其他教程,也请大家持续关注。
对于流程中心有什么问题和意见,都可以在这里留言讨论哦!