老李:好久不见啊,小明。
小明:……
老李:不少部门有物资着急使用,现在的审批流程太慢了,申请时增加一个是否加急的选项吧。如果选加急,金额1000以下的直接到我这里,我审批完就通过,超过1000的直接发给总经理审批。不加急的流程保持不变。
小明在纸上勾画了半天,准备把流程做成这样
刚好大毛今天路过,把他拦住了。
大毛:我教你个简单的办法吧……
大毛:为了应对这样复杂流程线路条件,我们H3 BPM 中提供了一项功能“业务规则”。
小明:业务规则是什么……
大毛:业务规则是一个函数,由词汇和规则组成,词汇是参数,规则是函数方法。
小明(冷汗):说人话……
大毛:……你就当业务规则是一台面包机,参数是需要放进去的鸡蛋、面粉、水,以及产出的面包,规则就是面包机的运转部件。
小明:哦。
大毛:在“业务规则-规则实例”中建立物资目录,新建业务规则“物资申请”。
大毛:然后建立“加急(逻辑型)”“金额(数值型)”“审批人(参与者-多人)”三个词汇,前两个参数类型为“in”,审批人参数类型是“out”
大毛:接下来在规则下创建一个决策表,类型选择“SelectiveArray”,作用域选“公有”,执行方式信息部分保持原有不变,以后再给你解释为什么
小明:哦
大毛:决策表中,存在“行信息”与“列信息”,我们用“列信息”作为条件过滤,把“行信息”作为输出数据结果集。所以要把他们调整成这样。
PS:“{jiaji}”会被系统翻译为词汇“加急”,“jiaji”是词汇的编码。“U(行政主管)”会被系统翻译为用户“行政主管”,“行政主管”是用户的登录账号
大毛:行与列都设置完成后,点击左上角“编辑规则”按钮设置条件规则
大毛:设置规则后,这个规则实例就配置完成了,让我们测试运行一下,加急设为“false”,金额设为“50000”,你看运行结果“行政主管+总经理”
小明:哦,这样以后修改也方便了……然后怎么把这个规则应用到流程线路中去?
大毛:在数据模型中再添加一个数据项“审批人列表”,类型选“参与者(多人)”。这个数据项不要显示再表单中,只用来接收刚才业务规则返回的审批人。
大毛:再向数据模型中增加一个业务方法
大毛:业务方法绑定刚才建立的业务规则,并设置好传入传出参数对应的数据项,然后还是记得发布,然后你调整表单吧,我喝口水去……
小明:表单我也调好了。
大毛:那我来教你配置流程线路,现在可以把原来的审批节点都删掉了
小明:额……好吧
大毛:在申请后边,加一个“业务动作”,然后再加一个“审批”,然后连到结束就行了。
小明:就这么简单?
大毛:我还没说完……还有三步呢。
大毛:第一步,在业务动作的 “一般动作-业务属性”中选择 “获取审批人”方法。
大毛:第二步,在审批的属性中,把“参与者-参与者”设置为数据项“审批人列表”,“参与者类型”设为“多人”,“参与方式”设为“串行”。
大毛:最后,保存发布,这次真的结束了,就这么简单。
属性“参与者”设置
文章来源于:H3 BPM社区 http://bbs.h3bpm.com