锁定老帖子 主题:工作流系统在OA系统中应用
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-09-18
comsci 写道 是否可以把我们在设计流程和数据交互的这套API模块的思路来讨论一下呢? 这里面的学问很深的啊
流程有初始化流程实例的api,执行流转的api。在表单提交的时候,将表单中用于流程的数据作为参数传递到流程的api中,这些都可以做成通用的过程。不知道您的思路是怎样的呢? |
|
返回顶楼 | |
发表时间:2012-09-19
是这样的,在工作流运行过程中,流程的流转是需要系统自动控制的,也就是说流程在运行过程中是不需要人为来干预的,在这种自动运行状态下,流程的流转于流程数据之间的交互会因为流程的后驱节点的不确定性而产生流程数据的不确定性,而流程数据如果无法确定,那么流程的自动运行控制器就无法获得足够的运算数据,将无法使流程前往正确的下一个节点。。。问题就在这里。。。。不知道你们遇到这样的情况 没有?
|
|
返回顶楼 | |
发表时间:2012-09-21
流程的流转需要系统自动控制,不需要人为的干预。
比如条件跳转吧:if (表达式) A节点 表达式返回true,就到达A节点。表达式中用到的数据,在流程上下文中都能提供,则流程引擎能自动判断,即自动控制; 如果表达式中用到的数据,流程上下文不能提供,则需要人工干预(或从表单中传入数据)。 流程的流转控制,是从前面节点到后驱节点流转的,到达那个后续的节点,不会确定不了。 |
|
返回顶楼 | |
发表时间:2012-09-21
"表达式中用到的数据,在流程上下文中都能提供"
表达式中用到的一个数据值,是通过流程走到这一个节点的时候才能够计算出来的,从流程上下文数据列表中无法提前获得。。这点是重要,数据值是实时读取的,不是事先存储在数据库中的。。。。所以问题就在这里。。啊 |
|
返回顶楼 | |
发表时间:2012-09-21
楼上,我觉得您有个误区
在上一节点的表达式中,不能设计成取下一个节点的处理日期吧,下一节点还未执行呢,永远也取不到处理日期啊。 设计的时候,要避免这样的设计,不能设计成自相矛盾的吧 |
|
返回顶楼 | |
发表时间:2012-09-22
的确是遇到这样的问题了,也许是我的引擎设计和你们的设计有所不同吧。。。。 |
|
返回顶楼 | |
发表时间:2012-09-24
comsci 写道 的确是遇到这样的问题了,也许是我的引擎设计和你们的设计有所不同吧。。。。 不是引擎设计的问题,是在给业务流程建模的时候,表达式中不能取下一步还未发生的情况,如果下一步设计了任务参与人,那取下一步的任务参与人是可以的,总之不要设计成取不到的值,就可以了 |
|
返回顶楼 | |
发表时间:2012-11-09
最后修改:2012-11-09
comsci 写道
"表达式中用到的数据,在流程上下文中都能提供"
表达式中用到的一个数据值,是通过流程走到这一个节点的时候才能够计算出来的,从流程上下文数据列表中无法提前获得。。这点是重要,数据值是实时读取的,不是事先存储在数据库中的。。。。所以问题就在这里。。啊
|
|
返回顶楼 | |
发表时间:2012-11-09
eworkflow 写道 comsci 写道 的确是遇到这样的问题了,也许是我的引擎设计和你们的设计有所不同吧。。。。 不是引擎设计的问题,是在给业务流程建模的时候,表达式中不能取下一步还未发生的情况,如果下一步设计了任务参与人,那取下一步的任务参与人是可以的,总之不要设计成取不到的值,就可以了 这里面貌似存在了一个悖论,既然引擎不知道表单,当然也就不知道表达式的值能不能取到,为了不让这个值取不到,就必须用操作(节点)去发出“初始化”命令。而有时,这种初始化也是有条件的,就形成了老牛拉磨的循环了。 |
|
返回顶楼 | |
发表时间:2012-11-12
高人啊,高人。。。。
|
|
返回顶楼 | |