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

小明:……

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

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

小明的设计图

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

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

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

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

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

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

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

小明:哦。

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

业务规则

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

词汇

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

小明:哦

建立决策表

决策表属性设置

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

行信息与列信息

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

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

条件规则

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

运行测试

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

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

数据模型

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

新建业务方法

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

业务方法绑定业务规则

设定参数映射

小明:表单我也调好了。

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

小明:额……好吧

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

流程线路

小明:就这么简单?

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

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

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

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

属性“业务属性”设置

属性“参与者”设置

BPM配置故事之案例9-根据表单数据调整审批线路2的更多相关文章

  1. BPM配置故事之案例8-根据表单数据调整审批线路

    Boss突然来到:小明啊,咱们的物资申请金额现在既然可以确定了,以后金额在1万以下的申请单,就不用我审批了.直接通过就行了. 小明:好的 然后小明把流程线路改成了这样. 线路条件1 线路条件2

  2. BPM配置故事之案例1-配置简单流程

    某天,Boss找到了信息部工程师小明. Boss:咱们新上了H3 BPM,你研究研究把现在的采购申请流程加上去吧,这是采购申请单. 小明:好嘞 采购申请单 小明回去后拿着表单想了想,开始着手配置. 他 ...

  3. BPM配置故事之案例4-子表

    公司渐渐对采购管理重视起来了,新招聘了采购主管老李,老李对现有的申请表很不满意,要求将申请物资和申请原因改成物资明细表 物资明细表 小明只好继续致电大毛-- 大毛:把申请物资和申请原因删掉,新增一个数 ...

  4. BPM配置故事之案例10-获取外部数据

    老李:Hi,小明,我又来了 小明:--这次又怎么了. 老李:之前的物资管理方式太混乱了,这段时间我整理了采购物资清单,现在都录入到我们的ERP中了,以后申请物资改成从ERP数据选择吧.物资明细表我也做 ...

  5. BPM配置故事之案例14-数据字典与数据联动

    小明遇到了点麻烦,他昨天又收到了行政主管发来的邮件,要求把出差申请单改由H3 BPM进行,表单如下 行政主管的出差申请表 小明对表单进行了调整,设计出了一份适合在系统中使用的表单,但在"出差 ...

  6. BPM配置故事之案例11-操作外部数据源

    小明:可以获取ERP数据了-- 老李:哦,这么快?小伙子,我非常看好你,来来,别急着走,再陪我聊会-- 小明:--您老人家不是又要改流程吧? 老李:没有没有,哎嘿嘿嘿,我们这不都是为公司效率着想嘛,这 ...

  7. BPM配置故事之案例13-触发消息通知

    老李:小明! 小明:--见你就没好事,又要我干嘛? 老李:额,小事小事,最近很多部门都觉得Boss的审批速度太慢了,能不能以后给审批人一个消息提醒? 小明:--有一种不太好的预感 老李:怎么,很困难么 ...

  8. BPM配置故事之案例12-触发另外流程

    还记得阿海么,对就是之前的那个采购员,他又有了些意见. 阿海:小明,你看现在的流程让大家都这么方便,能不能帮个忙让我也轻松点啊-- 小明:--你有什么麻烦,现在不是已经各个部门自己提交申请了嘛? 阿海 ...

  9. BPM配置故事之案例7-公式计算

    行政主管发来邮件.要求物资明细表增加"单价""总价"."单价"由其审批时填写,"总价"根据"单价"与 ...

随机推荐

  1. C# DateTime与时间戳转换

    C# DateTime与时间戳的相互转换,包括JavaScript时间戳和Unix的时间戳. 1. 什么是时间戳 首先要清楚JavaScript与Unix的时间戳的区别: JavaScript时间戳: ...

  2. 理解加密算法(三)——创建CA机构,签发证书并开始TLS通信

    接理解加密算法(一)--加密算法分类.理解加密算法(二)--TLS/SSL 1 不安全的TCP通信 普通的TCP通信数据是明文传输的,所以存在数据泄露和被篡改的风险,我们可以写一段测试代码试验一下. ...

  3. 移动web基本知识

    1.pixel像素基础 1.px:csspixel 逻辑像素,浏览器所使用的抽象单位 2.dp,pt:设备无关像素 3.devicePixelPatio 设备像素缩放比例 2.viewport 1. ...

  4. Asp.Net MVC中使用StreamReader读取“Post body”之应用场景。

    场景:有三个市场(Global.China.USA),对前台传过来的数据有些验证需要细化到每个市场去完成. 所以就出现了基类(Global)和派生类(China.USA) 定义基类(Global)Pe ...

  5. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇一:WPF常用知识以及本项目设计总结

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  6. js学习之函数的参数传递

    我们都知道在 ECMAScript 中,数据类型分为原始类型(又称值类型/基本类型)和引用类型(又称对象类型):这里我将按照这两种类型分别对函数进行传参,看一下到底发生了什么. 参数的理解 首先,我们 ...

  7. 如何理解DT将是未来IT的转型之路?

    如今的IT面临着内忧外患的挑战. 一方面,企业多多少少都建立了信息化,有些企业或集团甚至会有数几十个分公司,包含直销.代理.零售以及第三方物流等多种业态.越是复杂的业务,信息化建设越困难,比如运用大量 ...

  8. iOS - 模态Model视图跳转和Push视图跳转的混合需求实现原理

    在研发中总会遇到一些莫名的需求,本着存在即合理的态度跟大家分享一下"模态Model视图跳转和Push视图跳转的需求实现",本文仅仅传授研发技术不传授产品以及UE的思想,请大家合理对 ...

  9. Activity之概览屏幕(Overview Screen)

    概览屏幕 概览屏幕(也称为最新动态屏幕.最近任务列表或最近使用的应用)是一个系统级别 UI,其中列出了最近访问过的 Activity 和任务. 用户可以浏览该列表并选择要恢复的任务,也可以通过滑动清除 ...

  10. 如何通过Git GUI将自己本地的项目上传至Github

    最近在学习node.js和react,顺便复习了下AngluarJS相关的东西,写了些小demo想放在GitHub上,之前仅限于只申请了GitHub账号从没用过,今天花半天时间查资料认真学习Githu ...