老李:好久不见啊,小明。

小明:……

老李:不少部门有物资着急使用,现在的审批流程太慢了,申请时增加一个是否加急的选项吧。如果选加急,金额1000以下的直接到我这里,我审批完就通过,超过1000的直接发给总经理审批。不加急的流程保持不变。

小明在纸上勾画了半天,准备把流程做成这样

小明的设计图

刚好大毛今天路过,把他拦住了。

大毛:我教你个简单的办法吧……

大毛:为了应对这样复杂流程线路条件,我们H3 BPM 中提供了一项功能“业务规则”。

小明:业务规则是什么……

大毛:业务规则是一个函数,由词汇和规则组成,词汇是参数,规则是函数方法。

小明(冷汗):说人话……

大毛:……你就当业务规则是一台面包机,参数是需要放进去的鸡蛋、面粉、水,以及产出的面包,规则就是面包机的运转部件。

小明:哦。

大毛:在“业务规则-规则实例”中建立物资目录,新建业务规则“物资申请”。

业务规则

大毛:然后建立“加急(逻辑型)”“金额(数值型)”“审批人(参与者-多人)”三个词汇,前两个参数类型为“in”,审批人参数类型是“out”

词汇

大毛:接下来在规则下创建一个决策表,类型选择“SelectiveArray”,作用域选“公有”,执行方式信息部分保持原有不变,以后再给你解释为什么

小明:哦

建立决策表

决策表属性设置

大毛:决策表中,存在“行信息”与“列信息”,我们用“列信息”作为条件过滤,把“行信息”作为输出数据结果集。所以要把他们调整成这样。

行信息与列信息

PS:“{jiaji}”会被系统翻译为词汇“加急”,“jiaji”是词汇的编码。“U(行政主管)”会被系统翻译为用户“行政主管”,“行政主管”是用户的登录账号

大毛:行与列都设置完成后,点击左上角“编辑规则”按钮设置条件规则

条件规则

大毛:设置规则后,这个规则实例就配置完成了,让我们测试运行一下,加急设为“false”,金额设为“50000”,你看运行结果“行政主管+总经理”

运行测试

小明:哦,这样以后修改也方便了……然后怎么把这个规则应用到流程线路中去?

大毛:在数据模型中再添加一个数据项“审批人列表”,类型选“参与者(多人)”。这个数据项不要显示再表单中,只用来接收刚才业务规则返回的审批人。

数据模型

大毛:再向数据模型中增加一个业务方法

新建业务方法

大毛:业务方法绑定刚才建立的业务规则,并设置好传入传出参数对应的数据项,然后还是记得发布,然后你调整表单吧,我喝口水去……

业务方法绑定业务规则

设定参数映射

小明:表单我也调好了。

大毛:那我来教你配置流程线路,现在可以把原来的审批节点都删掉了

小明:额……好吧

大毛:在申请后边,加一个“业务动作”,然后再加一个“审批”,然后连到结束就行了。

流程线路

小明:就这么简单?

大毛:我还没说完……还有三步呢。

大毛:第一步,在业务动作的 “一般动作-业务属性”中选择 “获取审批人”方法。

大毛:第二步,在审批的属性中,把“参与者-参与者”设置为数据项“审批人列表”,“参与者类型”设为“多人”,“参与方式”设为“串行”。

大毛:最后,保存发布,这次真的结束了,就这么简单。

属性“业务属性”设置

属性“参与者”设置

最新文章

  1. 通过分析iframe和无阻塞脚本关系能让我们更懂iframe
  2. Java String类型数据的字节长度
  3. SQL Server 2012将数据库备份到网络中的共享文件夹
  4. 低功耗蓝牙4.0BLE编程-nrf51822开发(11)-蓝牙串口代码分析
  5. Java 生成压缩包,ZipOutputStream的使用
  6. 一次性编译所有T-Code
  7. magento 数据结构
  8. (JavaScript实现)页面无操作倒计时退出
  9. 使用read(),write(),seekg(),seekp()实现二进制方式文件随机存取
  10. Unity3D第三人称摄像机控制脚本
  11. java中的字符编码方式
  12. Android学习笔记-EditText(输入框)(一)
  13. JPA实现复杂条件分页查询
  14. lamdba表达式
  15. vim 正则非贪婪模式
  16. http_proxy_module模块常用参数
  17. [时序图笔记] 步步为营UML建模系列五、时序图(Squence diagram)【转】
  18. C语言编程中pid, tid以及真实pid的关系(转)
  19. ubuntu upgrade
  20. 7.mysql-安装和卸载.md

热门文章

  1. ExtJS 4.2 评分组件
  2. CYQ.Data、ASP.NET Aries 百家企业使用名单
  3. C语言 · 整数平均值
  4. 获取Canvas当前坐标系矩阵
  5. Loadrunner Http Json接口压力测试
  6. JDBC增加删除修改
  7. Kotlin的android扩展:对findViewById说再见(KAD 04)
  8. Kafka:主要参数详解(转)
  9. SVN版本冲突,导致出现Files 的值“ < < < < < < < .mine”无效
  10. Zephyr OS 简介