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

小明:……

老李:不少部门有物资着急使用,现在的审批流程太慢了,申请时增加一个是否加急的选项吧。如果选加急,金额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. 消息队列 Kafka 的基本知识及 .NET Core 客户端

    前言 最新项目中要用到消息队列来做消息的传输,之所以选着 Kafka 是因为要配合其他 java 项目中,所以就对 Kafka 了解了一下,也算是做个笔记吧. 本篇不谈论 Kafka 和其他的一些消息 ...

  2. 通过ProGet搭建一个内部的Nuget服务器

    .NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以 ...

  3. JavaScript Object对象

    目录 1. 介绍:阐述 Object 对象. 2. 构造函数:介绍 Object 对象的构造函数. 3. 实例属性:介绍 Object 对象的实例属性:prototype.constructor等等. ...

  4. Android业务组件化之URL Scheme使用

    前言: 最近公司业务发展迅速,单一的项目工程不再适合公司发展需要,所以开始推进公司APP业务组件化,很荣幸自己能够牵头做这件事,经过研究实现组件化的通信方案通过URL Scheme,所以想着现在还是在 ...

  5. MAVEN学习-第一个Maven项目的构建

    MAVEN安装成功之后就可以进行项目的构建和管理了: 为什么要用maven进行项目的构建和管理? 对于初学者来说一个最直接的也是最容易里的优点在于JAR包的管理,相对于以前开发一个项目的时候我们需要用 ...

  6. html5的web存储

    在html5标准之前,web存储信息需要cookie来完成,但是cookie不适合大量数据存储.因为需要等待服务器响应,所以速度慢/效率低. 本地存储的特点: localstorage是仅存储在用户的 ...

  7. Solr高级查询Facet

    一.什么是facet solr种以导航为目的的查询结果成为facet,在用户查询的结果上根据分类增加了count信息,然后用户根据count信息做进一步搜索. facet主要用于导航实现渐进式精确搜索 ...

  8. ASP.NET Core 中文文档 第四章 MVC(3.9)视图组件

    作者: Rick Anderson 翻译: 娄宇(Lyrics) 校对: 高嵩 章节: 介绍视图组件 创建视图组件 调用视图组件 演练:创建一个简单的视图组件 附加的资源 查看或下载示例代码 介绍视图 ...

  9. 如何在Elasticsearch中安装中文分词器(IK+pinyin)

    如果直接使用Elasticsearch的朋友在处理中文内容的搜索时,肯定会遇到很尴尬的问题--中文词语被分成了一个一个的汉字,当用Kibana作图的时候,按照term来分组,结果一个汉字被分成了一组. ...

  10. js 基础篇(点击事件轮播图的实现)

    轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...