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

小明:……

老李:不少部门有物资着急使用,现在的审批流程太慢了,申请时增加一个是否加急的选项吧。如果选加急,金额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. 避免重复造轮子的UI自动化测试框架开发

    一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...

  2. 使用HTML5开发Kinect体感游戏

    一.简介 我们要做的是怎样一款游戏? 在前不久成都TGC2016展会上,我们开发了一款<火影忍者手游>的体感游戏,主要模拟手游章节<九尾袭来 >,用户化身四代,与九尾进行对决, ...

  3. URL安全的Base64编码

    Base64编码可用于在HTTP环境下传递较长的标识信息.在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式.此时,采用Base64编码不仅比较简短,同时也具有不可 ...

  4. 猖獗的假新闻:2017年1月1日起iOS的APP必须使用HTTPS

    一.假新闻如此猖獗 刚才一位老同事 打电话问:我们公司还是用的HTTP,马上就到2017年了,提交AppStore会被拒绝,怎么办? 公司里已经有很多人问过这个问题,回答一下: HTTP还是可以正常提 ...

  5. .NET Core的日志[1]:采用统一的模式记录日志

    记录各种级别的日志是所有应用不可或缺的功能.关于日志记录的实现,我们有太多第三方框架可供选择,比如Log4Net.NLog.Loggr和Serilog 等,当然我们还可以选择微软原生的诊断框架(相关A ...

  6. .NET Core采用的全新配置系统[9]: 为什么针对XML的支持不够好?如何改进?

    物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigura ...

  7. mysql 学习总结

    MYSQL的增.删.查.改   注册.授权 #创建一个对数据库中的表有一些操作权限的用户,其中OPERATION可以用all privileges替换,DBNAME.TABLENAME可以用*替换,表 ...

  8. nodejs项目mysql使用sequelize支持存储emoji

    nodejs项目mysql使用sequelize支持存储emoji 本篇主要记录nodejs项目阿里云mysql如何支持存储emoji表情. 因由 最近项目遇到用户在文本输入emoji进行存储的时候导 ...

  9. 《JavaScript设计模式与开发实践》整理

    最近在研读一本书<JavaScript设计模式与开发实践>,进阶用的. 一.高阶函数 高阶函数是指至少满足下列条件之一的函数. 1. 函数可以作为参数被传递. 2. 函数可以作为返回值输出 ...

  10. ubuntu 下安装scrapy

    1.把Scrapy签名的GPG密钥添加到APT的钥匙环中: sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 6272 ...