修改数据节点使用说明

1. 简介

本文将对 修改数据节点 的配置步骤、执行逻辑等进行介绍,以帮助用户更好地理解和使用修改数据节点。

2. 配置步骤

在修改表单数据时,通常需要明确三个关键操作,才能得到正确的修改效果,即想要把哪些行哪些列改成什么值。同样,在修改数据节点中,也需要进行如下 3 项配置:

1)筛选出要修改的数据(哪些行):设置过滤条件,将符合条件的主数据全部过滤出来;

2)设置字段值(哪些列,改成什么值):指定要修改的列,并设置其相应的新值;

3)设置目标数据与数据源间的匹配关系:若步骤 2)中修改了子表单/多条数据的值,则需要建立数据源与目标数据间的 1:1 / 1:N 关系,使得修改时,数据源中的每条数据都能够准确找到对应的目标数据并修改。

为什么还需要建立 1:1 / 1:N 关系?,说明如下:

步骤一仅是将目标数据过滤出来,并未建立与数据源间的关联,则,在取数据源中的数据去修改目标数据时:

若目标数据只有一条,数据源中也只有一条数据时,节点会自然地拿一条数据去修改一条数据。

目标数据有多条,数据源中有一或多条数据时,节点就不知道该拿哪一条数据,去修改哪一条或哪几条数据。

因此,需建立数据源与目标数据间的 1:1 / 1:N 关系,使得节点在拿到一条数据后,知道应该去修改哪些数据。

注:

1)由于子表单中可有一或多条数据,在修改数据节点中将统一视为「多条数据」处理;

2)若未出现步骤 3 的配置项,则说明不需要配置,仅参考步骤 1、2 进行配置即可。

3. 执行逻辑

完成上述配置后,修改数据节点便能够正确执行。且不同修改方式下的执行逻辑不同,具体如下:

3.1 修改已有数据

1)逻辑说明

第一步:获取到数据源数据后,根据过滤条件,从目标表单中过滤出符合条件的主数据;

  • 能过滤出数据,进入第二步;
  • 未能过滤出数据,结束执行。

第二步:从数据源中取出一条数据,根据匹配关系设置,匹配到目标数据中的一或多条主/子数据;

  • 能匹配到对应数据,进行相应修改即可;
  • 未能匹配到对应数据,则不进行修改操作。

接着,循环执行步骤二,直到遍历完数据源中的所有数据后,结束执行。如下图所示:

2)效果演示

注:本节仅演示节点的执行逻辑,表单搭建和节点具体配置等内容请参考:使用子表数据修改子表数据

以修改订单号为 JDY-001 的订单数据中,外套、毛衣商品的订货数量为例,对节点的执行逻辑进行演示:

  • 第一步:通过过滤条件,筛选出订单号为 JDY-001 的整条数据。如下图所示:

  • 第二步:取出数据源中的一条数据,根据匹配关系设置,若能匹配到对应目标数据,便可进行修改,如:
    • 取出「商品名称为外套」的数据后,能够在目标数据中匹配到「商品名称为外套」的数据,可进行修改。

    • 取出「商品名称为毛衣」的数据后,无法在目标数据中匹配到「商品名称为毛衣」的数据。此时,将忽略该条数据,不做修改。

3.2 修改或新增数据

「修改或新增」相对于「修改已有数据」的区别是,在未过滤出/未匹配到要修改的数据时,不会结束执行,而是根据当前的数据源,直接向目标表单中新增数据。具体如下:

3.2.1 逻辑说明

第一步:取到全部数据源数据后,根据过滤条件,从目标表单中过滤出一或多条主数据;

  • 能过滤出主数据,则进入第二步;
  • 未能过滤出主数据,则直接根据数据源,向目标表单中新增对应数据,不再进行第二步。

第二步:从数据源中取出一条数据,根据匹配关系设置,匹配到目标表单中的一或多条主/子数据;

  • 能够匹配到对应数据,进行相应修改即可;
  • 未能匹配到对应数据,则根据该条数据,向目标表单执行新增操作;

接着,循环执行步骤二,直到遍历完数据源中的所有数据后,结束执行。如下图所示:

3.2.1 效果演示

注:

1)本节仅演示执行逻辑,表单搭建和节点具体配置等内容请参考:使用子表数据修改或新增子表数据

2)本节仅讲解「未过滤出/未匹配到要修改的数据」时的新增数据场景,其余修改场景下的执行逻辑与「修改已有数据」相同,不再赘述。

示例场景:在修改或新增「订单表」中某一订单的商品明细时,能够同步修改「回款跟进表」中对应的回款计划。

当「回款跟进表」中只有一条订单号为 JDY-001 的数据时,不同数据源的执行效果不同,具体如下:

1)新增场景一

修改「订单表」中订单号为 JDY-002 的数据后,触发了「智能助手Pro」。则,在执行第一步时,无法从「回款跟进表」中筛选出订单号为 JDY-002 的数据:

将会直接新增一条主数据,如下图所示:

2)新增场景二

修改「订单表」中订单号为 JDY-001 的数据后,触发了「智能助手Pro」。则,执行到第二步时:

  • 商品编码为 SJ-001、PJ-001 的数据源,可以在目标数据中匹配到商品编码一致的数据,能够进行修改操作。

  • 商品编码为 SJ-002 的数据源,未能在目标数据中匹配到商品编码一致的数据,将直接在目标数据子表单中新增一条子表数据:

最终,修改了两条子表数据,新增了一条子表数据,效果如下图所示:

4. 匹配关系说明

在设置待修改的数据与数据源之间的匹配关系时,需要根据不同场景进行不同的设置。具体可分为如下两类:

4.1 多改多场景

4.1.1 逻辑说明

当数据源间与目标数据为多对多关系时,需要设置匹配规则,建立起两者间的 1:1 或 1:N 关系。

如何设置匹配规则呢?根据实际需求,组合目标表单中的一或多个字段,建立起一个联合索引即可。这样,数据源便可利用该索引,来查找对应的目标数据。

以批量更新用户联系方式为例,可以设置匹配关系为目标数据.用户ID「等于」数据源.用户ID,建立起数据源与目标数据间的 1:1 关系,使得新表中的每条数据能够通过用户ID找到底表中对应的用户数据并修改。

4.1.2 具体场景

在如下字段值配置场景中,目标数据与赋值数据源间为多对多关系,需要设置数据匹配关系。

修改对象类型

目标数据源类型

用于赋值的数据源

主字段被修改为

子表单字段被修改为

选择表单修改数据

仅有主表字段

单值数据源

节点子表字段(多值)

多值数据源

节点主字段(多值)

存在子表字段

单值数据源

节点主表字段

自定义值

空值

节点子表字段(多值)

节点子表字段(多值)

多值数据源

节点主表字段(多值)

自定义值

空值

节点主表字段(多值)

选择节点修改数据

存在子表字段

单值数据源

节点主表字段

自定义值

空值

节点子表字段(多值)

多值数据源

自定义值

空值

节点主表字段(多值)

以表中高亮部分场景为例,进行详细讲解。即,当修改对象为「选择表单修改数据」,并将「目标数据的主字段」修改为「单值数据源的子表字段」时,由于:

  • 选择表单修改数据时,可从目标表单中过滤出 0~N 条数据,统一视为多条数据处理;
  • 使用节点子表字段进行赋值时,由于子表单中可有一或多条数据,统一视为多条数据处理。

此时出现了多对多关系,因此需要设置数据匹配关系。

注:

1)单值数据源包括:新增数据节点(单条)、查询单条数据节点、计算节点、插件节点;多值数据源包括:新增数据节点(多条)、查询多条数据节点;

2)修改对象为「选择节点修改数据」,且所选节点为多值数据源节点时,匹配关系的逻辑与具体场景与「选择表单修改数据」完全一致。

4.2 多改一场景

4.2.1 逻辑说明

将子表单数据修改为单一值时,需要设置子表单过滤条件,建立起数据源与目标数据间的 1:N 关系,使得节点知道,该修改子表单中的哪些数据。

如,在修改学生 A 的英语成绩时,可以设置子表单过滤条件为子表单.科目「等于」英语,以确保只有英语科目的数据被修改。

4.2.1 具体场景

在如下字段值配置场景中,将子表单数据修改为了单一值,需要设置子表单过滤条件。

修改对象

目标数据源

赋值数据源

主字段被修改为

子表单字段被修改为

选择表单修改数据

存在子表字段

单值数据源

节点主表字段

自定义值

空值

节点主表字段

自定义值

空值

多值数据源

自定义值

空值

自定义值

空值

选择节点修改数据

存在子表字段

单值数据源

节点主表字段

自定义值

空值

节点主表字段

自定义值

空值

多值数据源

自定义值

空值

自定义值

空值

以表中高亮部分场景为例,进行详细讲解。即,当修改对象为「选择表单修改数据」,并将「目标数据的子表字段」修改为「单值数据源的主表字段」时,由于:

  • 修改子表单数据时,子表单中可能有一或多条数据;
  • 单值数据源中仅有单条数据,其主表字段为单一值;

此时可能会将多条子表单数据修改为单一值,因此需要设置过滤关系,仅对特定的子表单数据进行修改。

注:

1)单值数据源包括:新增数据节点(单条)、查询单条数据节点、计算节点、插件节点;多值数据源包括:新增数据节点(多条)、查询多条数据节点;

2)修改对象为「选择节点修改数据」,且所选节点为多值数据源节点时,匹配关系的逻辑与具体场景与「选择表单修改数据」完全一致。

文档内容是否对您有帮助?
有帮助
没帮助没帮助
如需获取即时帮助,请联系技术支持
咨询
扫码领取100+零代码资料简道云官方微信号400-111-0890
图标在线咨询
立即体验