驰骋工作流引擎CCBPM系统概要设计与功能解析

5星 · 超过95%的资源 需积分: 12 68 下载量 119 浏览量 更新于2024-07-18 3 收藏 2.58MB DOCX 举报
"驰骋工作流引擎BPM系统概要设计文档" 驰骋工作流引擎BPM(Business Process Management)系统是一种用于自动化和管理业务流程的技术解决方案。这份文档由济南驰骋信息技术有限公司编写,目的是为了浙商银行的验收,涵盖了系统的概要设计和详细设计两大部分。由于系统开发已经完成,文档通过现有功能界面来阐述设计思想,更直观地展示系统功能。 首先,文档的"概要说明"部分介绍了文档的性质,强调它不仅是一个概要设计,还提供了系统功能的详细解析。文档旨在帮助读者理解整体系统架构、UI层的前端操作者功能页面以及后台流程设计器的构成。 在"产品框架设计"章节,详细介绍了系统的结构。"主系统架构"阐述了系统的整体布局,包括其核心组成部分——流程引擎。"流程引擎组成部分"揭示了引擎如何支持流程的执行和管理。"前台功能设计"部分则详细列出了用户界面的各项功能,如发起流程、待办任务、在途任务和查询功能。其中,"菜单功能设计"具体说明了三个主要处理菜单:发起、待办和在途,以及各自对应的功能列表和二级处理页面。 "流程设计器"章节深入探讨了流程定义的细节。"流程属性"定义了流程的基本信息,"节点属性"描述了流程中的各个处理节点,"方向条件定义"则规定了流程流转的规则。这部分内容对于理解流程的定制和配置至关重要。 在"数据存储表设计"章节,文档列举了系统所用的主要数据库表,如组织结构表、流程模版表、流程引擎表和表单模版表,这些表结构支撑着系统的数据管理和流程执行。 最后,"产品组件功能设计"章节分别讨论了后台定义工具和前台运行的相关功能。后台定义工具包括流程模版管理和节点事件管理,前台运行部分则涉及组织结构、菜单功能管理和工作处理接口设计。 这份文档全面展示了驰骋工作流引擎BPM系统的设计思路和实现方式,对系统架构、用户交互和后台逻辑进行了详尽的阐述,为读者理解并评估系统提供了丰富的信息。无论是开发者、运维人员还是业务用户,都能从中获取所需的知识和指导。
2018-04-25 上传
奥哲 H3 BPM 系统 演示环境操作说明书 深圳市奥哲科技有限公司 二〇一四年十月 目录 1 业务集成 4 1.1 适配器 4 1.2 业务数据库连接 4 1.3 业务服务 4 2 流程模型(流程功能展示) 5 2.1 主数据 5 2.2 表单和控件 6 2.2.1 模版子表 6 2.2.2 表单设计流程 7 2.2.3 显示所有的数据项 9 2.3 办公流程 10 2.3.1 请假流程 10 2.3.2 会议通知 & 通知办理 12 2.4 流程功能 15 2.4.1 流程演示 15 2.4.2 竣工报告审批 17 2.4.3 多人活动 20 2.4.4 出差报销(父子流程) 22 2.4.5 微信通知 24 2.5 业务集成 28 2.5.1 供应商入库/供应商获取 28 2.5.2 审核后创建(WS和DB)/从WebService和DB获取 31 2.5.3 监控并在BPM操作 35 2.5.4 监控业务系统自动发起 35 2.6 外部表单 35 2.6.1 访问WS接口 35 2.6.2 访问API接口 37 2.7 业务规则(选择、排序、脚本) 38 3 业务规则 42 1 演示环境概述 H3 Cloud演示环境分为两部分:  门户: http://120.25.238.237/Portal 登录名 / 密码:administrator@authine.com / h3authine  后台管理:http://120.25.238.237/Portal/admin ,或在Portal页面的右上角,点击用户图标(管理员),选择“后台管理” 登录名 / 密码:administrator@authine.com / h3authine 2 业务集成 2.1 适配器 H3默认提供的适配器列表,并可支持拓展开发适配器,并注册到H3系统中; 2.2 业务数据库连接 目前演示环境中使用到的数据库连接配置 2.3 业务服务 业务服务列表管理中,支持以下几种应用: 1. 新建文件夹:支持把同一个业务所使用的业务服务进行归类管理; 2. 新建业务服务; 3. 上传业务服务; 那么,在本演示环境中使用到的业务服务类型有:Data Table、WebService、Data Sql,详细的业务服务的使用,请参考《H3实施开发手册》。 3 流程模型(流程功能展示) 3.1 主数据 功能展示  主数据的维护和查询。  主数据可以有以下两个来源:  来源于业务系统,通过业务服务来读写业务系统的数据;  存储于H3系统,通过H3的表单进行维护数据;  主数据被流程表单中字段的开窗使用; 业务场景 在实际业务中,会涉及到业务表单使用的公共基础数据,如简单的省份、城市、学历等等数据,以及跟生产相关的物料名称、供应商信息等来自于第三方的数据; 设计过程  来源于第三方的业务系统:通过绑定业务方法,读写第三方数据库;  来源于本地系统的基础数据维护: 演示过程 1. 主数据可以【绑定业务服务】和【绑定业务规则】 2. 主数据中定义的【查询列表】,供流程包中的表单调用 3.2 表单和控件 3.2.1 模版子表 功能展示 这个流程是自定义表单,展现的是基于子表控件自定义开发的个性化子表,子表类型SheetGridView的使用; 业务场景 使用子表数据项的场合,使用子表控件来呈现自定义的效果。 设计过程 使用自定义表单实现; 演示过程 在Portal门户的流程中心中发起【表单和控件->模版子表】流程,在表单中点击子表的添加按钮,查看新增行的子表效果; 3.2.2 表单设计流程 功能展示  展示开窗查询;  展示联动查询;  字段的自动运算;  字段的显示/隐藏控制;  子表的开窗查询和自动计算;  子表的联动查询;  字段的正则表达式的验证; 业务场景 根据实际业务需求,部分数据来源与主数据信息,用户可以根据选择的项目,并把对应项目的详细信息加载到表单相应字段中; 设计过程 以下功能都是基于默认表单配置实现,请在在Portal/admin中查看【表单和控件->表单设计流程->默认表单】,点击每个控件,观察每个控件设置的属性值 1. 开窗查询: 字段【编码】 说明:SchemaCode的值来源于“主数据”,QueryCode来源于“主数据”中定义的查询列表;OutputMappingString的值是要加载的表单字段信息来源; 2. 联动查询: 字段【省份】、【城市】、【区县】 3. 字段运算:字段【营业额】的设置 4. 字段隐藏控制:“类型”字段,当选择“其它”时,可以显示“其它”文本框; 5. 子表中同样可以实现“开窗查询”、“字段运算”; 子表中同样可以实现“联动查询”; 6. 字段正则表达式的验证; 演示过程 1. 演示开窗查询 在表单中选择字段【编码】,可以弹出查询窗口,选择值后,且可以自动带出相关字段的值; 2. 联动查询 选择不同的【省份..城市..区县】,观察选择不同数据项时的区别; 3. 字段的计算 【利润】=【营业额】-【成本】; 4. 字段隐藏控制:【类型】字段,当选择【其它】时,可以显示【其它】文本框; 5. 子表中同样可以实现“开窗查询”、“字段运算”; 子表中同样可以实现“联动查询”; 6. 字段正则表达式的验证; 3.2.3 显示所有的数据项 功能展示 展示H3表单控件的使用。 业务场景 使用H3表单控件实现默认表单的显示效果。 设计过程 以下功能都是基于默认表单配置实现,请在在Portal/admin中查看【表单和控件->显示所有数据项->默认表单】,点击每个控件,观察每个控件设置的属性值 演示过程 在Portal门户的流程中心中发起【表单和控件->显示所有数据项】流程,在表单中,展示各个H3表单控件的使用,如:整数&数值型,输入字符的自动验证; 3.3 办公流程 3.3.1 请假流程 功能展示 1. 表单:字段的控制:  当请假类型选择“病假”的时候,必须提交“附件”才能提交流程;  请假开始时间的选择,只能选择当前日期之后的日期;  请假时间可以自动计算出结果; 2. 流程:路由控制 根据员工级别&请假天数判断路由;如:普通员工并且请假天数大于2天时,需要总监审批; 3. 数据字典的应用:表单中的【假期类型】信息,来源于数据字典; 业务场景 典型的请假流程的控制;数据项、流程路由 设计过程 在Portal/admin中查看【办公流程->请假流程->默认表单】,点击每个控件,观察每个控件设置的属性值,如: 请假类型的属性 请假时间的属性 演示过程 1. 字段【请假类型】,选择“病假”,点击提交,注意弹出的窗口提示信息。 2. 字段【请假开始时间】,只能选择今天或今天以后的日期;以及【请假天数】的自动计算; 3. 请选择不同的请假时间,观察流程的审批参与者变化; 3.3.2 会议通知 & 通知办理 功能展示  典型的父子流程,且两个流程分别在不同的流程包中。另外一种父子流程的展现方式,请参考【流程功能->出差报销】的父子流程;  【会议通知】中已选择的“参会单位”,才能在子流程【通知办理】中接收消息;  【会议通知】的表单字段“会议时间”类型,该控件精细到时分;  自动启动子流程【通知办理】,并可通过日志中,钻取子流程的流程监控图。 业务场景 在流程设计中,子流程可能需要用到父流程的数据,设计流程时可以设置数据项来源于父流程。如【通知办理】子流程的“会议内容”来源于父流程【会议通知】的“会议内容”数据项,可以对数据项的来源进行配置。 设计过程  子流程分属于不同的流程包,2条流程如需建立关系,需通过“数据映射”建立父子流程的联系;  参与者函数:获取指定组织所在组织架构的指定名称的用户组,如:查找查找表单中已选择的部门下面的“联络员”; 演示过程 1. 在Portal门户的流程中心中发起【办公流程->会议通知】流程,请注意(目前DEMO中,生产一部&生产二部 >> 联络员组)才有具体联络人,因此,需要展示效果,请至少选择一个部门; 2. 继续提交流程,并观察流程监控图中的信息,找到子流程【通知办理】的接收人; 3. 以【会议通知办理】中的参与者用户名登录Portal门户,在【待办任务】中找到由父流程触发的待办任务信息,查看表单中由父流程带过来的内容; 3.4 流程功能 3.4.1 流程演示 功能展示 流程设计的各个流程节点的控件、以及流程逻辑中的常用功能展示; 业务场景 常用的流程条件路由、传阅、等待、消息等场景应用; 设计过程 1. 流程的路由:根据表单中是否勾选Checkbox来选择流程路由,如果存在条件路由的情况,是用“虚线”来连接; 2. 传阅的功能:流程执行到“传阅”节点时,使用参与者函数{AllParticipants},传阅到之前参与流程的所有参与者。 3. 等待:检查条件,采用时分秒格式设置,如:"00:01:00" 4. 消息通知:可以选择通知方式,以及设置通知的“消息标题”&“消息内容”。 演示过程 在Portal门户的流程中心中发起【演示功能->流程演示】流程,根据【表单】中的数据项不同,观察流程的路由情况,并且观察各流程节点所使用控件的功能; 3.4.2 电力倒闸流程 功能展示 展示表单的特殊打印效果:打印的表单与流程表单是单独的一个文件;一个表单可以有多个打印页面; 业务场景 业务审批完成之后,需要打印表单,但是表单需要按固定格式打印的场景。 设计过程 扩展设计&制作一个表单格式: 演示过程 在Portal门户的流程中心中发起【业务流程->电力倒闸流程】流程,在表单中可以选择【打印】,输出打印表单的设计格式: 流程表单 打印效果 3.4.3 多人活动 功能展示 在审批环节,在多人会签任务场景时,各种串签、并签的审批效果: 业务场景 实际业务中,在会签、并签、串签、加签等具体的场景中应用; 设计过程 1. 多人串签(可加签) 除流程设计阶段预设的参与者外,还允许在表单中选择更多的参与者,参与者全部通过时,该节点通过;其中有1人不通过,则驳回至上一节点。 2. 多人并签(全部通过) 在流程设计阶段预设的参与者,执行并签(参与者互不影响),只要有1个参与者选择驳回,则系统自动取消其它未审批的流程,直接驳回至上一节点。 3. 多人并签(1人通过) 在流程设计阶段预设的参与者,执行并签(参与者互不影响),只要有1个参与者选择提交(同意),其它参与者可以不用再审批,直接流转至下一节点。 演示过程 在Portal门户的流程中心中发起【演示功能->多人活动】流程,结合【流程监控图】,观察流程的执行情况。 3.4.4 出差报销(父子流程) 功能展示  不需要建立数据映射关系,也实现父子流程的目的;  子表中的日期控件,只能选择日期;  子表中默认的下拉菜单列表; 业务场景 在流程设计中,父子流程的数据是来源于同一数据源,且属于同一条业务流程。 子流程可能需要用到父流程的数据,设计流程时可以设置数据项来源于父流程。如“机票预定”流程的“申请人”来源于父流程的“申请人”数据项,可以对数据项的来源进行配置。 设计过程  在同一个流程包中有唯一的数据模型,但是可以新增多个流程&表单;  在设计流程时,可以使用同一个流程包下面的流程,作为子流程;  表单控件,在默认表单页面中,即可配置出来; 演示过程 1. 在Portal门户的流程中心中发起【演示功能->出差申请】流程; 2. 审批环节流转至【子流程:报销流程】时,自动发起【报销流程】,并可看到【出差申请】中填写的数据; 3.4.5 微信通知 功能展示 在Portal中发起流程,“微信”能够收到H3系统通过微信的公司企业号推送的通知消息,发起流程后,可以在手机中收到通知,并可以在微信中实现审批功能。 业务场景 业务表单绑定微信号的消息通知; 设计过程 演示说明:请使用各自的用户名登录Portal发起流程; 演示过程 1. 设置Portal登录用户名及微信号设置,并用自己的帐号登录(每个账户绑定一个微信号); 2. Portal中发起流程 用自己的用户名登录Portal,在Portal门户的流程中心中发起【演示功能->微信通知】流程,点击发起后。如图: 3. 填写【微信通知】表单,并提交,可以在自己的微信中,收到H3系统推送的任务消息; 4. 手机上的微信收到的消息推送界面,并可操作【驳回】、【提交】等操作。 3.5 业务集成 3.5.1 供应商入库/供应商获取 功能展示  通过业务服务(Data Table Adapter),写入、读取、更新第三方数据库(ERP)中的数据表:Vendor 和Material;  通过【数据模型】的【关联关系】,通过1:1或1:N的对应关系把多个【数据模型】关联起来,如:建立Vendor表和Material表的1:N的关系。 业务场景 需要操作数据库表,数据库可以是H3的数据库,或者是第三方的数据; 设计过程 1. 在【业务集成->业务服务】中,建立【供应商信息表】和【Material信息表】的业务服务; 2. 在【流程模型->主数据】中,建立【物料主数据】和【供应商主数据】; 3. 新建流程包【供应商入库】,【数据模型】中需要用到的【业务方法】分别绑定相应的业务服务,如Create、Load、Update、Remove;并新建主从表的【关联关系】; 4. 新建流程包【供应商获取】,【数据模型】中需要用到的【业务方法】分别绑定相应的业务服务,只有Load、Update;并建立主从表的【关联关系】; 演示过程 1. 【供应商入库】: a) 在Portal门户的流程中心中发起【业务集成->供应商入库】流程,在表单上录入表单信息&物料信息,其中Code为关键字(必填项)。 b) 查询确认:打开【供应商入库】流程,在IE地址栏的URL中加上参数Code的值,如:&Code=ORC,就可以查询到刚才录入的Code值是ORC的记录,以及相关的物料信息子表。 2. 【供应商入库】 a) 从Portal门户的流程中心中打开【供应商获取】流程,在字段Code中输入【供应商入库】中填写的Code值,如ORC,点击保存后,即可查到ID是Code值的表单信息。 b) 此时,可以修改表单的值,提交流程后,可以将新值更新到数据库表; c) 同【供应商入库】的查询确认,可以在URL中加上Code的参数值,可查询最新数据信息; 3.5.2 审核后创建(WS和DB)/从WebService和DB获取 功能展示  流程包中建立方法,在流程中调用;  采用DB的方法(PRHeader)向第三方数据库插入PR值;  采用WS的方法(PRCreate),更新业务系统的值; 业务场景 业务数据存储在业务系统,在H3系统中创建表单和执行业务审批,审批完成之后,将业务数据回写到业务系统的情况;例如:有些第三方业务系统没有审批流程时。 设计过程  【审核后创建(WS和DB)】的流程包中,定义【创建采购申请】的方法,该方法分别引用:  PRHeader的Create方法,来自于业务服务的【PRHeader表】,属于Date Table的适配器创建;  WS的PRCreate方法,来自于业务服务的【业务系统WS服务】,属于WebService的适配器创建;  【从WebService和DB获取】的流程中,业务方法Load和Update方法,分别绑定PRHeader的Load方法,和【业务系统WS服务】的PRGet方法。  校验PRNumber是否存在的校验:在默认表单中字段【PRNumber】的OnChangeScript属性控制【if(sheet.executeService('ERPSql','ExistsPRNumber',{'PRNumber':'PRNumber'}) == 1){alert('该编号已经存在!');this.value='';}】,来源于业务服务【业务系统SQL服务】的ExistsPRNumber方法。 演示过程 1. 在Portal门户的流程中心中发起【业务集成->审核后创建】流程,填写表单信息后提交,可以在【已办任务】中找到表单,此时,表单中的【Return】的值是“False”。 *如果表单信息【PRNunber】录入的编码已经存在相同的编码,点击提交时将会提示: *此时,从Portal门户的流程中心中发起【业务集成->从WebService和DB获取】流程,录入PRNumber=【 】并保存,则查不到相关数据。查看流程监控图可知,未执行【审批】和【PR入库】操作。 2. 在【待办任务】中,继续执行流程的【提交】审批操作后, 已经【审核】通过,并且执行了【PR入库】操作。此时,从Portal门户的流程中心中发起【业务集成->从WebService和DB获取】流程,录入PRNumber=【 】并保存,则可查到刚刚录入的【PR】信息; 3. 在刚刚打开的【业务集成->从WebService和DB获取】流程中,可以新增一条PRItems记录,并【提交】。 4. 在【已办任务】列表中,找出刚刚更改的流程任务,打开表单后可确认【Return】的值为“True”: 5. 从Portal门户的流程中心中发起【业务集成->从WebService和DB获取】流程,录入PRNumber=【 】并保存,可以查询得到,新增记录已经记录。 3.5.3 监控并在BPM操作 功能展示 在业务系统创建表单,在H3中审核 1.创建采购单->自动触发H3 BPM的PO流程; 2.在H3中审核当前表单,每次操作后,可以在这里查看业务表单数据状态。 业务场景 H3与第三方业务系统的深度集成,业务系统中有业务表单来触发H3的流程引擎,流程执行在H3系统中,并将每一次的流程状态结果体现在业务系统表单相应的状态中。 演示过程 打开模拟的第三方业务系统的表单; http://120.25.238.237//ERP/ 【业务系统流程,操作在BPM】, 或直接打开http://120.25.238.237/ERP/POProcess.aspx 1. 录入【显示名称】、【预算金额】,点击【保存】,自动生成【PO编号】。 2. 通过H3系统【定时作业】定义【监控业务系统启动流程】来监控业务系统,每30秒轮询一次,如果有新记录,则执行【启动流程公有云版】的方法; 3. 后续的流程审批操作都在H3系统中执行,H3每个审批节点都会执行【更新状态】的方法来更新业务系统的状态值; 4. 业务系统中可以查看订单流程状态,并可通过【查看流程】打开H3的流程监控图; 3.5.4 监控业务系统自动发起 功能展示 所有的操作都在业务系统中完成 1.创建采购单->自动触发H3 BPM的PO流程; 2.将采购单依次改为->询价、比价、议价、订单下达4个状态,可以将流程触发到不同的环节至结束。 3.议价可以保存至询价环节,将流程驳回询价。 业务场景 第三方业务系统与H3流程引擎的深度集成,流程表单和业务操作都在第三方业务系统中,流程运转使用的是H3的流程引擎。在业务系统中没一个操作步骤,能够在H3的流程监控图中都能体现; 演示过程 打开模拟的第三方业务系统的表单: http:// 120.25.238.237/ERP/ 【业务系统流程,操作在业务系统】 或,直接打开:http:// 120.25.238.237/ERP/POProcess.aspx 1. 录入【显示名称】和【预算金额】,点击【保存】,会自动生成一个【PO编号】。 2. 随后,H3系统的【定时作业】,会监控ERP数据库中的PO表,新增记录自动触发流程启动; 3. 点击【查看流程】,可看到流程监控图中,流程已经启动; 4. 继续在ERP表单中,采购单依次改为->询价、比价、议价、订单下达4个状态,可以将流程触发到不同的环节至结束,说明:可以通过ERP表单中的【查看流程】或H3 BPM中【流程监控>>进行中的流程】,查看流程流程监控图的变化。 5. 3.6 外部表单 3.6.1 访问WS接口 功能展示  表单在第三方系统,调用H3的提供的Web Service启动、处理流程;  在第三方系统中的【查看流程】,可以直接调阅H3系统的中流程信息页面; 业务场景 在实际的业务应用场景,客户在现有的系统中已经有表单了,不想在H3中再重做表单,但是没有流程功能而需要应用H3的流程逻辑(或者已经有流程功能但功能不够强大,需要应用H3强大的流程逻辑来辅助业务执行),那么,H3可以提供Web Service的流程操作接口,供第三方系统调用,实现流程功能。 设计过程 在第三方系统中,通过调用H3提供的Web Service服务,执行流程的启动、提交、驳回、查看流程等操作。 演示过程 通过2种途径进入流程表单页面: 1. 在Portal门户的流程中心中发起【外部表单->访问WS接口】流程,点击发起后,打开的页面是第三方表单; 2. 进入第三方系统: a) http:// 120.25.238.237/ERP/ 后选择【Web Service模拟表单】打开: b) 直接进入表单页面; http:// 120.25.238.237/ERP/SheetWS.aspx?Mode=Originate&WorkflowCode=PRWS 3. 第三方系统中【提交】流程后,可以在Portal门户首页的【待办任务】和流程中心的【已办任务】列表中,分别看到刚刚从第三方系统发起的流程待办和已办。 4. 在H3中打开任务链接,直接跳转至第三方系统的表单页面中操作,可以执行【提交】、【驳回】和【查看流程】。 3.6.2 访问API接口 功能展示  表单在第三方系统,调用H3系统接口(DLL)启动、处理流程  在第三方系统中的【查看流程】,可以直接调阅H3系统的中流程信息页面; 业务场景 在实际的业务应用场景,客户在现有的系统中已经有表单了,不想在H3中再重做表单,但是没有流程功能而需要应用H3的流程逻辑(或者已经有流程功能但功能不够强大,需要应用H3强大的流程逻辑来辅助业务执行),那么,H3可以提供API接口的流程操作接口,供第三方系统调用,实现流程功能。 设计过程 在第三方系统中,通过调用H3提供的API接口服务,执行流程的启动、提交、驳回、查看流程等操作。 演示过程 通过2种途径进入流程表单页面: 1. 在Portal门户的流程中心中发起【外部表单->访问API接口】流程,点击发起后,打开的页面是第三方表单; 2. 进入第三方系统: a) http:// 120.25.238.237/ERP/ 后选择【API模拟表单】打开: b) 直接进入表单页面; http:// 120.25.238.237/ERP//SheetDLL.aspx?Mode=Originate&WorkflowCode=PRDll 3. 第三方系统中【提交】流程后,可以在Portal门户首页的【待办任务】和流程中心的【已办任务】列表中,分别看到刚刚从第三方系统发起的流程待办和已办。 4. 在H3中打开任务链接,直接跳转至第三方系统的表单页面中操作,可以执行【提交】、【驳回】和【查看流程】。 3.7 业务规则(选择、排序、脚本) 功能展示 业务规则可以自定义词汇表和规则,实现矩阵式的规则管理。例如以下采购申请审核矩阵: 参与者 办公用品 生产设备 采购金额<2000 采购金额>=2000 采购金额<10000 采购金额>=10000 业务主管 √ √ √   部门总监 √   √ √ 财务总监   √   √ 总经理   √   √ 该矩阵中,根据【采购类型】、【金额】,需要不同的人员进行审核,如果在流程设计中实现,流程逻辑会复杂化。此时可以使用业务规则进行定义该规则,将业务逻辑在业务规则中进行图形化定义实现,更符合业务角度进行理解。 业务场景 在实际业务中,流程本身并不复杂,审批层级就是4级,但因为业务逻辑关系影响到流程需要非常多的分支来判断,如采购单会根据【采购类型】和【金额】的不同,分别有不同的人来审批;休假申请会根据【假期类型】和【请假天数】的不同,分别会有不同的人来审批。 通过H3的业务规则引擎,可以实现业务与流程的耦合,从而达到简化流程的目的,以及方便流程的维护,当公司业务逻辑或公司制度发生异动时,不需要重新来制作流程,只需要维护业务规则表即可,极大的节省了后期的维护成本。 设计过程 详见《H3 BPM实施开发手册》的第10章:业务规则的详细介绍。 演示过程 业务规则的演示流程有3条:【采购(排序)】、【采购(选择)】和【采购(脚本)】,分别对应【业务规则->演示规则】中预设的【排序规则】、【选择规则】和【脚本规则】。 1. 选择规则: 选择规则是将需要执行的单元格按照选中状态进行串联起来,将参与者最终赋值给指定的参与者类型词汇,例如以下 表示涵义为:  当采购类型是办公用品时  金额小于2000,需要主管审核;  金额大于等于2000,需要主管、财务总监审核;  当采购类型是生产设备时  金额小于5000,需要主管、采购总监审核;  金额大于等于5000时,需要主管、采购总监、财务总监和分管副总审核; 2. 排序规则: 排序规则是将所有需要执行的单元格将连续的数值连接起来,将参与者最终赋值给指定的参与者类型词汇,例如以下表格: 表示涵义为:  当采购类型是办公用品时  金额小于2000,需要主管审核;  金额大于等于2000,需要主管、财务总监审核;  当采购类型是生产设备时  金额小于5000,需要主管、采购总监审核;  金额大于等于5000时,需要主管、采购总监、财务总监和分管副总审核; 3. 脚本规则: 脚本规则是执行所有满足条件的单元格的脚本,对词汇直接进行赋值。 4. 在Portal门户的流程中心中发起【业务规则】目录下的3条流程:分别输入不同的【采购类型】和【总金额】,观看流程流转的变化。 提示:发起流程页面,审核人不用选择,流程提交之后,系统会自动根据设定的业务规则,列出需要参与的审批人,按顺序排序,详见下图。 说明:流程的审批顺序按【审核人】的顺序执行【串签】,直至最后一人审核后到流程结束。 4 业务规则 业务规则的使用,请参考《H3 实施开发手册》 演示环境中已实现的【演示规则】,详细请参考本手册【流程模型】章节的【业务规则(选择、排序、脚本)】的应用;