跳到主要内容

更新数据

功能简介

Q-Robot可以根据你设置的条件,自动更新目标应用中的目标字段。

当条件满足时,它会自动修改或补充数据,让不同应用之间的数据保持同步,减少手动修改和查询的步骤,大幅度提升效率

应用场景

  • 自动更新员工职位或部门信息
  • 自动更新项目进度或状态
  • 自动更新商品库存、价格等数据
  • 自动更新设备状态(如库存、已领用)
  • ……

操作步骤

添加节点

在「添加流程」中添加一个Q-Robot更新数据节点,当流程流转到该节点时,系统会自动对目标应用中符合条件的数据进行更新。

image.png

表格筛选条件

当你使用 QRobot 更新数据节点时,可以选择把当前应用的表格数据更新到目标应用。

在未设置表格筛选条件的情况下,系统默认会把表格里的每一行都更新过去。

  • 假设你当前应用的表格里有 5 行客户数据

  • 如果将表格子字段更新到目标应用的 主字段 → 系统会选择将表格中最新的一行数据更新到目标应用的主字段

如果你只想把表格中符合特定条件的行更新到目标应用,可以设置表格筛选条件

  • 系统会先筛选出符合条件的行,然后只把这些行作为数据源更新到目标应用。

注意,添加数据时仅支持筛选一个表格字段,更新数据时支持筛选多个表格字段。筛选条件设置后,Q-Robot 的操作仅对筛选后的表格子数据生效。

更新数据规则

选择目标应用

首先,选择目标应用,即确定需要更新数据的应用。

添加更新哪些数据

接下来,添加筛选条件,设定目标应用中满足哪些条件的数据将被更新。

更新规则

最后,需要配置更新规则:也就是明确,目标应用中哪些字段将由当前应用的哪些字段进行更新。

以上都配置完成后,目标应用中满足筛选条件的数据,就会按照您配置的更新规则进行自动更新啦~而且所有的更新操作,都会记录在流程日志中。

筛选条件配置原则:

子:代表表格子字段

主:代表主表单字段

子-主:代表:目标应用字段选择了表格子字段,当前应用字段选择了主表单字段

  • 筛选条件支持以下三种类型的匹配关系:“主-主/主-自定义”、“子-主/子-自定义”、“主-子”
  • 设置目标或当前应用字段时,仅支持选择同一个表格内的子字段
  • 筛选条件不能同时含有“子-主/子-自定义”和“主-子”类型
  • 使用或条件时,每组或条件设置的筛选条件类型必须相同,即,只有“主-主/主-自定义”,或都含有“子-主/子-自定义”,或都含有“主-子”

更新规则配置原则:

  • 任何类型的筛选条件,设置更新规则时,都允许设置为“主-主/自定义”的类型

  • 当筛选条件中有“主-子”类型时,更新规则只允许设置为“主-主/自定义”和“主-子”类型

  • 若当前应用表格中筛选到多行符合筛选条件,则将符合条件的这些行随机选取一行更新赋值到目标应用中被匹配到的数据

  • 当筛选条件中有“子-主”类型时,更新规则只允许设置为“主-主/自定义”和“子-主/自定义”类型,表格的更新类型仅支持[更新已有行]

  • 当筛选条件只有“主-主”类型时,更新规则允许选择“主-主/自定义”、“子-子”、“子-主/自定义”

  • 当目标字段选择表格时,表格更新支持[添加新行]和[覆盖整表]两种类型,且仅支持选择其中的一种类型

  • 若选择[添加新行]

  • 当前应用字段可选择主表单字段和表格子字段

  • 若选择[覆盖整表]

  • 当前应用字段仅支持选择表格子字段,且仅支持选择同一个表格内的子字段

  • 若选择了目标应用字段,但未选择当前应用字段,则更新数据时,该字段不会被更新

  • 已经设置了筛选条件和更新规则,又对筛选条件进行更改的情况,如果新设置的筛选条件与已设置的更新规则存在冲突,会提示您存在设置的冲突

  • 若依然保存,则存在冲突的筛选规则会被置空

这些罗列的规则是不是很枯燥难懂,看下面的表格会清晰一些

更新操作筛选条件更新规则场景
主表单字段更新主表单字段(主更新主)任何类型主-主/自定义客户管理客户联系信息记录表·客户属性→客户基础信息表·客户属性
表格子字段更新主表单字段(子更新主)只要有:主-子主-子员工入职资产领用表·领用明细表格·资产状态→资产信息管理表·资产状态
表格子字段更新表格(子更新子-覆盖整表)仅有:主-主/自定义子-子排课调课调课表·课程安排表格→课程表·课程安排表格
表格子字段更新表格(子更新子-添加新行)仅有:主-主/自定义子-子/自定义员工领用资产资产领用表·领用明细表格·资产状态→员工个人信息表·领用资产明细表格
主表单字段更新表格(主更新子-添加新行)仅有:主-主/自定义子-主/自定义工程管理收款单→收款记录·记录明细表格
主表单字段更新表格(主更新子-更新已有行)只要有:子-主/自定义子-主/自定义项目管理项目日报·项目进度→项目详情-项目列表·进度

如果表格还是不够清楚,看完接下来分场景逐一详细的介绍一定就没问题了~

更新操作类型简介&案例

更新操作类型1:主表单字段更新主表单字段

在客户管理的过程中,我们需要有一个“客户池”——客户基础信息表,同时维护一个联系情况记录——客户联系信息记录表。我们常需要通过客户联系记录,来更新客户基础信息。

具体详情见传送门:主表单字段(当前应用)➡️主表单字段(目标应用)

更新操作类型2:表格子字段更新主表单字段

新员工入职时,会领用办公设备,在这种场景中,一般会有一个资产信息管理表记录管理公司的设备资产;员工领用设备时,会在资产领用表中发起一条数据,在资产领用明细表格记录所领用的设备。此时需要资产领用表触发更新资产信息管理表中资产的状态,从在库改为已领用。

具体详情见传送门:表格子字段(当前应用)➡️主表单字段(目标应用)

更新操作类型3:表格子字段更新表格-覆盖整表

在排课管理的场景中,会有一个排课管理表,但是已经排好的课程安排也有可能需要调整,此时就需要一个排课调整表来更新排课管理表中的数据。更新操作为排课调整表中的课程安排表格覆盖排课管理表中的课程安排表格。

具体详情见传送门:表格子字段(当前应用)➡️表格-覆盖整表(目标应用)

更新操作类型4:表格子字段更新表格-添加新行

同样在员工领用办公设备的场景中,员工领用设备时,会在资产领用表中发起一条数据,在资产领用明细表格记录所领用的设备。同时,需要将领用设备的明细,更新添加到员工个人信息表中的资产领用明细表格中。

具体详情见传送门:表格子字段(当前应用)➡️表格(目标应用)-添加新行

更新操作类型5:主表单字段更新表格-添加新行

在工程管理的场景中,一般会有一个收款记录表,该表单中用一个记录明细表格来记录一个项目的所有收款记录。当收到一笔新款项时,会通过收款单新建一条数据记录该款项。此时,需要自动在收款记录表的记录明细表格中添加收款单中的这条数据。

具体详情见传送门:主表单字段(当前应用)➡️表格-添加新行(目标应用)

更新操作类型6:主表单字段更新表格-更新已有行

在项目管理中,一个项目会有多个任务,这些任务的信息及状态是在项目详情表单的任务列表表格中进行管理。项目负责人每天在任务日报表单中记录任务的状态,此时需要把任务日报中记录的任务状态,同步更新到任务列表表格中。

具体详情见传送门:主表单字段(当前应用)➡️表格-更新已有行(目标应用)

7.添加数据功能

新增数据为解决需要覆盖式更新的场景而生,例如既希望将已有数据更新,又希望将不满足筛选条件的数据补充进去,添加数据功能就可以做到这一点。 是否添加数据的判断依据,依旧是Q-Robot更新数据设定筛选条件,当满足筛选条件时更新目标应用,不满足筛选条件时,则为目标应用添加数据。

8.使用案例

本水果公司本来只卖一种水果是苹果,单价是9元;

但本季度供应商新提供一种水果——香蕉,单价是20元,同时苹果的单价页提高到了10元,

我们需要维护水果价格的价目表。

维护前:

image.png

维护流程:

1、新建“水果价格维护申请”,表单内容设置与“水果价格表”字段相符(单行文字——水果名,数字——单价);

2、设置qrobot自动更新节点,目标应用选择“水果价格表”,筛选条件选择“水果名”相等,更新规则设置“单价”匹配,此时,当前应用提交数据时,符合筛选规则——水果名相等的数据(苹果)中的单价将更新至目标应用;

3、打开新增数据功能,设置添加数据的匹配条目,水果名匹配和单价匹配,此时,当前应用提交数据时,不符合筛选规则——水果名相等的数据(香蕉)中的水果名和单价将创建一条新数据,添加至目标应用;

4、发布后,在“水果价格维护申请”中,分别提交两条数据(“苹果 10”,“香蕉 20”)。 image.png

维护后:

水果价格表中,苹果的单价被更新至10元;同时添加了香蕉的数据,单价为20元。

image.png

10.注意事项

企业微信用户不支持将申请人、成员、部门字段更新到文本类字段中,这些操作会默认写入成员或部门的ID。为防止多人同时操作导致数据出错,建议不要直接修改数字或金额等字段。如果需要记录新的数值,请使用 Q-Robot 新增数据 的方式添加新记录,而不是更新原有数据。在向成员&部门字段添加数据时,不受字段中「限制选项」的控制。Q-Robot单个节点每次最多更新1000条数据,超出此限制将导致更新失败。当Q-Robot执行出现延迟时,流程日志中将显示“队列中”状态,请耐心等待。这是系统正常处理中的表现,无需过于担心。若Q-Robot执行失败,请首先检查更新的数据是否已被删除,或接口是否调用错误。若无法自行排查原因,请联系与贵司对接的客户经理。

⚠️错误排查请参考:QRobot/Webhook 任务失败或阻塞后的处理办法