起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 772|回复: 0

主流程和子流程的作用关系

[复制链接]
发表于 2005-1-5 10:15:29 | 显示全部楼层 |阅读模式
list=1]
  • 如图:主流程的流程字段是业务元素:主流程字段1
             子流程的流程字段是业务元素:子流程字段1

  • 现在来说说,主流程和子流程的配合问题。主流程的“子流程环节1”的“子流程流程规则”中,有一个选项叫做“是否新建子流程”。
  • 如果:不勾“主流程”的“子流程环节1”的“子流程流程规则”中的“是否新建子流程”,那么流程运行就如下图一样,就像把子流程中的环节直接画在“子流程环节1”的位置一样。它本质上就是一个流程,“子流程环节1”仅仅是简单的环节重用。进入子流程以后流程过滤、流程ID都没有任何变化,“子流程”的“是否包含主流程过滤”选项在这个时候也是没有作用的,子流程的流程字段也是没有作用的,只有主流程的流程字段起作用。
  • 如果勾上“主流程”的“子流程环节1”的“子流程流程规则”中的“是否新建子流程”,那么当“张三”在“主流程业务功能1”中点击“流转”就会进入子流程(注意:“进入子流程”这个动作是发生在,“张三”在“主流程业务功能1”中点击“流转”,并且在“流转对话框”中点击“确定”按钮以后)。
    这个时刻,就会启动一个新的子流程实例,当启动一个新的子流程的实例的时就需要给流程字段赋值。
    给流程赋值,就有两种方式:

    1). 在程序中给新启动的子流程实例的流程字段赋值,具体做法是:在“主流程业务功能1”的主窗体上放一个“ TFlowBroker”组件,然后接管此组件的事件“OnCreateSubFlow”给新启动的子流程实例的流程字段赋值。
    2). 如果没有进行第一种方式,则系统默认会在“主流程业务功能1”的环境中查找所有的数据集,看看有没有字段引用到业务元素子流程的流程字段(例子中的“子流程字段1”)。如果有则取那个字段的值作为新启动的子流程实例的流程字段的值。如果没有,则报错
    [/list=1]

    当“张三”“主流程业务功能1”流转完毕以后,“李四”就会在“工作任务”的“需处理任务”中就会看到一条任务,当“李四”点击这条任务处理的时候,“子流程”上的“是否包含流程过滤”就起作用了。
    如果勾上“是否包含流程过滤”,则“李四”点击任务处理的时候,流程过滤为:(主流程字段1=*****)AND (子流程字段1=*****)
    如果不勾上“是否包含流程过滤”,则“李四”点击任务处理的时候,流程过滤为:子流程字段1=*****
  • 回复

    使用道具 举报

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

    本版积分规则

    小黑屋|手机版|Justep Inc.

    GMT+8, 2024-12-23 00:18 , Processed in 0.038345 second(s), 15 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

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