Skip to content

进阶教程:「业务流程」

在流程中调用业务流程来处理流程的“子任务”。这样可以将一些通用的流程创建为业务流程,然后提供给其他流程直接使用,避免重复创建相似的流程。

多次执行可以基于多条记录数据源,逐条执行业务流程,或者同时执行所有业务流程。让多条数据源执行相同的业务逻辑

特别说明

任何需要对多个记录或数据进行相同操作的场景都可以使用多次执行的功能来实现。这样可以提高工作效率,减少重复劳动,确保操作的一致性。

业务流程是本平台非常重要的能力,通过业务流程可以实现以下场景(包括但不限于):

  • 统计报表中,如果需要合并多张表的数据,或需要对数据进行自定义的加工处理。那么可以使用业务流程作为统计的数据来源,从而实现复杂场景的BI需求
  • 新增或编辑表单记录时,如果需要对数据进行自定义逻辑的处理,可以添加流程调用控件,并结合业务流程实现自定义逻辑的数据处理
  • 单个工作流中,如果需要多次执行相同的子流程,则可以将业务流程作为子流程,并提供给主流程进行调用
  • 多个工作流中,如果包含了相同的流程,则可以将相同的流程封装为业务流程,供不同的流程进行调用

提示

  1. 当设置了多次执行数据源后,在参数传递时,如果使用了多次执行数据源中的字段,则会依次传递字段值。
  2. 多次执行的数据源有多少条,那么业务流程就会执行多少次,每次执行时,会传递当前执行次数的数据源记录。
  3. 业务流程可像子任务一样,被多个工作流给调用
  4. 业务流程可以处理极其复杂的业务,存在多对多,一对多,多对一,等数据处理的关系时,都可以使用业务流程
  5. 业务流程可嵌套业务流程,满足更为复杂的场景实现数据多对多对多的业务场景
  6. 业务流程可任意处理子表类业务、批量操作类业务等复杂场景

场景说明

例如在进销存场景中: 采购入库单提交时,需要对进货单(上游单据)内子表中,每一行的商品逐一进行判断其入库状态(部分入库,全部入库,未入库)。 在调用业务流程中使用多次执行,传递没一行的批号和数量,在业务流程中判断传入进来的数据源是否满足业务逻辑,进而去更新上游单据特定子表行的数据

假如子表中数据有5行,那么业务流程会执行5次,每次传入该执行次数行的数据,会在每次执行中去更新对应子表行的数据,来实现业务逻辑,业务流程执行完成后,流程会继续执行,直至工作流结束。

场景1:统计调用「业务流程」

场景说明

客户管理系统中,存在以下两张表

  1. 购买记录
  2. 退费记录

场景需求: 以客户姓名为维度,统计出从指定时间开始的各个客户的总购买金额总退费金额

提示

以上场景如果使用表单作为数据源的统计方式是无法实现的,因为只能选择单张表单作为数据源,即只能统计单张表单的数据

1.1 创建记录表单

创建:购买记录退费记录,并新增测试数据

注意

客户名为文本类型控件,金额为数值类型控件

1.2 创建业务流程

点击+ 新建工作流,然后选择业务流程,并修改流程名字为使用「业务流程」统计

设置触发节点参数

1.3 统计表单数据

使用数据统计节点分别统计:购买记录退费记录

配置:购买记录

配置:退费记录

1.4 横向连接统计结果

以上两个统计节点,返回了以客户名作为维度的统计数据,现在需要将两个节点的统计数据合并为一份数据(以客户名作为连接字段)

1.5 返回统计结果

返回横向连接数据,返回数据可以被页面组件使用

1.6 展示统计数据

添加一个统计图表中的多维表,用于展示统计数据

设置维度指标后,可查看统计结果

1.7 添加计算字段

添加计算字段:消费金额 = 购买金额 - 退费金额

消费金额添加为指标

1.8 查看流程日志

通过查看流程日志,可以查看每一个节点的执行情况。如果「业务流程」返回不及预期,那么可以通过流程日志定位问题

场景2:表单调用「业务流程」

场景说明

客户管理系统中存在客户表客户表包含了子表购买记录购买记录字段如下

  1. 商品名称
  2. 购买金额

场景需求: 将购买记录中相同名称的商品合并为同一个商品,并计算出购买金额之和

1.1 创建客户表

客户表字段如下

1.2 创建业务流程

点击+ 新建工作流,然后选择业务流程,并修改流程名字为汇总购买记录

1.3 数据分组汇总

需要将购买记录中的数据按商品名称进行分组汇总统计,添加数据工厂-分组汇总节点

1.4 返回汇总数据

返回汇总后的数据,此数据可以被调用方使用

1.5 添加汇总子表

客户表添加加一个子表:购买记录(汇总后),用于展示汇总后的数据

1.6 添加流程调用控件

添加一个流程调用控件,并调用上面创建的业务流程汇总购买记录

设置输入参数,将购买记录传递给「业务流程」

设置输出参数,并将流程返回值设置到子表购买记录(汇总后)

1.7 执行流程调用

创建购买记录的记录值,创建完成后点击查询按钮

1.8 查看流程日志

通过查看流程日志,可以查看每一个节点的执行情况。如果「业务流程」返回不及预期,那么可以通过流程日志定位问题

场景3:流程调用「业务流程」

场景说明

客户管理系统中存在购买记录购买记录字段如下

  1. 商品名称
  2. 购买金额
  3. 优惠金额

场景需求: 已存在购买记录若干记录,需要向购买记录添加字段实际金额实际金额 = 购买金额 - 优惠金额),并修复已存在的记录数据

1.1 创建记录表

购买记录字段如下

添加购买记录记录

1.2 创建表单按钮

创建客户表修复按钮,点击按钮以后执行按钮对应的流程

1.3 创建业务流程

提示

点击修复按钮后,需要执行的流程如下:

  1. 查询全部购买记录
  2. 对每一条购买记录单独执行「业务流程」并计算实际金额
  3. 设置计算得到的实际金额

这里创建一个「业务流程」用于修复单条购买记录数据


添加公式计算节点,用于计算实际金额


添加更新记录节点,用于更新实际金额

1.4 设置按钮工作流

点击修复按钮对应的工作流,并添加查询记录节点,用于查询所有的购买记录

然后对每一个购买记录都执行一次业务流程修复单条购买记录

1.5 执行修复流程

点击修复按钮,触发修复流程,并查看修复结果

1.6 查看流程日志

查看修复按钮流程日志

查看修复单条购买记录流程日志(包含3条记录)