起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 288|回复: 7

[分享]流程揭密4-流程的运行与状态

 关闭 [复制链接]
发表于 2007-12-29 10:04:04 | 显示全部楼层 |阅读模式
每一个流程实例都会有
一个流程对象
多个任务对象
多个任务消息对象

每一个对象都有自己的状态
回复

使用道具 举报

 楼主| 发表于 2007-12-29 10:12:56 | 显示全部楼层
流程的状态最简单了,就是处理中,已中止,已完成,已归档这些状态了

1.png

17.1 KB, 下载次数: 234

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-29 10:19:54 | 显示全部楼层
任务的状态比较多,基本可以分两类
一类是需要处理的,包括:已开始、处理中、尚未处理等待中。
一类是不需要处理的,包括:已取消、已中止、已结束、已转发、已回退,表示这个任务不需要继续处理了

2.png

27.38 KB, 下载次数: 226

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-29 10:24:58 | 显示全部楼层
任务消息的状态也可以分成两类
一类是需要处理的,包括:发送、已接收、处理中、尚未处理等待中。
一类是不需要处理的,包括:已取消、已中止、已结束、已回退、已转发、已处理等待中,表示这个任务不需要继续处理了

3.png

30.87 KB, 下载次数: 225

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-29 10:34:04 | 显示全部楼层
对象之间的状态变化,取决于这个对象的所有子对象的状态,例如:
当用户做一个流传动作,会修改当前任务消息为已结束,同时检查,
如果当前任务消息对应的任务的所有任务消息都是不需要处理的状态,那么这个任务就变成已结束状态
如果当前流程的所有任务都是不需要处理的状态,这个任务就变成已结束状态
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-29 11:01:08 | 显示全部楼层
合并模式的and环节,也是根据任务状态来判断的
上溯每一个分支,找到分支的环节,判断在当前流程实例中是否有这个分支环节和and环节中间的环节的任务,如果有需要处理的任务,则不允许流转,如果没有需要处理的任务,则可以流转

如下图,如果蓝色框中的 中间环节3 流转时候,需要找到红色线对应环节的所有任务,判断这些任务的状态,如果都不需要处理,那么会弹出流转对话框,可以流转;如果有需要处理的任务,那么不会弹出流转对话框,还需要等待这些需要处理的任务来继续处理,不能穿过and环节执行下面的流程了

1.png

12.26 KB, 下载次数: 222

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-2 10:53:46 | 显示全部楼层

有点跑题

6楼的流程图,结束环节前的and环节有意义吗?
或者说,把这个and环节换成一个or环节,流程图等价吗?
或者再换一个画法,在“代码控制回退环节”后面直接放一个结束环节,在“中间环节3”后面直接放一个结束环节,是否跟上面的流程图等价呢?

以上三种画法都是等价的,流程的结束环节只是表示当前分支不再需要处理,并不是表示流程的结束,流程的结束在于流程中每一个任务都不需要处理了。
回复 支持 反对

使用道具 举报

发表于 2008-1-4 08:45:52 | 显示全部楼层
。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-5 12:55 , Processed in 0.043889 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表