BPM
总线式业务协同平台
User Manual
用户手册
上海电气集团
文档说明
业务协同文档在不断向大众传递及时和深入的产品信息,其中不仅包含产品特性方面的准确数据,而且包含提示、示例和疑难解答指导。
设计文档时,我们首先考虑的是速度和易于导航。轻轻单击几下鼠标,您就可以获得所需要的任何信息。
目 录
2.1.1 新建文件 - 2 -
2.1.2 流程设计 - 3 -
2.1.3 保存文件 - 4 -
2.2.1 流程管理 - 5 -
2.2.2 流程定义 - 5 -
2.3.1 流程启动 - 7 -
2.3.2 待办任务 - 9 -
2.3.3 已办任务 - 10 -
3.2.1 消息 - 12 -
3.2.2 帮助/关于 - 15 -
3.2.3 登录信息 - 16 -
3.4.1 资源/文件 - 27 -
3.4.2 元件库 - 27 -
3.4.2.1 基本流程 - 27 -
3.4.2.2 任务 - 37 -
3.4.2.3 组件 - 67 -
3.4.2.4 网关 - 68 -
3.4.2.5 事件 - 71 -
3.4.2.6 子流程 - 90 -
3.4.2.7 工作流步骤 - 94 -
3.4.2.8 工作流对象 - 95 -
3.5.1 流程图 - 96 -
3.5.2 甘特图 - 97 -
3.5.3 校验 - 99 -
3.6.1 属性 - 100 -
3.6.2 计划 - 100 -
3.6.3 变量 - 101 -
3.6.3.1 自定义变量 - 101 -
3.6.3.2 内置参数 - 102 -
3.6.3.3 系统变量 - 103 -
4.2.1 待办任务 - 106 -
4.2.1.1 查询条件 - 107 -
4.2.1.2 待办任务 - 108 -
4.2.1.3 组办任务 - 113 -
4.2.2 已办任务 - 114 -
4.2.2.1 查询条件 - 115 -
4.2.2.2 已办任务 - 115 -
4.2.3 委办任务 - 116 -
4.2.3.1 查询条件 - 117 -
4.2.3.2 委办任务 - 117 -
4.3.1 流程定义 - 118 -
4.3.1.1 查询条件 - 118 -
4.3.1.2 流程定义 - 119 -
4.3.1.3 流程版本管理 - 125 -
4.3.2 流程启动 - 132 -
4.3.2.1 查询条件 - 133 -
4.3.2.2 流程启动 - 133 -
4.3.2.3 我的流程实例 - 135 -
4.3.3 流程设计 - 141 -
4.3.4 流程控制 - 142 -
4.3.4.1 查询条件 - 143 -
4.3.4.2 流程监控 - 143 -
4.4.1 服务配置 - 144 -
4.4.2 组件注册 - 148 -
4.4.3 全局信号 - 151 -
5.1.1 业务需求 - 154 -
5.1.2 前置条件 - 154 -
5.1.3 流程设计 - 155 -
5.1.3.1 设计简单流程图 - 155 -
5.1.3.2 自由网页页面配置 - 157 -
5.1.3.3 BPM页面配置 - 168 -
5.1.4 流程校验 - 176 -
5.1.5 流程授权与发布 - 177 -
5.1.6 流程启动 - 180 -
5.1.7 流程运行 - 182 -
5.1.8 流程结束 - 191 -
5.2.1 业务需求 - 192 -
5.2.2 前置条件 - 192 -
5.2.3 流程设计 - 193 -
5.2.3.1 设计简单流程图 - 193 -
5.2.3.2 自由网页页面配置 - 195 -
5.2.3.3 BPM页面配置 - 202 -
5.2.4 流程校验 - 207 -
5.2.5 流程授权与发布 - 208 -
5.2.6 流程启动 - 211 -
5.2.7 流程运行 - 213 -
5.2.8 流程结束 - 221 -
内容简介
概述
总线式业务协同品台BPM,(下文都简称为BPM)是一个图形化业务流程引擎。通过BPM,可以完成对流程的设计与应用,实现不同复杂度的流程。管理人员可以发布以流程定义为基础的各项任务,由执行人来完成该流程上每个节点上的任务。同时,一个流程可以发布多个实例,供多人应用,实现对流程复用。
设计思想
流程的主要作用是按照一定的逻辑关系驱动业务的处理过程,所以在BPM中流程是主动的一方。流程节点为逻辑节点和任务节点两大类。其中,逻辑节点依据输入参数控制流程的下一个流向;而在任务节点上挂接各类功能组件,由功能组件完成具体的工作。
图1.2-1 设计思想
平台上的所有组件,以及按照标准接口(JAVA/HTML/Web service/RESTful)开发的第三方组件,均可挂接在流程节点上,由流程驱动运行。各节点间自动传递参数和数据;在流程的驱动下,轻松实现跨组织和跨业务系统的协同工作和成果共享。
与传统的“表单-流程”关系相反,“流程-节点-组件”这一主动与被动的关系变化,让BPM在程序设计及开发时变得异常灵活、结构非常清晰。比如,当一段数据过程运行完毕之后,在随后的任务节点上1)要发短信通知管理员,2)要把结果传输给下一个任务节点,3)同时启动数据分析工作;此时只需要把三个不同的任务组件放入任务节点之中即可。
快速创建
流程设计
图2.1-1 流程设计
新建文件
点击资源树右上角“新建文件”图标,此时在工作区会自动打开一个内容空白的“流程1”标签页。如下图所示:
图2.1.1-1 新建文件
流程设计
在基本流程中,选中“启动”元件,将“启动”元件拖到文件“流程1”中。
图2.1.2-1 流程设计
将鼠标移动到“启动”元件上,元件上方会出现元件添加的方向(一般默认在元件右侧添加元件),右侧会出现一些基本流程元件,可以选择元件进行添加。
图2.1.2-2 流程设计
依次添加两个用户任务和一个结束元件,如下图所示:
图2.1.2-3 流程设计
注:为了更好的让用户了解BPM流程的操作步骤,本章节只设计一个简单的流程,对BPM其他功能不做详细介绍。
保存文件
点击顶部工具条中“保存”,弹出“新建文件”页面,选择文件保存路径,填写流程标识和流程名称,最后点击“确定”,文件保存成功。
图2.1.3-1 保存
流程发布
流程管理
点击顶部工具条中的“流程管理”,进入“流程管理”界面,默认打开“待办任务”页面,如下图所示:
图2.2.1-1 流程管理入口
图2.2.1-2 BPM主菜单
流程定义
点击左侧主菜单中的“流程管理—流程定义”,打开流程定义标签页,在“流程定义”页面对新建流程进行授权、测试、发布操作。如下图所示:
图2.2.2-1 流程定义
- 授权:对流程发起进行授权。
选择某个具体流程,点击授权按钮,弹出“设置授权”弹窗,在“设置授权”弹窗左侧勾选用户或者角色,点击“添加”,本章节对此功能不做详细介绍,具体操作参考4.3.1.2
流程定义。
图2.2.2-2 授权
- 测试发布
点击操作列中的“测试”,弹出提示“测试成功”,操作列中的“测试”字样变成“发布”;点击“发布”,弹出提示“发布成功”,操作列中的“发布”字样变成“已发布”。
图2.2.2-3 测试
图2.2.2-4 发布
流程启动与运行
流程启动
流程启动的方式有两种:
- 在流程定义页面启动流程
在流程定义操作列中,点击“查看版本”,流程版本管理中显示该流程的版本信息,点击“启动实例”,即可启动该流程。
图2.3.1-1 查看版本
图2.3.1-2 启动实例
- 在流程启动页面启动流程
在左侧主菜单中点击“流程管理”目录下的“流程启动,进入“流程启动”页面,在该页面,点击“启动流程”,即可启动流程。
图2.3.1-3 流程启动
待办任务
流程启动后,用户办理人的待办任务中会出现该流程,可以点击操作列中的“办理”来完成该任务节点,当前任务节点(用户任务1)办理完后,将会自动跳到下一个任务节点(用户任务2)。如图所示:
图2.3.2-1 待办任务
图2.3.2-2 待办任务
已办任务
已办完的任务,可以在左侧主菜单“我的任务”目录下“已办任务”中查看任务信息。
图2.3.3-1 已办任务
流程设计界面
主界面
输入网站地址,如:https://appsec.apps.paas.se-unicloud.com/(请根据实际情况输入正确网址),回车后进入操作界面,如下图所示:
图3.1-1 CPP页面
在菜单栏,点击“业务协同”,进入流程设计界面。
图3.1-2 主界面
主页面分为4部分:
上部:信息栏
顶部:工具条
左侧:工具栏
右侧:操作区
中间:工作区
信息栏
信息栏从左至右依次展示了BPM的图标、名称、消息、帮助/关于、登录信息。
图3.2-1 信息栏
消息
消息下有任务、新闻、公告、通知四类,可以接收(统一)消息中心CMC发送的任务、新闻、公告、通知,各类消息下设有全部、已读、未读。
图3.2.1-1 消息
点击任务列表中的某个任务,例如“任务安排”,来查看并完成该任务。
图3.2.1-2 消息
点击“设置”按钮,可以跳转到(统一)消息中心CMC页面。
图3.2.1-3 设置
图3.2.1-4 (统一)消息中心CMC
帮助/关于
图3.2.2-1 帮助/关于
- 关于
可以查看BPM的图标、名称以及本次版本前后端的版本号。
图3.2.2-2关于
图3.2.2-3关于
登录信息
图3.2.3-1 登录信息
登录信息:一般显示本次登录的账号信息,鼠标经过时,会出现注销功能,点击注销,页面自动跳转到登录页面。
工具条
工具条从左至右依次展示了:
“文件/打开/保存/另存”、“复制/剪切/粘贴/撤销/重做”、“对齐”、“分布”、“置顶/置底”、“全选/反选”、“背景色/渐变方向/渐变色/边框颜色/字体颜色/字体系列/加粗/斜体/下划线/左对齐/居中对齐/右对齐”“变量”、“信号”、“流程管理”、“流程校验”。
图3.3-1 工具条
- “文件”按钮:点击后会展示“新建文件”、“新建文件夹”、“新建模板”、“新建模板文件夹”、“保存”、“另存”、“退出”功能。
图3.3-2 文件
- 新建文件:点击“新建文件”会触发生成一个新的文件,用户可指定具体位置。
图3.3-3 新建文件
- 新建文件夹:点击“新建文件夹”会创建一个文件夹,用户可指定具体位置。
图3.3-4 新建文件夹
- 新建模板:点击“新建模板”会创建一个模板,用户可指定具体位置。
图3.3-5 新建模板
- 新建模板文件夹:点击“新建模板文件夹”会创建一个模板文件夹,用户可指定具体位置。
图3.3-5 新建模板文件夹
- 保存:选择路径,填写流程标识和流程名称后点击“确定”,对未保存过的文件保存至指定位置,已保存过的文件点此按钮则直接进行更新原文件。
图3.3-6 保存
- 另存:填写类型(页面/模板)、路径、标识、名称之后点击“确定”,针对已存在的某个文件,修改此文件后以其他名称另存为至指定位置;另存可以另存为页面,也可以另存为模板。
图3.3-7 另存-页面
图3.3-7 另存-模板
- 退出:退出BPM显示用户登陆界面。
图3.3-8 退出
- “打开”按钮:点击后会弹出“打开”窗口,用户在此窗口中可以找到想要打开的文件并确定,即可打开此文件。
图3.3-9 打开
- “保存”按钮:选择路径,填写流程标识和流程名称后点击“确定”,对未保存过的文件保存至指定位置,已保存过的文件点此按钮则直接进行更新原文件。
图3.3-10 保存
- “另存”按钮:填写类型(页面/模板)、路径、标识、名称之后点击“确定”,针对已存在的某个文件,修改此文件后以其他名称另存为至指定位置。
图3.3-11-1 另存-页面
图3.3-11-2 另存-模板
- “复制/剪切/粘贴/撤销/重做”快捷键:在设计流程的过程中,可以用这些快捷键对某些元件进行复制/剪切/粘贴/撤销/重做等操作。
图3.3-12 复制粘贴
- “左对齐/左右居中/右对齐/顶部对齐/上下居中/底部对齐”快捷键:在设计流程的过程中,可以用这些快捷键对某些元件进行左对齐/左右居中/右对齐/顶部对齐/上下居中/底部对齐操作。
图3.3-13-1 对齐
图3.3-13-2 对齐
“垂直分布/水平分布”快捷键:在设计流程的过程中,可以用这些快捷键对某些元件进行垂直分布/水平分布操作,使各个元件之间的距离相等。
图3.3-14 分布
“置顶/置底”快捷键:在设计流程的过程中,可以用这些快捷键对某些元件进行置顶/置底操作。
图3.3-15 置顶
“全选/反选” 快捷键:在设计流程的过程中,可以用这些快捷键对当前页面上的所有元件进行全选/反选操作。
“背景色/渐变方向/渐变色/边框颜色/字体颜色/字体系列/加粗/斜体/下划线/左对齐/居中对齐/右对齐”快捷键:针对已选定的元件进行背景色/渐变方向/渐变色/边框颜色/字体颜色/字体系列/加粗/斜体/下划线/左对齐/居中对齐/右对齐等设置,选中元件时,各个快捷键会显示相应的设置。
图3.3-16 颜色及字体设置
工具区
在此区域用户可以查看资源/文件、刷新资源、查找资源、新建文件和文件夹等。
图3.4-1 资源/文件
刷新:刷新当前系统的资源/文件信息,再次加载完成后展示最新信息。
查找:查找当前系统上的某个文件。
图3.4-2 查找
新建文件:点击此按钮会触发生成一个新的文件,用户可指定具体位置。
新建文件夹:点击此按钮会创建一个文件夹,用户可指定具体位置。
资源/文件
选中资源/文件中的任意文件,右键,可以设置刷新、新建文件、新建文件夹、重命名、删除等功能。
图3.4.1-1 资源/文件
“刷新”:刷新当前系统的资源/文件信息,再次加载完成后展示最新信息。
“新建文件”:点击此处会触发生成一个新的文件,用户可指定具体位置。
“新建文件夹”:点击此处会创建一个文件夹,用户可指定具体位置。
“重命名”:点击此处会修改文件/文件夹的名称。
“删除”:点击此处会删除文件/文件夹。
元件库
基本流程
基本流程下的元件有:启动、任务、网关、结束、中间事件、子流程、泳池、泳池(垂直)、组、文本注释、圆、矩形、线、图片、文字;用户运用这里的元件,就可以设计出一个最基础的流程了。
图3.4.2.1-1 基本流程
启动
启动:流程的起点。
拖取“启动”元件到工作区,鼠标浮动在该元件上,会出现一些其他常用元件,例如:结束、任务、网关、中间事件、注释等,点击这些元件可以制作快速流程。
点击图标,可以把“启动”元件修改成其他类型的元件,例如:中间事件、结束、定时器启动、信号启动等。
点击图标,删除元件。
图3.4.2.1.1-1 启动
任务
用户任务:用于对需要人工执行的任务进行建模。当流程执行到达用户任务时,会创建一个新任务指派至该任务办理人的任务列表,基础流程里的任务默认为用户任务。
图3.4.2.1.2-1 任务
网关
网关:用于控制执行的流向,网关用其中带有图标的菱形表示,该图标显示了网关的类型,基础流程里的网关默认为排他网关。
网关包括排他网关、并行网关、包容网关、事件网关。
图3.4.2.1.3-1 网关
结束
结束:标志着流程或子流程中一个分支的结束。
图3.4.2.1.4-1 结束
中间事件
中间事件:是指可以单独作为流程元素的事件。
图3.4.2.1.5-1 中间事件
子流程
子流程:子流程是包含其他的活动、网关、事件等的活动。其本身构成一个流程,并作为更大流程的一部分,基础流程里的子流程默认为内嵌子流程。
图3.4.2.1.6-1 子流程
子流程有两个主要的使用场景:
- 子流程可以分层建模。很多建模工具都可以折叠子流程,隐藏子流程的所有细节,而只显示业务流程的高层端到端总览。
图3.4.2.1.6-2 子流程
- 子流程会创建新的事件范围。在子流程执行中抛出的事件可以通过子流程边界上的边界事件捕获,在子流程内的范围为该事件创建了限制。
图3.4.2.1.6-3 子流程
使用子流程也要注意以下几点:
内嵌子流程只能有一个空启动事件,事件子流程里不会有空启事件,即席子流程可以没有启动事件。
顺序流不能跨越子流程边界。
泳池
为了显示业务流程参与者之间的交互方式, bpm使用泳池和泳道。通常,在 bpm 系统中,泳池被定义为进程的容器, 表示所有流程活动及其执行器。
泳池有水平泳池和垂直泳池两种形式。
图3.4.2.1.7-1 泳池
泳道:是泳池的再划分,用于组织和分类泳池内的活动;泳道是一个矩形形状, 它对特定用户必须执行的所有活动进行分组。泳道在水平泳池内就是水平的,垂直泳池内就是垂直的。
图3.4.2.1.7-2 泳池
泳池与泳道的关系:为了显示业务流程参与者之间的交互方式,从而使用泳池和泳道;一个泳池可能包含多个泳道。
注:泳池之外不能含有其他元件。
组
该组件尚未存在实际意义。
图3.4.2.1.8-1 组
文本注释
文本注释:对某一任务解释说明。
图3.4.2.1.9-1 文本注释
圆
该组件尚未存在实际意义。
图3.4.2.1.10-1 圆
矩形
该组件尚未存在实际意义。
图3.4.2.1.11-1 矩形
线
该组件尚未存在实际意义。
图3.4.2.1.12-1 线
图片
图片组件用于在网页上添加一张图片,如公司logo、报表相关的图片文件等。
图3.4.2.1.13-1 图片
拖拽图片元件,在网页上添加一个图片,并在属性中设置“图片路径”地址。
添加“图片路径”的方式有两种,一种是从资源文件中添加,另一种是web地址添加。
- 资源文件中添加图片路径
在“选择路径”页面,勾选“选中对象”,并在“选择路径”右侧资源文件中选择所要添加的图片,如下图所示:
图3.4.2.1.13-2 资源对象
- web地址添加图片
在“选择路径”页面,勾选“web地址”,并在输入框中输入图片的链接,如下图所示:
图3.4.2.1.13-3 web地址
文字
文字可以用来解释说明,使流程更加简单易懂。
图3.4.2.1.14-1文字
任务
任务下的元件有:用户任务、会签任务、邮件任务、接收任务、脚本任务、服务任务、线下任务。
图3.4.2.2-1 任务
用户任务
用户任务(UserTask):用来设置必须由人员完成的工作。当流程执行到用户任务,会创建一个新任务,并把这个新任务加入到办理人的任务列表中;用户任务用左上角有一个小用户图标的标准任务(圆角矩形)表示。
一般情况下,用户任务有任务id、任务名称、撤回、通知办理人、跳过任务、办理人、平台组件、组件设置、到期日期、驳回节点设置、高级设置等属性。
图3.4.2.2.1-1 用户任务
任务id:每一个任务节点都有自己的任务id,具有唯一性。
任务名称:用户名称可以通过修改任务名称,用来解释说明任务节点。
通知办理人:勾选“通知办理人”功能,当流程到达该任务节点时,会在信息栏中通知相应的办理人。
办理人为空,跳过此任务:当该任务节点没有设置办理人时,流程会自动跳过此任务,到达下一个节点。
其他属性将会详细介绍。
撤回
在用户办理任务后,很有可能因为一些原因希望能自己撤回审批,而不是让下一个处理人驳回自己的任务,此时,就引申出我们的这个撤回功能。
如下图,在“请假申请”任务中有“允许撤回”选项,默认没有勾选,如果勾选之后,在任务流转到下一个节点“经理审批”(该任务未办理)时,在已办列表中点击“撤回”即可拿回任务。
图3.4.2.2.1.1-1撤回
注:一个任务不能同时设置“撤回”和“驳回节点设置”。
在已办任务列表中会筛选出是否显示“撤回”按钮的数据,首先,待办任务必须处于已办的下一个节点,同时,还有以下几种情况会不允许撤回:
已办任务的下一个节点是服务任务。
已办任务的下一个节点是子流程(包含调用子流程)。
已办任务的下一个节点是中间事件。
已办任务的下一个节点是用户任务但有边界事件。
已办任务的下一个节点是会签任务。
已办任务的下一个节点是网关,但网关后继续还有其他网关相连接。
流程的最后一个任务节点虽然支持勾选“允许撤回”,但是流程运行中,不能撤回。
同时还有一点需要注意,在并行网关或者包容网关后,如果任务都停留在网关后,也是允许有撤回的。
当“请假申请”任务勾选“允许撤回”时,在流程执行到“经理审批”时,“请假申请”任务的用户的待办中显示如图:
图3.4.2.2.1.1-2 撤回
点击撤回,任务自动回退到“请假申请”的任务中。
图3.4.2.2.1.1-3撤回
办理人
点击办理人输入框后的弹出“办理人”窗口。
图3.4.2.2.1.2-1 办理人
点击“添加”弹出“选中办理人”窗口,办理人中有用户、角色、变量。
- 用户
图3.4.2.2.1.2-2 用户
在用户中,如果单选用户,属于待办任务,可以在待办任务中完成或者委办;如果多选用户,则属于组办任务,可以在组办任务中完成或领取。
是否包含子部门:
如果勾选“是否包含子部门”,则各个子部门中的每一位员工都可以办理组办任务。
如果不勾选“是否包含子部门”,则只有该部门下的直属员工能办理组办任务,子部门中的员工不能办理该组办任务。
角色
图3.4.2.2.1.2-3 角色
选择角色下的任何一角色,右侧自动出现角色约束条件。
图3.4.2.2.1.2-4 角色
角色约束:包括无约束、与组织相关设置、与变量的组织相关设置三个约束条件。
与组织相关设置包括:流程发起人/上一节点办理人、本级/本级向上递归/平级/平级向上递归/上一级/下一级/下一级及本级。
图3.4.2.2.1.2-5 角色
图3.4.2.2.1.2-6 角色
注:图文说明
图3.4.2.2.1.2-7 角色
例如:该流程的启动人为“小明”,则本级/本级向上递归/平级/平级向上递归/上一级/下一级/下一级及本级所属人员如下所示:
本级:查找隶属于同一组织”四级单位A“下的角色成员。
本级向上递归:先找隶属于同一组织”四级单位A“下的该角色,如果没找到则查找隶属于上一级”三级单位A“下的成员,还是没找到,继续查找隶属于上一级”二级单位A“的成员,直到找到角色成员或向上递归到达设置上限为止。
平级:先查找隶属于同一组织”四级单位A“下的角色成员,没有找到则查找平行其他组织”四级单位B“下的角色成员。
平级向上递归:先查找隶属于同一组织”四级单位A“下的角色成员,没有找到则继续查找平行组织”四级单位B“下的成员,平行组织下也没有找到,则查找隶属于上一级组织“三级单位A”的成员,以此类推,直到找到角色成员或达到设置级别上限为止。
上一级:隶属上一级组织”三级单位A“下的成员。
下一级:查找隶属所属组织的下级组织“五级单位A”、“五级单位B”的成员。
下一级及本级:查找直接隶属所属组织“”四级单位A“和隶属所属组织下一级组织”五级单位A“、”五级单位B“的成员。
与变量的组织相关设置包括:全局变量/节点变量/内置参数/系统变量、本级/本级向上递归/平级/平级向上递归/上一级/下一级/下一级及本级。
图3.4.2.2.1.2-8 角色
图3.4.2.2.1.2-9 角色
图3.4.2.2.1.2-10 角色
- 变量
变量包括:流程发起人、流程发起人同级用户、启用变量。
图3.4.2.2.1.2-11 变量
启用变量包括:全局变量、节点变量、内置参数、系统变量。
图3.4.2.2.1.2-12 变量
平台组件
BPM链接的平台组件有自由网页、多级填报、智能报表、EXCEL导入、数据集成等平台组件,点击平台组件下方,会弹出平台组件下拉框,选择平台组件。
图3.4.2.2.1.3-1 平台组件
组件设置
点击组件设置下方,自动跳转到表单引用页面,选择所要引用的表单,如下图所示:
图3.4.2.2.1.4-1 平台组件
到期时间
每个任务都可以使用一个字段标志该任务的到期日期。到期时间可以使用查询API,查询在给定日期前或后到期的任务。
图3.4.2.2.1.5-1 到期时间
到期时间:固定时间、等待时间、无限期。
- 固定时间:设置一个将来的某个时间。
图3.4.2.2.1.5-2 固定时间
- 等待时间:等待多长时间之后,启动任务。
图3.4.2.2.1.5-3 等待时间
- 无限期:没有期限。
图3.4.2.2.1.5-4 无限期
驳回
在传统的bpm工作流中,如果涉及到回退功能,需要对两个任务节点进行连接,而新的驳回功能不需要再进行连线,直接选取“驳回节点设置”即可。在驳回之后,接收到被驳回的用户可以把任务直接推送给驳回人,也可以把任务退送给下一节点办理人。
图3.4.2.2.1.6-1驳回
注:驳回功能不适应与以下情况:
包容网关/并行网关之前的节点(因为包容网关、并行网关会有多条分支的产生,如果某一条分支退回务必会导致另外一条分支不正常)。
会签任务及其之前节点。
子流程中之前节点。
在子流程中的节点。
中间事件之前节点。
含有边界事件的用户任务及其之前节点。
服务任务及其之前节点。
当任务节点“请假申请”设置驳回节点时,该任务右下角会出现一个灰色的减号图标。
图3.4.2.2.1.6-2驳回
当“财务审核”任务设置驳回节点时,在流程执行到“财务审核”时,如图所示:
图3.4.2.2.1.6-3驳回
如果“财务审核”驳回该任务的话,该流程返回到“财务报销单”任务。
图3.4.2.2.1.6-4 驳回
图3.4.2.2.1.6-5驳回
高级设置
高级设置包括其他属性和多实例属性两部分。
点击高级设置下方,自动跳转到高级设置页面,如下图所示:
图3.4.2.2.1.7-1 高级设置
其他属性包括:优先级、分类、跳过表达式。
优先级
“任务”的类别属性“优先级”可设置区间[0,100],也是“任务”的拓展属性。
- 分类
“任务”的类别属性是flowable新功能,可以对流程中的每个“任务”都设置“类别”,类别信息会存储到ACT_HI_TASKINST中,流程引擎可以通过对“任务”的“类别”来统一管理获取需要管理的“任务”,比如流程有些“任务”属于“支付”类型,有些属于“业务”类型,在此设置可以方便流程引擎统一获取。
- 跳过表达式
点击跳过表达式右侧的,弹出跳过表达式编辑页面。
图3.4.2.2.1.7-2 跳过表达式
多实例属性
多实例执行方式:非多实例、并行、顺序。
非多实例:一个用户任务,只有一个用户完成。
并行:一个用户任务,多个用户完成,且用户之间不存在先后顺序。
顺序:一个用户任务,多个用户完成,且用户之间存在先后顺序。
选择“并行”或者“顺序”,多实例属性会展开。
图3.4.2.2.1.7-3 多实例
实例次数:该任务执行次数,例如实例次数为3,该流程任务最多执行3次。
集合型流程变量:设置的变量是一个集合体,例如下图中的变量listusers。
接收元素值的变量:把集合中元素的值赋给该变量,例如下图中的变量userid。
图3.4.2.2.1.7-4 多实例
图3.4.2.2.1.7-5 多实例
注:实例次数与变量(集合型流程变量/接收元素值的变量)设置不能同时使用。
- 完成规则:点击完成规则输入框右侧,弹出“结束表达式”页面。
图3.4.2.2.1.7-6 多实例规则
多实例规则包括完成实例百分比、已完成实例数量、未完成实例数量、自定义表达式。
- 完成实例百分比:输入规则完成百分比数,当流程任务完成实例百分比达到该百分比时,该流程任务停止执行,流程自动跳转到下一个任务。
图3.4.2.2.1.7-7 多实例规则
- 已完成实例数量:输入规则已完成数量,当流程任务完成数量达到该数量时,该流程任务停止执行,流程自动跳转到下一个任务。
图3.4.2.2.1.7-8 多实例规则
- 未完成实例数量:输入规则未完成数量,当流程任务未完成数量达到该数量时,该流程任务停止执行,流程自动跳转到下一个任务。
图3.4.2.2.1.7-9 多实例规则
- 自定义表达式:根据输入规则框里的示例,可以自己编写表达式。
图3.4.2.2.1.7-10 多实例规则
会签任务
会签任务:用户在此任务属性中可以设置执行方式、会签规则、会签成员、引用表单、到期日期、高级设置。
图3.4.2.2.2-1 会签任务
执行方式
执行方式:并行和顺序两种方式。
并行:办理人都会同时收到任务。
顺序:办理人按照一定顺序收到任务,只有上一个办理人完成任务,下一个办理人才会收到任务。
图3.4.2.2.2.1-1 执行方式
会签规则
会签规则:一票否决制、一票通过制、百分比通过制、人数通过制。
图3.4.2.2.2.2-1 会签规则
- 一票否决制:只要有一票否决,该任务就会被否决,会签任务结束,流程自动跳转到下一个任务。
图3.4.2.2.2.2-2 会签规则
- 一票通过制:只要有一票通过,该任务就会通过,会签任务结束,流程自动跳转到下一个任务。
图3.4.2.2.2.2-3 会签规则
- 百分比通过制:输入规则百分比数,当通过票率达到该百分比时,该任务通过,会签任务结束,流程自动跳转到下一个任务。
图3.4.2.2.2.2-4 会签规则
- 人数通过制:达到规定的人数通过之后,该任务通过,会签任务结束,流程自动跳转到下一个任务。
图3.4.2.2.2.2-5 会签规则
会签成员
会签成员设置:设置的人员都参与任务办理,再根据会签规则计算完成条件。
图3.4.2.2.2.3-1 会签成员
表单引用
引用表单设置:
图3.4.2.2.2.4-1 表单引用
到期日期
到期日期设置:
图3.4.2.2.2.5-1 到期日期
具体操作请参考3.4.2.2.1.5 到期时间。
高级设置
图3.4.2.2.2.6-1 高级设置
具体操作请参考3.4.2.2.1.7 高级设置。
邮件任务
邮件任务(MailTask):flowable强化了业务流程,支持了自动邮件任务,它可以发送邮件给一个或多个参与者,包括支持抄送人、密送人、HTML内容等等。 注意邮件任务不是BPMN 2.0规范定义的官方任务(它也没有对应的图标)。 因此flowable中邮件任务是用专门的服务任务实现的(即——邮件任务是一个专用的服务任务,这个服务任务的type设置为“mail”)。
邮件任务是通过属性注入进行配置的。所有这些属性都可以使用EL表达式,可以在流程执行中解析。下面的属性都可以设置:
图3.4.2.2.3-1邮件任务
邮件内容
邮件内容设置:
图3.4.2.2.3.1-1 邮件内容
收件人设置:
多选用户或者部门角色所有人都可以收到邮件。
需要抄送和密送的话,点击“抄送人”“密送人”。
图3.4.2.2.3.1-2 邮件内容
图3.4.2.2.3.1-3 邮件内容
- 可以通过“添加本地附件”,添加文件或图片。
图3.4.2.2.3.1-4 添加附件
高级设置
图3.4.2.2.3.2-1 高级设置
执行方式——异步执行
默认为false,属性主要包含在(任务,服务任务,脚本任务,业务规则任务,发送任务,接收任务,用户任务,子流程,调用活动)中。
在默认情况下,在当前任务节点执行完成,而下一个节点为自动流转完成的节点(如服务任务,邮件任务,脚本任务等),如果下一个节执行失败(为不可忽略的失败),即使当前任务节点执行成功,流程仍然提示失败,这就是流程中的事务同步。
当前节点设置“异步执行”(async)属性为true,下一个节点为自动流转完成的节点(如服务任务,邮件任务,脚本任务等),如果下一个节执行失败(为不可忽略的失败),但当前节点执行成功,流程会提示成功,直接进入下一个失败的任务节点中等待,当前待办已处理完毕,这就是事件的“异步执行”特性。
接收任务
接受任务(ReceiveTask):等待并接受从外部参与者发送过来的消息,消息接受完毕则任务执行完毕。
脚本任务
脚本任务(ScriptTask)是自动执行的活动。当流程执行到达脚本任务时,会执行相应的脚本。
服务任务
服务任务(ServiceTask):调用某种类型的服务。
Web服务任务(Web service task)用于同步地调用外部的Web服务。
图3.4.2.2.6-1 web服务任务
Web服务任务的服务列表都是从资源RSM中的API管理服务列表中获取的。
图3.4.2.2.6-2 API管理
选择服务连接,请求名、请求方式、请求Url都是在资源RSM中的API管理服务列表中设置的,在这里不能改动,请求头中的值是可以改动的。
图3.4.2.2.6-3 web服务任务
线下任务
线下任务(manual task)定义在bpm引擎之外的任务。它用于建模引擎不需要了解,也不需要提供系统或用户界面的工作。对于引擎来说,线下任务将按直接穿过活动处理,在流程执行到达线下任务时,自动继续执行流程。
组件
组件下的元件有:自由网页、自动报告、智能报表、EXCEL导入、数据采集、数据集成、短信组件、文件处理、数据库、微信组件;这些组件均是公司内部开发的,可与流程中任意节点进行关联匹配从而达到特定目的,进而完善流程体验度。
图3.4.2.3-1 组件
网关
网关(gateway)用于控制执行的流向。网关显示成菱形图形,内部有有一个小图标,图标表示网关的类型。这里列出了:排他网关、并行网关、包容网关、事件网关。
图3.4.2.4-1 网关
排他网关
排他网关(exclusive gateway),用于对流程中的决策建模。当执行到达这个网关时,会按照所有出口顺序流定义的顺序对它们进行计算,当多条顺序流的条件都计算为true时,选择第一个条件计算为true的顺序流继续流程。使用排他网关时,只会选择一条顺序流。如果没有可选的顺序流,会抛出异常。
排他网关用内部带有’X’图标的标准网关(菱形)表示,'X’图标代表异或的含义。请注意内部没有图标的网关默认为排他网关。示例:
图3.4.2.4.1-1 排他网关
并行网关
并行网关:网关也可以建模流程中的并行执行。它可以将执行分支为多条路径,也可以合并多条入口路径的执行。
并行网关的功能取决于其入口与出口顺序流:
分支:所有的出口顺序流都并行执行,为每一条顺序流创建一个并行执行。
合并:所有到达并行网关的并行执行都会在网关处等待,直到每一条入口顺序流都到达了有个执行。然后流程经过该合并网关继续。
请注意,如果并行网关同时具有多条入口与出口顺序流,可以同时具有分支与合并的行为。在这种情况下,网关首先合并所有入口顺序流,然后分裂为多条并行执行路径。
与其他网关类型有一个重要区别:并行网关不计算条件。如果连接到并行网关的顺序流上定义了条件,会直接忽略该条件。
并行网关,用内部带有“加号”图标的网关(菱形)表示,代表与的含义。
示例:
图3.4.2.4.2-1 并行网关
包容网关
包容网关:可以把包容网关(inclusive gateway)看做排他网关与并行网关的组合。与排他网关一样,可以在包容网关的出口顺序流上定义条件,包容网关会计算条件。然而主要的区别是,包容网关与并行网关一样,可以同时选择多于一条出口顺序流。
包容网关的功能取决于其入口与出口顺序流:
分支:流程会计算所有出口顺序流的条件。对于每一条计算为true的顺序流,流程都会创建一个并行执行。
合并:所有到达包容网关的并行执行,都会在网关处等待。直到每一条具有流程标志的入口顺序流都有一个执行到达。这是与并行网关的重要区别。换句话说,包容网关只会等待可以被执行的入口顺序流。在合并后,流程穿过合并网关继续。
包容网关显示为一个普通网关(菱形),内部包含一个圆圈图标。
示例:
图3.4.2.4.3-1 包容网关
事件网关
事件网关:基于事件的网关(event-based gateway)提供了根据事件做选择的方式。网关的每一条出口顺序流都需要连接至一个捕获中间事件。当流程执行到达基于事件的网关时,与等待状态类似,网关会暂停执行,并且为每一条出口顺序流创建一个事件订阅。
请注意:基于事件的网关的出口顺序流与一般的顺序流不同。这些顺序流从不实际执行。相反,它们用于告知流程引擎:当执行到达一个基于事件的网关时,需要订阅什么事件。有以下限制:
一个基于事件的网关,必须有两条或更多的出口顺序流。
基于事件的网关,只能连接至捕获中间事件类型的元素,不支持在基于事件的网关之后连接接收任务 。
连接至基于事件的网关的捕获中间事件类型的元素,必须只有一个入口顺序流。
基于事件的网关,用内部带有特殊图标的网关(菱形)表示。
示例:
图3.4.2.4.4-1 事件网关
事件
事件用来表明流程的生命周期中发生了什么事。事件总是画成一个圆圈,分为两大分类:捕获(catching)或触发(throwing) 事件:
捕获(Catching):当流程执行到事件,它会等待被触发。触发的类型是由内部图表或XML中的类型声明来决定的。 捕获事件与触发事件在显示方面是根据内部图表是否被填充来区分的(白色的)。
触发(Throwing):当流程执行到事件,会触发一个事件。触发的类型是由内部图表或XML中的类型声明来决定的。 触发事件与捕获事件在显示方面是根据内部图表是否被填充来区分的(被填充为黑色)。
事件(event)通常用于为流程生命周期中发生的事情建模。事件总是图形化为圆圈。主要的事件分类:捕获(catching)与抛出(throwing)事件。
捕获: 当流程执行到达这个事件时,会等待直到触发器动作。触发器的类型由其中的图标,或者说XML中的类型声明而定义。捕获事件与抛出事件显示上的区别,是其内部的图标没有填充(即是白色的)。
抛出: 当流程执行到达这个事件时,会触发一个触发器。触发器的类型,由其中的图标,或者说XML中的类型声明而定义。抛出事件与捕获事件显示上的区别,是其内部的图标填充为黑色。
事件下的组件有:空启动、定时器启动、信号启动、错误启动、定时器边界、错误边界、信号边界、取消边界、补偿边界、定时器捕获、信号捕获、空抛出、信号抛出、补偿抛出、空结束、错误结束、取消结束、终止结束。
图3.4.2.5-1 事件
空启动事件
空启动事件:意味着没有指定启动流程实例的触发条件,这就是说引擎不能预计什么时候流程实例会启动,空开始事件显示成一个圆圈,没有内部图表(没有触发类型)。
定时器启动事件
定时器启动事件:用来在指定的时间创建流程实例,它可以同时用于只启动一次的流程和应该在特定时间间隔启动多次的流程,定时开始事件显示为了一个圆圈,内部是一个表。
示例:
图3.4.2.5.2-1 定时器启动事件
点击定时启动元件,在右侧属性里进行定时设置。定时设置有固定时间,等待时间,循环计划三种设置,可分别进行设置。
图3.4.2.5.2-2 定时设置
- 固定时间:到某一时间后,流程自动启动。
图3.4.2.5.2-3 固定时间
- 等待时间:等待多少时间后,流程自动启动。
图3.4.2.5.2-4 等待时间
- 循环计划:多次循环启动流程。
图3.4.2.5.2-5 循环计划
信号启动事件
信号启动事件:可以用来通过一个已命名的信号(signal)来启动一个流程实例;信号开始事件显示为一个中间包含信号事件图标的圆圈,标记是无填充的,表示捕获(接收)行为。
信号启动事件需要一个信号抛出事件来触发,如下图所示:
图3.4.2.5.3-1 信号启动事件
点击顶部菜单栏的信号,弹出“信号定义”窗口,并添加一个信号。
图3.4.2.5.3-2 信号定义
点击“信号抛出”“信号启动”元件,在右侧属性中点击信号引用下拉框,选择定义的信号,需和信号抛出引用的信号保持一致。
图3.4.2.5.3-3 信号引用
图3.4.2.5.3-4 信号引用
注:可以选择中断和非中断,非中断意味着最初的活动不会被中断;默认为中断事件。
错误启动事件
错误启动事件:错误开始事件可以用来触发一个事件子流程,错误开始事件不能用来启动流程实例,错误开始事件都是中断事件;错误开始事件是一个圆圈,包含一个错误事件标记,标记是白色未填充的,来表示捕获(接收)行为。
图3.4.2.5.4-1 错误启动事件
点击“错误启动”元件,在右边设置属性,关联抛出事件抛出的错误。
图3.4.2.5.4-2 关联错误
定时器边界事件
定时器边界事件:就是一个暂停等待警告的时钟,当流程执行到绑定了边界事件的环节, 会启动一个定时器。 当定时器触发时(比如,一定时间之后),环节就会中断, 并沿着定时边界事件的外出连线继续执行;定时边界事件是一个标准的边界事件(边界上的一个圆圈), 内部是一个定时器小图标。
图3.4.2.5.5-1 定时器边界事件
点击定时器边界事件,在右侧属性里进行定时设置:固定时间,等待时间,循环计划三种设置,可分别进行设置。
图3.4.2.5.5-2 定时设置
错误边界事件
错误边界事件:节点边界上的中间捕获错误事件,或简写成边界错误事件,它会捕获节点范围内抛出的错误;定义一个边界错误事件,大多用于内嵌子流程,或调用节点,对于子流程的情况,它会为所有内部的节点创建一个作用范围。 错误是由错误结束事件抛出的。 这个错误会传递给上层作用域,直到找到一个错误事件定义向匹配的边界错误事件。当捕获了错误事件时,边界任务绑定的节点就会销毁, 也会销毁内部所有的执行分支 (比如,同步节点,内嵌子流程,等等)。 流程执行会继续沿着边界事件的外出连线继续执行;边界错误事件显示成一个普通的中间事件(圆圈内部有一个小圆圈) 放在节点的标记上,内部有一个错误小图标--错误小图标是白色的,表示它是一个捕获事件。
这里设置一个“错误结束”事件作为错误抛出事件,如下图所示:
图3.4.2.5.6-1 错误边界事件
点击“错误边界”事件,进行属性设置,关联抛出事件抛出的错误。
图3.4.2.5.6-2 关联错误
当“审核盈利能力”用户任务完成,并指出提供的信息不足时,会抛出错误。当这个错误被子流程边界捕获时,并会创建“提供更多信息”用户任务。
信号边界事件
信号边界事件:节点边界的中间捕获信号, 或简称为边界信号事件, 它会捕获信号定义引用的相同信号名的信号。
注意:
与其他事件(比如边界错误事件)不同,边界信号事件不只捕获它绑定方位的信号。信号事件是一个全局的范围(广播语义),就是说信号可以在任何地方触发, 即便是不同的流程实例。
与其他事件(比如边界错误事件)不同,捕获信号后,不会停止信号的传播。 如果你有两个信号边界事件,它们捕获相同的信号事件, 即使它们在不同的流程实例中两个边界事件也都会被触发。边界信号事件显示为普通的中间事件(圆圈里有个小圆圈),位置在节点的边缘,内部有一个信号小图标,信号图标是白色的(未填充), 来表示捕获的意思。
用信号抛出事件触发信号边界,如下图所示:
图3.4.2.5.7-1 信号边界事件
点击顶部菜单栏“信号”弹出“信号定义”窗口,并添加一个信号。
图3.4.2.5.7-2 信号定义
点击“信号边界”元件,在右侧属性中点击信号引用下拉框,选择定义的信号,需和信号抛出引用的信号保持一致。
图3.4.2.5.7-3 信号引用
图3.4.2.5.7-4 信号引用
取消边界事件
取消边界事件(cancel event):在事务性子流程的边界上的中间捕获取消,当事务取消时触发。当取消边界事件触发时,首先中断当前作用域的所有执行。然后开始补偿事务内的所有激活的补偿边界事件。补偿是同步执行的。例如,离开事务前,边界事务会等待补偿执行完毕。当补偿完成后,事务子流程会沿着取消边界事务的外出连线继续执行;取消边界事件显示为了一个普通的中间事件(圆圈里套小圆圈),在节点的边缘, 内部是一个取消小图标,取消图标是白色(无填充), 表明是捕获语义。
用取消结束事件来触发取消边界事件,如下图所示:
图3.4.2.5.8-1 取消边界事件
补偿边界事件
补偿边界事件:节点边界的中间捕获补偿, 可以用来设置一个节点的补偿处理器。补偿边界事件必须使用直接引用设置唯一的补偿处理器。补偿边界事件与其他边界事件的策略不同,其他边界事件(比如信号边界事件)当到达关联的节点就会被激活;离开节点时,就会挂起,对应的事件订阅也会取消。补偿边界事件则不同,补偿边界事件在关联的节点成功完成时激活,当补偿事件触发或对应流程实例结束时,事件订阅才会删除。 它遵循如下规则:
补偿触发时,补偿边界事件对应的补偿处理器会调用相同次数,根据它对应的节点的成功次数。
如果补偿边界事件关联到多实例节点, 补偿事件会订阅每个实例。
如果补偿边界事件关联的节点中包含循环, 补偿事件会在每次节点执行时进行订阅
如果流程实例结束,订阅的补偿事件都会结束。
图3.4.2.5.9-1 补偿边界事件
定时器捕获事件
定时器捕获事件(timer intermediate catching event)的行为像是跑表。当执行到达捕获事件时,启动定时器;当定时器触发时(例如在一段时间间隔后),沿定时器中间事件的出口顺序流继续执行。定时器中间事件用内部有定时器图标的中间捕获事件表示。
图3.4.2.5.10-1 定时器捕获事件
信号捕获事件
信号捕获事件(signal intermediate catching event),捕获与其引用的信号定义具有相同信号名称的信号。
请注意:与其他事件不同,信号在被捕获后不会被消耗。如果有两个激活的信号中间事件,捕获相同的信号事件,则两个中间事件都会被触发,哪怕它们不在同一个流程实例里。
信号捕获中间事件用内部有信号图标的标准中间事件(两层圆圈)表示。信号图标是白色的(未填充),代表捕获的含义。
图3.4.2.5.11-1 信号捕获事件
信号设置:
点击顶部工具栏“信号”,弹出“信号定义”窗口,点击“添加”按钮,添加信号,输入信号名称。
图3.4.2.5.11-2 信号定义
选中“信号抛出”元件,点击其右侧属性“信号引用”,选中“信号(流程实例)”信号。
图3.4.2.5.11-3 信号引用
选中“信号捕获”元件,点击其右侧属性“信号引用”,选中“信号(流程实例)”信号。
图3.4.2.5.11-4 信号引用
空抛出事件
下面的流程图展示了空抛出事件(intermediate throwing none event)的简单例子。其用于指示流程已经到达了某种状态。
图3.4.2.5.12-1 空抛出事件
添加一个执行监听器后,空中间事件就可以成为很好的监视某些KPI(Key Performance Indicators 关键绩效指标)的钩子。
信号抛出事件
信号抛出事件(signal intermediate throwing event),抛出所定义信号的信号事件。
信号会广播至所有的激活的处理器(也就是说,所有的信号捕获事件),可以同步或异步地发布信号。
在默认配置中,信号同步地传递。这意味着抛出信号的流程实例会等待,直到信号传递至所有的捕获信号的流程实例。所有的捕获流程实例也会在与抛出流程实例相同的事务中,也就是说如果收到通知的流程实例中,有一个实例产生了技术错误(抛出异常),则所有相关的实例都会失败。
信号也可以异步地传递。这是由到达抛出信号事件时的发送处理器来决定的。对于每个激活的处理器会为其存储并传递一个异步通知消息。
事例图同“信号捕获事件”(即:3.4.2.5.11 信号捕获事件)。
补偿抛出事件
补偿抛出事件(compensation intermediate throwing event)用于触发补偿。既可以为设计的活动触发补偿,也可以为补偿事件所在的范围触发补偿。补偿由活动所关联的补偿处理器执行。
活动抛出补偿时,活动关联的补偿处理器将执行的次数,为活动成功完成的次数。
抛出补偿时,当前范围中所有的活动,包括并行分支上的活动都会被补偿。
补偿分层触发:如果将要被补偿的活动是一个子流程,则该子流程中所有的活动都会触发补偿。如果该子流程有嵌套的活动,则会递归地抛出补偿。然而,补偿不会传播至流程的上层:如果子流程中触发了补偿,该补偿不会传播至子流程范围外的活动,对与子流程在相同级别的活动触发补偿。
补偿按照执行的相反顺序运行。这意味着最后完成的活动会第一个补偿。
可以使用补偿抛出中间事件补偿已经成功完成的事务子流程。
请注意:如果抛出补偿的范围中有一个子流程,而该子流程包含有关联了补偿处理器的活动,则当抛出补偿时,只有该子流程成功完成时,补偿才会传播至该子流程。如果子流程内嵌套的部分活动已经完成,并附加了补偿处理器,但包含这些活动的子流程还没有完成,则这些补偿处理器仍不会执行。
空结束事件
空结束事件:意味着到达该事件时不会指定抛出的结果。 这样,引擎会直接结束当前执行的分支,不会做其他事情。空结束事件是一个粗边圆圈,内部没有小图表(无结果类型)
错误结束事件
错误结束事件:当流程执行到错误结束事件, 流程的当前分支就会结束,并抛出一个错误。 这个错误可以被对应的中间边界错误事件捕获。 如果找不到匹配的边界错误事件,就会抛出一个异常。错误结束事件是一个标准的结束事件(粗边圆圈),内部有错误图标,错误图表是全黑的,表示触发语法。
事例图同“错误启动事件”(即:3.4.2.5.4 错误启动事件)。
取消结束事件
取消结束事件:只能与BPMN事务子流程结合使用。当到达取消结束事件时,会抛出取消事件,它必须被取消边界事件捕获。取消边界事件会取消事务,并触发补偿机制;取消结束事件显示为标准的结束事件(粗边圆圈),包含一个取消图标。 取消图标是全黑的,表示触发语法。
事例图同“取消边界事件”(即:3.4.2.5.8 取消边界事件)
终止结束事件
当到达终止结束事件(terminate end event)时,当前的流程实例或子流程会被终止。也就是说,当执行到达终止结束事件时,会判断第一个范围(流程或子流程)并终止它。请注意,子流程可以是嵌入式子流程、调用活动、事件子流程或事务子流程。有一条通用规则:当存在多实例的调用过程或嵌入式子流程时,只会终止一个实例,其他的实例与流程实例不会受影响。
可以添加一个终止全部的可选属性。勾选时无论该终止结束事件在流程定义中的位置,也无论它是否在子流程(甚至是嵌套子流程)中,都会终止(根)流程实例。
终止结束事件用内部有一个全黑圆的标准结束事件(粗圆圈)表示。
图3.4.2.6.18-1 终止结束事件
图中财务报销单提交给财务部,A财务与B财务并行,如果A财务领取该报销单,流程到达终止任务事件时,流程结束,B财务将不能再领取该报销单,办理报销业务。
子流程
子流程下的组件有:内嵌子流程、事件子流程、事务子流程、外部子流程、即席子流程。
图3.4.2.6-1 子流程
内嵌子流程
内嵌的子流程(EmbeddedSub-Process):子流程是包含其他的活动、网关、事件等的活动。其本身构成一个流程,并作为更大流程的一部分。子流程完全在父流程中定义(这就是为什么经常被称作嵌入式子流程)。
子流程有两个主要的使用场景:
子流程可以分层建模。很多建模工具都可以折叠子流程,隐藏子流程的所有细节,而只显示业务流程的高层端到端总览。
子流程会创建新的事件范围。在子流程执行中抛出的事件可以通过子流程边界上的边界事件捕获,为该事件创建了限制在子流程内的范围。
使用子流程也要注意以下几点:
子流程只能有一个空启动事件,而不允许有其他类型的启动事件。请注意BPMN 2.0规范允许省略子流程的启动与结束事件,但目前Flowable的实现尚不支持省略。
顺序流不能跨越子流程边界。
示例:
图3.4.2.6.1-1 内嵌子流程
事件子流程
事件子流程(Event Sub-Process):事件子流程是BPMN 2.0新定义的。事件子流程是通过事件触发的子流程。可以在流程级别,或者任何子流程级别,添加事件子流程。用于触发事件子流程的事件,使用启动事件进行配置。因此可知,不能在事件子流程中使用空启动事件。事件子流程可以通过消息事件、错误事件、信号时间、定时器事件或补偿事件等触发。在事件子流程的宿主范围(流程实例或子流程)创建时,创建对启动事件的订阅。当该范围销毁时,删除订阅。
事件子流程可以是中断或不中断的。中断的子流程将取消当前范围内的任何执行。非中断的事件子流程将创建新的并行执行。宿主范围内的每个活动,只能触发一个中断事件子流程,而非中断事件子流程可以多次触发。子流程是否是中断的,通过触发事件子流程的启动事件配置。
事件子流程不能有任何入口或出口顺序流。事件子流程是由事件触发的,因此入口顺序流不合逻辑。当事件子流程结束时,要么同时结束当前范围(中断事件子流程的情况),要么是非中断子流程创建的并行执行结束。
示例:
图3.4.2.6.2-1 事件子流程
事务子流程
事务子流程(transaction sub-process)是一种嵌入式子流程,用于将多个活动组织在一个事务里。事务是工作的逻辑单元,可以组织一组独立活动,使得它们可以一起成功或失败。
示例:
图3.4.2.6.3-1 事务子流程
外部子流程
bpmn 2.0区分了嵌入式子流程和外部(调用活动)子流程。两者看起来很相似,单从概念上讲,当流程抵达节点时,两者都会调用子流程。
不同点是外部子流程会引用流程定义以外的一个流程,被引用的子流程会内嵌到原始的流程定义中。使用外部引用子流程的主要场景是需要重用流程定义, 这个流程定义需要被很多其他流程定义调用的时候。
当流程执行到调用节点,会创建一个新分支,它是到达调用节点的流程的分支。这个分支会用来执行子流程,默认创建并行子流程,就像一个普通的流程。 上级流程会等待子流程完成,然后才会继续向下执行。
外部子流程也可以向子流程传递与接收流程变量。数据将在子流程启动时复制到子流程,并在其结束时复制回主流程。
示例:
图3.4.2.6.4-1 事件子流程
引用的流程:
图3.4.2.6.4-1 事件子流程
即席子流程
即席子流程(Ad-Hoc Sub-Process),子流程内部的任务不需要确定顺序关系,由任务执行者根据实际情况自己决定执行顺序。
工作流步骤
工作流步骤的组件有:任务、问题、提交、请求、核准、拒绝、协议、分析、会议、电话、表演、作者、研究、采访。
图3.4.2.7-1 工作流步骤
工作流对象
工作流对象的组件有:人、人-半身人、顾客、用户、产品、文档、箱、CD、CEO、CFO、CIO、COO、板条箱、竞争者、文档集、折叠、打开、邮件、演示文稿、电子表格、USB、供应商、网页。
图3.4.2.8-1 工作流对象
工作区
工作区分为流程图、甘特图、校验三个部分。
图3.5-1 工作区
流程图
当工作区选择“流程图”时,可在此区域设计展示流程图。
图3.5.1-1 流程图
甘特图
甘特图:通过条状图来显示项目,进度,和其他时间相关的系统进展的内在关系随着时间进展的情况。
点击流程名称下方甘特图图标,进入甘特图设置页面。
图3.5.2-1 甘特图
在流程图的计划设置中对流程的工期、开始时间、结束时间、启动前置、前置任务进行设置。
图3.5.2-2 甘特图
在甘特图页面也可以对对流程的工期、开始时间、结束时间、启动前置、前置任务进行设置。
图3.5.2-3 甘特图
甘特图右侧的三个图标分别表示日期按月、周、天计算。
例如:选择日期按周计算
图3.5.2-4 甘特图
校验
流程制作完毕后,点击顶部菜单栏“流程校验”,对流程进行校验,如果流程没问题,会在下方校验区提示“校验成功!”,如果流程有问题,会在下方校验区报出红色错误信息。
图3.5.3-1 校验
图3.5.3-2 校验
操作栏
属性
选项某个元件后,可看到“属性”选项卡中有相应可配置的信息。
图3.6.1-1 属性
具体操作参考3.4.2.2.1 用户任务。
计划
计划下有工期、开始时间、结束时间、启用变量、前置任务等设置。计划和设计区域右下角的甘特图是联动的。
图3.6.2-1 计划
变量
显示当前流程文件中涉及的变量信息。变量包括自定义变量、内置参数、系统变量三个部分。
图3.6.3-1 变量
自定义变量
点击顶部菜单栏“变量”,弹出“流程变量设置”窗口,并添加变量,添加之后,自定义变量中会显示该变量。
图3.6.3.1-1 自定义变量
内置参数
内置参数由processInstanceId(示例id)、processStarter(流程启动人id)、processStarterName(流程发起人姓名)、dapAudit四部分组成。
图3.6.3.2-1 内置参数
示例:
图3.6.3.2-2 内置参数
该流程中内置参数设置:
图3.6.3.2-3 内置参数
系统变量
系统变量是由系统Session、数据库查询、系统常量、系统地址四部分构成。
图3.6.3.3-1 系统变量
流程管理
主界面
点击系统管理配置服务,界面可分为两大部分:第一部分为主菜单,第二部分为工作界面。
图4.1-1 主界面
图4.1-2 主菜单
主菜单的右上方按钮可以显示隐藏主菜单,中间部分为整体BPM的主要菜单选项,单击菜单项则在右边的工作界面中显示出所选中的工作界面以及信息。
图4.1-3 待办任务
工作界面的最上边是标签头,在工作界面左侧的主菜单中每选择一个不同的菜单项,均会在工作界面中新打开一个标签页,点击标签页可以进入到相对应的工作界面中。工作界面默认显示待办任务界面。
图4.1-4 流程定义
我的任务
待办任务
打开“待办任务”选项卡后,可以看到此页面分为三个区域:“查询条件”、“待办任务”、“组办任务”。
图4.2.1-1待办任务
查询条件
“查询条件”区域:
用户可以根据列出来的条件进行筛选查询数据(如:流程名称、任务名称、创建时间、流程启动人、流程优先级、流程类别、到期时间等等)并将符合条件的数据展示出来。例如:在流程名称中搜索关键字“网关”,点击“查询”,搜索结果为流程名称中包含“网关”二字的流程,如图所示:
图4.2.1.1-1查询条件
待办任务
“待办任务”区域:
展示流程名称、实例ID、任务ID、任务名称、任务创建时间、流程启动人、流程启动时间、上一个执行人、委办人、、优先级、分类、到期时间、操作(办理、未办、流程图)以及分页信息。
图4.2.1.2-1待办任务
其中操作列包括办理、未办、流程图三个部分。
- 办理:如果该任务节点没有设置组件,点击“办理”之后,直接提示“任务已完成”。
图4.2.1.2-2 办理
如果该任务节点设置了组件,点击“办理”之后,会跳转到组件页面。
例如:下图“简单请假流程”连接自由网页组件,点击“办理”后,自动跳转到自由网页页面。
图4.2.1.2-3 平台组件
图4.2.1.2-4 办理
图4.2.1.2-5 简单请加流程
- 委办:点击“委办”,弹出“选择委办人”页面,在“选择委办人”页面,可以对用户进行设置。该任务委托给某用户之后,该用户就有权限领取并办理此任务,如图所示:
图4.2.1.2-6 委办
具体操作可参考3.4.2.2.1.2 办理人。
流程图:点击流程图,可以查看该流程的完成情况。
图4.2.1.2-7 流程图
流程图左上角有三个标签页,分别表示流程图、用户视图、甘特图,默认流程图页面,如图所示:
图4.2.1.2-8 流程图
- 流程图:图中绿色表示已完成任务,橙色表示下一个任务,蓝色表示未完成任务。
图4.2.1.2-9 流程图
- 用户视图:点击用户视图图标,流程图会跳转到用户视图界面,如下图所示:
图4.2.1.2-10 用户视图
用户视图中,如果流程较多,会出现“已办任务”、“待办任务”,将相应的任务隐藏其中,双击“已办任务”、“待办任务”后,会显示隐藏的任务。用户视图右侧显示流程信息(流程名称/流程ID/创建人/状态/开始时间/结束时间)、活动列表(活动/操作人/状态/开始时间/结束时间)
图4.2.1.2-11 用户视图
- 甘特图:点击甘特图图标,弹出“甘特图”窗口。甘特图中显示任务的名称、开始时间、结束时间、工期、执行模式以及流程条状图。
图4.2.1.2-12 甘特图
组办任务
“组办任务”区域:
展示流程名称、实例ID、任务ID、任务名称、任务创建时间、流程启动人、流程启动时间、上一个执行人、优先级、分类、到期时间、操作(办理、领取、流程图)以及分页信息。
图4.2.1.3-1 组办任务
“待办任务”区域与“组办任务”区域的区别在于:当前用户是此任务的唯一办理人时,此流程实例会在“待办任务”区域显示,若办理人是一个组织,且当前用户仅为此任务办理人的其中之一,则此流程实例会在“组办任务”中展示,且需用户点击“领取”才能进行办理此任务。
例如:创建者将任务提交给财务部办理,且财务部有三个人,这是就会形成组办任务。
组办任务操作列包括办理、领取、流程图三个部分。
办理操作具体操作参考“4.2.1.3 待办任务”。
领取:在组办任务中点击“领取”后,该任务在待办任务中出现,在待办任务中点击“完成”,或者直接点击“办理”,办理此任务即可。
图4.2.1.3-2 领取
图4.2.1.3-3 待办任务
- 流程图操作具体操作参考4.2.1.2 待办任务。
已办任务
打开“已办任务”选项卡后,可以看到此页面分为二个区域:“查询条件”、“已办任务”。
图4.2.2-1 已办任务
查询条件
“查询条件”区域:用户可以根据列出来的条件进行筛选查询数据(如:流程名称、任务名称、创建时间、启动人、流程优先级、流程类别、到期日期等等)并将符合条件的数据展示出来。例如:在任务名称中输入关键字“网关”,点击“查询”二字,搜索结果为任务名称中包含“网关”二字的流程:
图4.2.2.1-1 查询条件
已办任务
“已办任务区域:展示流程名称、实例ID、任务ID、任务名称、开始时间、结束时间、流程启动人、流程启动时间、优先级、分类、到期时间、流程图、撤回以及分页信息。
图4.2.2.2-1 已办任务
在已办任务中,点击右侧“流程图”,可以查看该流程的流程图、用户视图、甘特图。
委办任务
打开“委办任务”选项卡后,可以看到此页面分为二个区域:“查询条件”、“委办任务”。
图4.2.3-1 委办任务
查询条件
“查询条件”区域:用户可以根据列出来的条件进行筛选查询数据(如:流程名称、任务名称、创建时间、启动人流程优先级、流程分类、到期日期、委办发起人、委办受理人、委办状态等等)并将符合条件的数据展示出来。例如:在流程名称框中输入“会签”,点击“查询”,搜索结果都是流程名称含有会签的流程。
图4.2.3.1-1 查询条件
委办任务
“委办任务”区域:展示流程名称、实例ID、任务ID、任务名称、委办创建时间、流程启动人、任务创建时间、优先级、分类、到期时间、委办发起人、委办受理人、委办状态以及流程图。
图4.2.3.2-1 委办任务
在委办任务中,点击右侧“流程图”,可以查看该流程的流程图、用户视图、甘特图。
流程管理
流程定义
打开“流程定义”选项卡后,可以看到此页面分为三个区域:“查询条件”、“流程定义”、“流程版本管理”。
图4.3.1-1 流程定义
查询条件
“查询条件”区域:用户可以根据列出来的条件进行筛选查询数据(如:流程名称、流程标识、创建人、创建时间等等)并将符合条件的数据展示出来。例如:在流程标识框中输入“流程”,点击“查询”,搜索结果为流程标识含有“流程”的流程。
图4.3.1.1-1 查询条件
流程定义
“流程定义”区域:展示流程名称、流程标识、流程创建人、创建时间、修改时间、流程描述、分类、状态、操作(授权、授权(所有人)、测试-发布、查看版本)以及分页信息。还可进行“新增/编辑/删除”流程的操作。
图4.3.1.2-1 流程定义
- 新增:点击流程定义中的“新增”,自动跳转到流程编辑页面,可以在该页面设计流程。
图4.3.1.2-2 新增
- 编辑:在流程定义中,选中一个流程后(在流程左侧正方形处打钩),点击编辑,自动跳转到流程编辑页面,如图所示:
图4.3.1.2-3 编辑
图4.3.1.2-4 编辑
- 删除:在流程定义中,选中一个流程,点击“删除”,弹出警告“确定要删除吗?”,点击“确定”,该流程会在流程定义中消失。
图4.3.1.2-5 删除
- 授权:授权按钮可配置一个或多个办理人员进行授权操作。
授权弹窗中有三个标签,分别为:角色、部门、人员,管理员可通过勾选复选框来选择所授权的人员与机构,单击“确定”完成授权工作,如下图所示:
图4.3.1.2-6 授权
图4.3.1.2-7 授权
授权的目的仅为了授权给某些用户拥有启动该流程的权限;
管理员不受此权限控制。
- 授权(所有人):点击授权(所有人)按钮,弹出“授权成功”提示,此时按钮也会同时更新为“已授权”按钮。
图4.3.1.2-8 授权(所有人)
注:授权的目的是授权给某些用户使其拥有对本条流程定义及其流程版本管理操作的权限;管理员不受此权限控制。
- 测试-发布:针对未测试-发布的流程,点击“操作”列的“测试”按钮对当前行的流程进行测试,弹出“测试成功”提示,此时流程状态会更新为“已测试未发布”,按钮也会同时更新为“发布”按钮。
图4.3.1.2-9 测试
这里的测试和设计页面工具栏的流程校验功能一样,只是这里只返回状态,如果校验失败是不展示失败信息的。
点击“发布”按钮对当前行的流程进行发布,弹出“部署成功”提示,此时流程状态会更新为“已发布”,同时生成此流程的一个流程版本。
图4.3.1.2-10 发布
注:若此流程已发布,那么用户每触发一次“保存”或“另存为”操作则会更新“流程管理”下“流程定义”的流程状态(由“已发布”回退至待测试-发布状态)。
- 查看版本:点击流程定义“查看版本”,下面的“流程版本管理”区域则会列出此流程的发布后生成的所有版本,如下图所示:
图4.3.1.2-11 查看版本
流程版本管理
“流程版本管理”区域:展示流程名称、流程标识、发布人、发布时间、流程描述、流程版本、分类、实例总数、操作(启动实例、删除版本、删除实例、流程图)以及分页信息。还可进行“批量删除版本/批量删除实例”操作。
图4.3.1.3-1 流程版本管理
批量删除版本
如果该流程没有正在运行的实例,选择多个流程,点击“批量删除版本”,弹出“确定要删除吗?”提示,点击“确定”后,这些流程在流程版本管理中被删除,弹出“删除成功”提示。
如果该流程中存在正在运行的实例,选择多个流程,点击“批量删除版本”,弹出“请先删除正在运行实例”提示,此种情况下先删除这些流程的实例,在进行“批量删除版本”。
图4.3.1.3-2 批量删除版本
图4.3.1.3-3 批量删除版本
图4.3.1.3-4 批量删除实例
图4.3.1.3-5 批量删除版本
- 批量删除实例
在流程版本管理中,选择多个流程,点击“批量删除实例”,弹出“确定要删除实例吗(删除实例包括正在运行的实例)”,点击“确定”,这些流程的实例总数都变为0,并提示“删除成功”。
图4.3.1.3-6 批量删除实例
图4.3.1.3-7 批量删除实例
- 启动实例
在流程版本管理中,点击“启动实例”,弹出“流程实例简单请假流程启动成功”提示,并且在待办任务中存在该流程。
图4.3.1.3-8 启动实例
图4.3.1.3-9 待办任务
删除版本
如果该流程中没有实例,点击“删除版本”,弹出“确定删除版本订单发货”,点击确定,该流程会在流程版本管理中消失。
图4.3.1.3-10 删除版本
- 如果该流程中有实例,点击“删除版本”,弹出“请先删除流程名称:简单请假流程的实例”,此时,先删除该流程的实例,再删除该流程的版本。
图4.3.1.3-11 删除版本
图4.3.1.3-12 删除实例
图4.3.1.3-13 删除实例
- 删除实例
在流程版本管理中,点击“删除实例”,弹出“确定要删除实例(删除实例包括正在进行实例)”,点击“确定”后,该流程的实例总数变为0,并提示“删除成功”。
图4.3.1.3-14 删除实例
图4.3.1.3-15 删除实例
流程图:点击流程版本管理的流程图,进入流程图页面。流程图页面包括流程图、甘特图两个部分。
流程图:点击流程图图标,默认进入流程图界面,如下图所示:
图4.3.1.3-16 流程图
- 甘特图:点击甘特图图标,弹出“甘特图”窗口。甘特图中显示任务的名称、开始时间、结束时间、工期、执行模式以及流程条状图。
图4.3.1.3-17 甘特图
流程启动
打开“流程启动”选项卡后,可以看到此页面分为三个区域:“查询条件”、“流程启动”、“我的流程实例”。
图4.3.2-1 流程启动
查询条件
“查询条件”区域:用户可以根据列出来的条件进行筛选查询数据(如:流程名称、状态(全部/进行中/结束/已停止)、创建时间等等)并将符合条件的数据展示出来。例如:在查询条件状态栏中选择“进行中”,点击“确定”,搜索结果为正在进行的流程。
图4.3.2.1-1 查询条件
流程启动
“流程启动”区域:展示流程名称、流程ID、流程标识、流程描述、分类、流程版本、实例总数、操作(启动流程、查看实例)以及分页信息。
图4.3.2.2-1 流程启动
注:流程启动只能启动最新版本的流程定义。
- 启动流程:在流程启动中点击“启动流程”,弹出“启动流程实例“简单请假流程”成功”,并且待办任务中有该流程的存在。
图4.3.2.2-2 启动流程
图4.3.2.2-3 流程启动
- 查看实例:在流程启动中,点击“查看实例”,我的流程实例中会出现该流程的实例情况。
图4.3.2.2-4 查看实例
我的流程实例
“我的流程实例”区域:展示流程名称、流程ID、实例ID、流程标识、状态、分类、开始时间、结束时间、操作(停止流程、删除、流程图)以及分页信息。还可进行“批量删除/批量停止”流程的操作。
图4.3.2.3-1 我的流程实例
- 批量删除
在我的流程实例中,选择多个流程实例,点击“批量删除”,弹出“确定要删除吗?”提示,点击“确定”后,这些流程实例在我的流程实例中消失,并提示“删除成功”。
图4.3.2.3-2 批量删除
- 批量停止
在我的流程实例中,选择多个流程实例,点击“批量停止”,弹出“确定要停止么?”提示,点击“确定”后,这些流程实例在我的流程实例中状态为“已停止”,并提示“停止实例成功!”。
图4.3.2.3-3 批量停止
图4.3.2.3-4 批量停止
- 停止流程
在我的流程实例中,选择一个流程实例,点击“停止流程”,弹出“确定要停止吗?”提示,点击“确定”后,该流程实例在我的流程实例中状态为“已停止”,并提示“流程实例简单请假流程停止实例成功!”。
图4.3.2.3-4 停止流程
图4.3.2.3-5 停止流程
- 删除
在我的流程实例中,选择一个流程实例,点击“删除”,弹出“确定要删除吗?”提示,点击“确定”后,该流程实例在我的流程实例中消失,并提示“流程实例“请假流程”删除成功!”。
图4.3.2.3-6 删除
- 流程图
流程图分为流程图、用户视图、甘特图、编辑四个部分。
图4.3.2.3-7 流程图
流程图、用户视图、甘特图具体操作请参考4.2.1.2 待办任务。
编辑
编辑:点击编辑图标,弹出“编辑”窗口。在编辑页面,可以对流程进行编辑。
图4.3.2.3-8 编辑
图4.3.2.3-9 编辑
注:在我的流程实例中,点击“流程图”,在编辑页面可以对会签任务进行加签、减签;只有未办的多实例流程才可以进行加签减签操作。
加签:
将光标移动到需要加签的任务节点,该任务后方会出现“加签”二字。
图4.3.2.3-10 加签
- 点击“加签”二字,弹出“选中办理人”页面,选择需要添加的组织或者用户,点击“确定”。
图4.3.2.3-11 加签
- 加签后,该任务节点后面会出现“后加签”字样,点击“后加签”,会显示后来加签的组织或者用户。
图4.3.2.3-12 加签
流程设计
点击流程设计,弹出流程设计窗口。
图4.3.3-11 流程设计
流程控制
打开“流程控制”选项卡后,可以看到此页面分为二个区域:“查询条件”、“流程监控”。
流程监控可以查询出所有的流程实例(我的或者我参与过的,管理员可以查看所有的流程实例),可以看到某流程实例运行到的任务节点(即流程进度)。
图4.3.4-1 流程监控
查询条件
“查询条件”区域:用户可以根据列出来的条件进行筛选查询数据(如:流程名称、流程标识、流程启动人、流程状态、创建时间等等)并将符合条件的数据展示出来。例如:查询创建时间为2019年10月01日~2019年10月10日的流程。
图4.3.4.1-1 查询条件
流程监控
“流程监控”区域:展示流程名称、流程ID、实例ID、流程标识、流程启动人、状态、分类、开始时间、结束时间、操作(停止流程、删除流程、流程图)以及分页信息。
图4.3.4.2-1 流程监控
批量删除:详细介绍见4.3.2.4 我的流程实例-批量删除。
批量停止:详细介绍见4.3.2.4 我的流程实例-批量停止。
流程图:详细介绍见4.2.1.2 待办任务-流程图。
停止流程:详细介绍见4.3.2.4 我的流程实例-停止流程。
删除流程:详细介绍见4.3.2.4 我的流程实例-删除流程。
系统管理
该功能提供给系统管理员使用。
服务配置
打开“服务配置”选项卡后,可以看到此页面分为二个区域:“查询条件”、“服务配置”。在服务配置中可以查看和修改当前服务的配置,修改完毕后单击保存进行和存储,在重启服务后生效。
图4.4.1-1 服务配置
- 新增
点击“新增”,弹出“服务器配置”页面,填写相应的信息,点击“确定”提示“保存成功”。
图4.4.1-2 新增
图4.4.1-3 新增
- 删除
勾选所要删除的配置,点击“删除”,弹出提示框“确定要删除吗?”,点击“是”,提示“删除成功”。
图4.4.1-4 删除
图4.4.1-5 删除
- 编辑
点击“编辑”,可以对邮件服务器配置进行编辑,信息编辑完毕后,点击“确定”,弹出提示“保存成功”。
图4.4.1-6 编辑
图4.4.1-7 编辑
组件注册
打开“组件注册”选项卡后,可以看到此页面分为二个区域:“查询条件”、“注册组件”。还可进行“新增/删除/编辑”组件的操作。
图4.4.2-1 组件注册
- 新增
点击“新增”,弹出“新增注册组件”,填写组件相关信息,点击“确定”,即可新增组件。
图4.4.2-2 新增
- 删除
点击“删除”,弹出“确定要删除已选组件”,点击“确定”,即可删除组件。
图4.4.2-3 删除
图4.4.2-4 删除
- 编辑
点击“编辑”,弹出组件相关信息,编辑后,点击“保存”即可。
图4.4.2-5 编辑
图4.4.2-6 编辑
全局信号
打开“全局信号”选项卡后,可以看到此页面分为二个区域:“查询条件”、“全局信号”。还可进行“新增/删除”流程的操作。
图4.4.3-1 全局信号
- 新增
点击“新增”图标,弹出“新增全局信号”页面,填写名称和备注,保存即可。
图4.4.3-2 新增
- 删除
勾选所要删除的信号,点击“删除”图标,弹出“确定要删除已选中引用信号?”,点击确定,弹出“删除成功”,即可删除信号。
图4.4.3-3 删除
- 引用信息
点击“引用信息”,可以查看引用的“信号名称/流程名称/创建人/创建时间”等信息。
图4.4.3-4 引用信息
- 编辑
点击“编辑”,可对选中的全局信号的“名称/备注”进行编辑,编辑完毕后,点击“确定”即可。
图4.4.3-5 编辑
功能示例
请假流程(排他网关)
业务需求
图5.1.1-1业务需求
业务需求:
请假天数days\<=2 时,请假需要本部门经理、人力资源部门经理审核。
请假天数days>2时,请假需要本部门经理审核完后,提交给总经理、人力资源部门经理审核。
经理、总经理、人力资源部门经理都可以同意或驳回请假申请,同意进入下一流程节点,驳回则回到“请假申请”节点。
请假申请通过审批后,发送邮件给流程发起人。
前置条件
组织条件:
在RSM上创建相应的组织结构,如下图所示:
具体操作请参考资源管理(RSM)用户手册。
图5.1.2-1 组织结构
流程设计
设计简单流程图
- 新建文件
点击“资源/文件”右侧“新建文件”图标,新建流程文件。
图5.1.3.1-1 新建文件
- 元件设置
从元件库拖取启动、用户任务、排他网关、结束元件,将元件之间相互连接,设计一个简单的请假流程,如下图所示:
图5.1.3.1-2 元件设置
选中“用户任务1”元件,在其右侧属性列中修改“任务名称”,其他元件的“任务名称”修改同理。
图5.1.3.1-3 任务名称
图5.1.3.1-4 任务名称
自由网页页面配置
- 新建自由网页页面
点击“项目”工具栏新建文件图标,弹出“选择模板”窗口,默认“空白模板”,点击“确定”,新建文件成功。
图5.1.3.2-1 新建页面
图5.1.3.2-2 新建页面
- 元件设置
从“元件库”中拖取标签、文本框、按钮、矩形等元件,制作简单的自由网页页面,如下图所示:
图5.1.3.2-3 元件设置
修改“标签1”元件的“文本内容”为“请假申请”,修改“文本框2”元件的“标签名称”为“姓名”,其他元件同理。
具体操作参考自由网页(FWP)用户手册。
图5.1.3.2-4 元件设置
图5.1.3.2-5 元件设置
图5.1.3.2-6 元件设置
- 变量设置
点击顶部工具栏“变量”,弹出“变量列表”窗口,点击“添加”,添加变量,并输入变量名称和默认值。
图5.1.3.2-7 变量设置
图5.1.3.2-8 变量设置
将各个变量输入相对应的文本框的“文本内容”中。
图5.1.3.2-9 变量设置
- 设置“请假提交”按钮的事件
选中“请假提交”按钮,在其右侧属性中点击事件,设置“请假提交”按钮的“变量赋值”、“任务流转”事件。
具体操作参考自由网页(FWP)用户手册。
图5.1.3.2-10 事件设置
选中“请假提交”按钮,在其右侧属性中点击事件“鼠标点击时”,弹出“用例编辑”窗口。
图5.1.3.2-11 事件设置
“用例编辑”窗口中选择“变量赋值”用例,在配置列中勾选变量“姓名”,设置文本中选择变量“姓名”相对应的元件“文本框2”,双击“文本框2”,其他变量设置方法同理。
图5.1.3.2-12 事件设置
图5.1.3.2-13 事件设置
图5.1.3.2-14 事件设置
图5.1.3.2-15 事件设置
“用例编辑”窗口中选择“任务流转”用例,点击“确定”。
图5.1.3.2-16 事件设置
- 设置“同意”和“驳回”按钮事件
选中“同意”按钮,在其右侧属性中点击事件“鼠标点击时”,弹出“用例编辑”窗口。
图5.1.3.2-17 事件设置
“用例编辑”窗口中选择“变量赋值”用例,在配置列中勾选变量“approve”,设置文本中输入数字“1”,将数字“1”的值赋值给变量“approve”,点击“确定”。
图5.1.3.2-18 事件设置
图5.1.3.2-19 事件设置
选中“驳回”按钮,设置“驳回”按钮事件;“用例编辑”窗口中选择“变量赋值”用例,在配置列中勾选变量“approve”,设置文本中输入数字“0”,将数字“0”的值赋值给变量“approve”,点击“确定”。
图5.1.3.2-20 事件设置
图5.1.3.2-21 事件设置
- 保存文件
点击顶部工具栏“保存”,弹出“新建文件”窗口,选择文件保存路径,输入文件名称。
图5.1.3.2-22 保存
BPM页面配置
- 办理人设置
选中“请假申请”任务节点,点击其属性“办理人”省略符,弹出“选中办理人”窗口,选中“用户”,勾选组织“分公司”和“包含子部门”、点击“添加”,“办理人”中出现“分公司”,点击“确定”。
图5.1.3.3-1 办理人
分别设置“部门经理审批”、“总经理审批”、“人力资源审批”任务的办理人为“发起人-本级部门经理”、“发起人-上一级总经理”、“人力资源部门-王五”,如下图所示:
图5.1.3.3-2 办理人
图5.1.3.3-3 办理人
图5.1.3.3-4 办理人
- 变量设置
点击顶部工具条“变量”,弹出“流程变量设置”窗口,点击“添加”,添加变量,填写变量名称和默认值,点击“确定”。
图5.1.3.3-5 变量设置
- 组件设置
选中“请假申请”任务节点,在其属性栏“平台组件”中选择“自由网页”。
图5.1.3.3-6 平台组件
选中“请假申请”任务节点,点击其右侧属性“组件设置”框右侧省略符,弹出“引用表单”窗口,选择“请假申请与审批”文件,点击“确定”。
图5.1.3.3-7 组件设置
“部门经理审批”、“总经理审批”、“人力资源审批”任务“组件设置”需要对引用表单的变量进行设置。
选中“部门经理审批”任务节点,在其属性栏“平台组件”中选择“自由网页”。
图5.1.3.3-8 平台组件
选中“请假申请”任务节点,点击“组件设置”框右侧省略符,弹出“引用表单”窗口,选择“请假申请与审批”文件;在“勾选参数”中,勾选变量“姓名”,点击右侧下拉框,双击全局变量“姓名”,点击“确定”。
“总经理审批”、“人力资源审批”任务节点的“平台组件”和“组件设置”同理。
图5.1.3.3-9 组件设置
图5.1.3.3-10 引用表单
- 网关执行条件设置
“驳回”顺序流的执行条件表达式均为“approve!=1”,“同意”顺序流的执行条件根据需求来设置。
选中第一个“排他网关”与“请假申请”任务节点之间的连线,在其右侧属性中修改“顺序流名称”为“驳回”,点击“执行条件”省略符,弹出“条件表达式”页面,在“表达式”中输入“approve!=1”,点击“确定”。
图5.1.3.3-11 执行条件
选中第一个“排他网关”与“总经理审批”任务节点之间的连线,在其右侧属性中修改“顺序流名称”为“同意”,点击“执行条件”省略符,弹出“条件表达式”页面,在“表达式”中输入“days>2&&approve==1”,点击“确定”。
其他顺序流设置如下图所示:
图5.1.3.3-12 执行条件
图5.1.3.3-13 执行条件
图5.1.3.3-14 执行条件
图5.1.3.3-15 执行条件
- 邮件设置
点击“邮件任务”元件右侧属性“邮件内容”,弹出“邮件内容”窗口。
图5.1.3.3-16 邮件内容
点击“收件人”右侧省略符,弹出“收件选中办理人”窗口,选中“变量——流程发起人”,点击“添加”,“办理人”列出现“流程发起人”后,点击“确定”。
图5.1.3.3-17 邮件选中办理人
填写“邮件主题”为“请假申请”,点击“确定”。
图5.1.3.3-18 邮件内容
- 保存文件
点击顶部工具条“保存”,选择路径,输入流程标识和流程名称,点击“确定”。
图5.1.3.3-19 保存
流程校验
文件保存时,自动校验,校验区弹出“校验成功!”字样。
图5.1.4-1 流程校验
流程授权与发布
- 点击顶部工具条“流程管理”,进入“BPM主菜单页面”。
图5.1.5-1 流程管理
图5.1.5-2 主菜单
- 点击左侧“流程管理”下“流程定义”,进入“流程定义”页面。
图5.1.5-3 流程定义
- 授权
在操作列中点击“授权”,勾选所要授权的用户“分公司”和“包含子部门”,点击“添加”,“设置授权”中出现“分公司”,点击“确定”。
图5.1.5-4 授权
- 测试与发布
在操作列中,点击“测试”,“测试”字样变成“发布”,并提示“测试成功”,点击“发布”,“发布”字样变成“已发布”,并提示“部署成功”。
图5.1.5-5 测试
图5.1.5-6 发布
流程启动
- 点击BPM主界面信息栏中的登录信息,选择“注销”,页面自动跳转到登录界面,输入“张三”用户的信息,账户切换到“张三”用户。
图5.1.6-1 登录界面
图5.1.6-2 登录信息
- 点击顶部工具栏“流程管理”,进入“BPM主菜单”页面,在“流程定义”页面,找到“请假申请与审批”流程,在操作列中,点击“查看版本”,点击流程版本管理操作列中的“启动实例”,即可启动流程。
图5.1.6-3 查看版本
图5.1.6-4 启动实例
流程运行
- 流程启动后,在“张三”用户的组办任务中出现该流程,点击“领取”后,提示“认领成功”,该流程存在于待办任务中。
图5.1.7-1 组办任务
图5.1.7-2 领取
- 在待办任务的操作列中,点击“办理”,页面自动跳转到自由网页页面中。
图5.1.7-3办理
输入“张三”用户的请假信息,“请假天数=5”,点击“请假提交”按钮,页面跳转到BPM主材单页面,该任务节点办理结束,该流程在“张三”用户的待办任务中消失,流程自动跳转到下一个任务节点。
图5.1.7-4办理
图5.1.7-5 待办任务
- 部门经理审批
点击顶部信息栏登录信息,注销当前用户,切换到下一节点办理人本级部门经理“李四”账户。
图5.1.7-6 登录界面
此时“李四”用户的组办任务出现“请假申请与审批”流程,点击“领取”后,提示“认领成功”,该流程存在于待办任务中。
图5.1.7-6 组办任务
在待办任务的操作列中,点击“办理”,页面自动跳转到自由网页页面中。
图5.1.7-7 办理
如果同意“张三”的请假申请,点击“同意”按钮,流程自动运行“总经理审批”任务节点;如果不同意“张三”的请假申请,点击“驳回”按钮,流程自动运行“请假审批”任务节点,直到“部门经理——李四”“张三”的请假申请后,流程才会运行“总经理审批”任务节点。
图5.1.7-8 办理
该任务节点办理结束后,该流程在“李四”用户的待办任务中消失。
图5.1.7-9 待办任务
- 总经理审批
点击顶部信息栏登录信息,注销当前用户,切换到下一节点办理人“张三上一级总经理”——“乔明”用户账号;在组办任务中领取任务,在办理该任务时,选择驳回“张三”的请假申请。
图5.1.7-10 组办任务
图5.1.7-11 领取
图5.1.7-12 办理
图5.1.7-13 办理
总经理驳回“张三”的请假申请后,流程返回到“请假申请”任务节点,“张三”重新提交请假申请单,重复“部门经理审批”和“总经理审批”任务,直至部门经理和总经理都批准“张三”的请假申请,流程进入“人力资源审批”任务节点。
图5.1.7-14 组办任务
图5.1.7-15 组办任务
图5.1.7-16 认领
如果“人力资源部门—王五”批准“张三”的请假申请后,则会以邮件的方式通知“张三”;“人力资源部门—王五”驳回“张三”的请假流程,则流程返回到“请假申请”任务节点。
图5.1.7-17 办理
图5.1.7-18 待办任务
图5.1.7-19 邮件
流程结束
流程运行结束后,可在平台管理员账号下查看该流程的流程名称、实例ID、任务ID等信息。
图5.1.7-20 已办任务
订单发货流程(信号启动事件)
业务需求
图5.2.1-1 业务需求
业务需求:
买家在淘宝下单,卖家在收到订单后,向快递人员抛出发货信号,快递人员收到发货信号后,揽收快递。
前置条件
组织结构:买家、卖家、快递三个部分,具体操作请参考(统一)资源管理(RSM)用户手册。
图5.2.2-1 组织结构
流程设计
设计简单流程图
- 新建流程文件
点击“资源/文件”右侧“新建文件”图标,新建“流程1”文件。
图5.2.3.1-1 新建文件
- 元件设置
拖取“启动”、“用户任务、“信号抛出、“结束”元件,制作一个简单的主流程,并修改各个元件的“任务名称”。
图5.2.3.1-2 简单流程
图5.2.3.1-3 任务名称
图5.2.3.1-4 简单流程
拖取“事件子流程”、“信号启动”、“用户任务”“结束”元件,并修改各个元件的“任务名称”。
图5.2.3.1-5 简单流程
自由网页页面配置
- 新建自由网页文件
点击“项目”工具栏新建文件图标,弹出“选择模板”窗口,默认“空白模板”,点击“确定”,新建文件成功。
图5.2.3.2-1 新建文件
- 元件设置
在页面上拖取标签、文本框、按钮、矩形等元件。
具体操作参考自由网页(FWP)用户手册。
图5.2.3.2-2 元件设置
修改标签1的“文本内容”为“买家订单信息”,并在顶部工具栏中修改标签1的“字体”;修改文本框2的“标签内容”为“颜色”;其他元件同理,具体操作参考自由网页(FWP)用户手册。
图5.2.3.2-3 元件设置
图5.2.3.2-4 元件设置
- 变量设置
点击顶部工具栏“变量”,弹出“变量列表”页面,点击“添加”,添加变量,并填写变量名称和默认值。
图5.2.3.2-5 变量设置
在文本框的“文本内容”中输入相应的变量,如图所示:
图5.2.3.2-6 变量设置
- 按钮事件设置
选中“提交”按钮元件,点击其属性事件下拉图标,选择“鼠标点击时”,弹出“用例编辑”窗口。
图5.2.3.2-7 事件设置
在“用例编辑”窗口,添加“变量赋值”用例,在其配置列中,勾选变量“颜色”;点击配置列设置文本右侧下拉图标,双击引用元件“文本框2”,将“文本框2”的值赋值给变量“颜色”,变量“尺寸”、“购买数量”设置同理。
图5.2.3.2-8 变量赋值
图5.2.3.2-9 变量赋值
图5.2.3.2-10 变量赋值
在“用例编辑”窗口,添加“任务流转”用例,点击“确定”。
图5.2.3.2-11 任务流转
选中“信息核对完毕,通知快递收件”按钮元件,点击其属性事件下拉图标,选择“鼠标点击时”,弹出“用例编辑”窗口;在“用例编辑”窗口,添加“任务流转”用例,点击“确定”。
图5.2.3.2-12 事件设置
图5.2.3.2-13 事件设置
- 保存
点击顶部工具栏“保存”,弹出“新建文件”窗口,选择文件保存路径,输入文件名称点击“确定”。
图5.2.3.2-14 保存
BPM页面配置
- 变量设置
点击顶部工具条“变量”,弹出“流程变量设置”弹窗,点击“添加”,添加变量,输入变量名称和默认值。
图5.2.3.3-1 变量设置
- 办理人设置
选中“买家下单”任务,点击其右侧属性中的办理人后省略符,弹出“选中办理人”弹窗,添加“买家”用户,点击“添加”,“办理人”中出现“买家”,点击“确定”。
“收到订单”、“快递揽收”任务节点办理人设置同理。
图5.2.3.3-2 办理人
图5.2.3.3-3 办理人
图5.2.3.3-4 办理人
- 平台组件设置
选中“买单下单”任务节点,点击其右侧属性“平台组件”框右侧下拉框,选择“自由网页”组件。
图5.2.3.3-5 平台组件
选中“买家下单”任务节点,点击其右侧属性“组件设置”框右侧省略符,弹出“引用表单”窗口,选择“订单发货流程”文件,点击“确定”。
图5.2.3.3-6引用表单
“收到订单”任务的平台组件和组件设置设置方法与“买家下单”步骤相同,只不过“收到订单”任务的组件设置,需要将自由网页中的变量值赋值给BPM页面的变量,如下图所示:
图5.2.3.3-7 平台组件
图5.2.3.3-8 引用表单
图5.2.3.3-9 引用表单
- 信号设置
点击顶部工具条中的“信号”,弹出“信号定义”页面,点击“添加”,添加一个信号,修改“名称”,点击确定,信号添加成功。
图5.2.3.3-10 信号设置
选中“发货信号抛出” 信号抛出元件,在其右侧属性栏中设置“信号引用”,在“信号引用”下拉框中选中刚添加的信号名称;“发货信号启动”信号启动元件设置“信号引用”同理。
图5.2.3.3-11 信号设置
图5.2.3.3-12 信号设置
- 保存文件
点击顶部工具条“保存”,弹出“新建文件”窗口,选择文件保存的路径,输入“流程标识”和“流程名称”,点击确定,文件保存成功。
图5.2.3.3-13 保存
流程校验
文件保存后,自动校验,校验区显示“校验成功”,或者点击顶部工具条“流程校验”。
图5.2.4-1 流程校验
流程授权与发布
- 点击顶部工具条“流程管理”,进入到BPM主菜单页面。
图5.2.5-1 流程管理
图5.2.5-2 待办任务
- 点击右侧流程管理下“流程定义”,进入“流程定义”页面。
图5.2.5-3 流程定义
- 授权
在“流程定义”页面,点击操作列“授权”,弹出“设置授权”页面,选择用户“买家”后,点击“添加”,最后点击“确定”。
图5.2.5-4 授权
- 测试/发布
在操作列中,点击“测试”,“测试”字样变成“发布”,并提示“测试成功”,点击“发布”,“发布”字样变成“已发布”,并提示“部署成功”。
图5.2.5-5 测试
图5.2.5-6 发布
流程启动
点击信息栏登录信息,注销当前用户,页面跳转到登陆界面,输入“买家”下的用户“张三”信息登录。
图5.2.6-1 注销
图5.2.6-2 登录界面
点击顶部工具栏“流程管理”,进入BPM主菜单页面。
图5.2.6-3 流程管理
在“流程定义”页面,选中该流程,点击“查看版本”,“流程版本管理”中显示该流程的版本信息;在“流程版本管理”中点击流程版本管理操作列中的“启动流程”,启动该流程。
图5.2.6-4 查看版本
图5.2.6-5 启动流程
流程运行
- “买家下单”任务
流程启动后,可在“张三”用户的待办任务页面中的组办任务中查看“买家下单”任务的组办信息。
图5.2.7-1组办任务
在组办任务操作列中,点击“领取”,提示“【买家下单】认领成功”,该流程存在于“张三”用户的待办任务中。
图5.2.7-2 领取
在待办任务中,点击操作列的“办理”,页面自动跳转到自由网页“订单与发货流程”页面。
图5.2.7-3 办理
图5.2.7-4 办理
填写相应“买家订单信息”后,点击“提交订单”,页面自动跳转到BPM待办任务页面,“买家下单”任务完成,流程进行到下一个任务节点。
图5.2.7-5 办理
图5.2.7-6 待办任务
- “收到订单”任务
切换到卖家“李四”登录用户,在其待办任务中的组办任务下收到“收到订单”任务。
图5.2.7-7 组办任务
在组办任务操作列中,点击“领取”,提示“【收到下单】认领成功”,该流程存在于“李四”用户的待办任务中。
图5.2.7-8 领取
图5.2.7-9 待办任务
在待办任务中,点击操作列的“办理”,页面自动跳转到自由网页“订单与发货流程”页面。
图5.2.7-10 办理
点击“信息核对完毕,通知快递收件”按钮,页面自动跳转到BPM主菜单页面,“收到订单”任务办理完成,流程运行到下一个任务节点。
图5.2.7-11 办理
图5.2.7-12 待办任务
- “快递揽收”任务
切换到快递员“王五”登录用户,在其待办任务中的组办任务下收到“快递揽收”任务。
图5.2.7-13 组办任务
在组办任务操作列中,点击“领取”,提示“【快递揽收】认领成功”,该流程存在于“王五”用户的待办任务中。
图5.2.7-14 领取
在待办任务中,点击操作列“办理”,提示“任务完成”,该流程结束。
图5.2.7-15办理
流程结束
流程运行结束后,可在平台管理员账号下查看该流程的流程名称、实例ID、任务ID等信息。
图5.2.8-1 已办任务