怎样保证数据处理高效稳定?这篇文章告诉你......

触发手动执行工作流

“触发手动执行工作流”功能,在因数据变化而触发的工作流中,支持根据条件直接触发“手动执行工作流”,可以非常明确的设定工作流的触发时机和执行顺序。

我们以即时核算销售人员月销售业绩工资为例:
当订单表的订单收到客户的回款后,系统会自动记录客户的结款日期。同时,员工表中对应员工的当月业绩工资被更新。
具体怎么做呢?在这个小场景当中,涉及到两个表格,分别为订单表和员工表。

首先,我们创建一个订单表,用来记录客户姓名、订单状态、所属销售、结款日期。

然后,我们创建另一个员工表,来记录员工姓名、业绩比例、业绩工资。

接下来我们要正式开始通过用工作流来解决两个字段更新问题了:

1、修改订单状态为已回款时,触发工作流修改订单表里的结款日期为当前日期(即today)。

2、修改订单状态为已回款时,触发工作流更新员工表里的业绩工资。

我们可以看到,我们要解决的这两个问题的触发动作及触发条件是一样的,即当修改时,且修改为已回款时,可触发工作流。写到工作流当中如下图:

我们继续解决第一个问题,触发工作流后直接修改订单表里的结款日期为当前日期。设置如下:

OK!阶段性胜利✌️
相信这一步小伙伴们都能够轻松拿下~

接下来我们来解决第二个问题,更新员工表里的业绩工资。
以往我们可以添加一个新的后续操作,选择目标表格为员工表去更新业绩工资。
在这里我们使用新功能 —— 触发手动工作流,来解决这个问题。
这个功能需要用订单表的工作流去触发员工表的手动工作流,那么我们先来员工表创建一个手动工作流,如下图:

更改工作流名称为“核算员工绩效工资”;

触发方式选择“手动触发单次执行”;

在这里,我们要设置三个执行参数,用于在触发此工作流的上一个工作流中获取对应值,即参数。设置一个金额字段,叫做本月订单金额总和,去获取订单表对应销售人员的本月订单金额总和;设置一个文本字段叫做数据ID,去获取订单表触发工作流的当前数据中的关联字段 —— 所属销售字段的字段值(即该销售在员工表中对应数据的数据ID);设置一个数值字段叫做提成比例,去获取员工表的提成比例。

接下来,我们来解决手动工作流要执行的操作问题,即更新对应员工的业绩工资。

有了以上我们设置好的两个参数,就可以把它应用于接下来的操作啦~

首先,通过执行参数的数据ID筛选出要修改的数据,然后,用执行参数获取的本月订单金额总和乘以业绩比例算出该员工的业绩工资。如下图设置好后,直接保存。

这时候,有小伙伴会提问了。
执行参数的数据ID是多少?哪来的?
执行参数的本月订单金额总和是多少?哪来的?

来来来~接下来我们把这两个值设置一下。
回到订单表中的工作流里,最下方找到“触发手动工作流”的位置,添加选择员工表里对应的手动工作流。设置如下:

首先,添加一个操作。只要修改为回款就更新业绩工资,因此这里不需要再触发条件,我们可以用TRUE()。这个函数代表不论怎样都通过。
然后,我们给手动工作流中设置的两个参数赋值。其中,本月订单金额总和用SUM()函数来统计,统计当前数据对应的所属销售本月所有订单的订单金额。
SUM函数的用法如下:
SUM(数字字段, [统计条件])
返回指定表格中满足条件的数据,其指定数字字段值的总和。统计条件中不可嵌套使用统计函数。
示例:
SUM({员工表.工资})

接下来,给数据ID赋值,我们要找出当前数据的所属销售的字段值(即所属销售在员工表中对应的员工数据的ID)。
如上图所示,我们通过ITEM()函数来把这条数据找出来。怎么找呢?可以用当前数据的所属销售新值去员工表中找到对应的数据,返回到该条数据的数据ID。
ITEM函数的用法如下:
ITEM(表格, 条件, [排序], [返回字段])
根据条件和排序获取指定表格中的一条数据,还可指定返回该数据哪个字段的值。无需条件时请写两个单引号''。排序默认按照创建时间倒排。
示例:
ITEM({当前表格}, {当前表格.销售状态} = {C:已签约},{当前表格.创建时间-倒序})
// 返回销售状态为已签约的最新发布的一条数据
ITEM({当前表格}, '', {当前表格.销售额-倒序}, {当前表格.销售人员})
// 返回销售额最大的一条数据的销售人员字段的值,返回值类型由字段决定。
这样,我们全部操作就设置好了。
That's all !

来看下效果

了解了触发手动工作流的用法之后,小伙伴们可能还有一个疑问。前面我们提到了解决这个问题有两种办法:

① 可以添加一个新的后续操作,选择目标表格为员工表去更新业绩工资。

② 使用新功能—触发手动工作流,来解决这个问题。

那么,能用一个工作流解决的问题我们为什么要用两个呢?
以上仅仅是利用一个简单的场景教大家怎么使用该功能。

在复杂场景中,我们可能会有A表数据发生变化触发工作流去修改B表修改数据,但在B表数据发生变化则不需要触发工作流,这个时候我们就可以用手动工作流来设置;
或者我们多个表的修改都会触发工作流修改B表的数据,这个时候我们可以在B表设置一个手动工作流,让其他工作流都来调用此手动工作流,让数据更新更稳定。且当有问题发生,追溯问题只需要检查这一个手动工作流,减少负担、防止失误。
再或者,我们需要工作流修改了某个字段C,再调用字段C去计算字段D的值,这个时候就可以利用触发手动工作流,保证工作流执行的先后顺序,让数据流转更加稳定。
更多的用法,等待各位小机灵去挖掘~

全局变量

接下来给大家介绍另一个新的概念 —— 全局变量。
以往我们设置的临时变量只能应用于当前操作,而全局变量可以被应用于当前工作流的所有后续操作中,使工作流配置更加灵活。
快来看看使用教程吧!
先看下之前没有全局变量功能时的情况。

如上图,之前没有加入全局变量功能的时候,我们只能够设置临时变量。但是临时变量只能够在当前执行操作下调用,无法在其他后续操作中调用。
我们再来设置一个全局变量,看看会有什么样的变化。

哇哦!在所有的后续操作中都可以调取全局变量,是不是更方便啦?

快来试试吧!

2023-08-01 更新
770 次查看
1