子表单赋值规则
1. 简介
在修改、新增目标表单数据时,可以使用子表单字段进行赋值,但需要遵循以下赋值规则。本文以「表单1」作为目标表单、「表单2」作为赋值数据源,来讲解以下规则。
2. 新增数据时
2.1 主字段或单个子表单不能使用不同子表单字段赋值
1)主字段赋值
在使用「前置节点子表单字段」对「目标表单的主字段」进行赋值时,若前置节点中包含多个子表单,只能使用其中一个子表单的子字段对所有主字段进行赋值。
若在设置字段值时,更换了子表单进行赋值,则之前的子表单赋值设置会被清除,如下图所示:
2)子字段赋值
在使用「前置节点子表单字段」对「目标表单的子字段」进行赋值时,若前置节点中包含多个子表单,则目标表单单个子表单中的子字段不能使用不同的子表单子字段进行赋值。
若在设置字段值时,更换了子表单进行赋值,则之前的子表单赋值设置会被清除,如下图所示:
2.2 主字段和子字段的配置冲突
当目标表单中同时包含主、子字段时,在如下配置场景中,主字段和子字段的配置会发生冲突。
- 使用「多值数据源的主表字段」对子字段进行赋值后,不可再使用「多值数据源的主表字段」对主字段进行赋值:
- 使用「多值数据源的子表单字段」对子字段进行赋值后,至少需要有一个主字段使用「多值数据源的主表字段」进行赋值。
注:「多值数据源」是指,存储多条数据的前置节点。
2.3 子字段不能同时为主字段和子字段赋值
当目标表单同时包含主表、子表字段时,主、子字段不能同时使用「前置节点的子表单字段」进行赋值。如:
当任意一个子表单字段使用「前置节点的子表单字段」进行赋值后,则所有主表字段均不可再使用「前置节点的子表单字段」进行赋值。
3. 修改数据时
3.1 只支持修改同一个子表单的字段
当目标表单包含多个子表单时,一个修改数据节点,最多支持修改其中一个子表单的数据。否则,在添加第二个子表单的字段时,之前的子表单赋值设置会被清除,如下图所示:
3.2 不支持同时使用主字段和子字段为子字段赋值
若前置节点同时包含主表、子表字段,则修改目标表单的子表单数据时,仅能使用同一来源字段进行赋值,否则,将会清空冲突的赋值配置。同一来源是指:
- 仅使用主字段进行赋值:
- 仅使用同一子表单的子字段进行赋值:
3.3 只支持修改为同一个子表单的字段值
在修改目标数据的主字段或子字段时,若前置节点中包含了多个子表单,则需要遵循以下规则,否则将会清空冲突的赋值配置。
- 修改主字段时,只能使用其中一个子表单的子字段对所有主字段进行赋值:
- 修改单个子表单字段时,只能使用其中一个子表单的子字段对子表单字段进行赋值。
3.4 主字段和子字段的配置冲突
当同时修改目标表单的主、子字段时,在如下配置场景中,主字段和子字段的配置会发生冲突。
- 主、子字段不能同时使用「前置节点的子表单字段」进行赋值:
- 使用「前置节点的子表单字段」对「目标表单的主字段」赋值后,将不能再修改任意子字段:
- 使用「前置节点(多条数据)的主表字段」对「目标表单的主字段」赋值后,将不能再修改任意子字段:
3.5 子表单的修改和新增赋值发生冲突
若修改方式为「修改或新增」,则使用「前置节点的子表单字段」对「目标表单的子表单字段」进行修改、新增赋值,则仅能使用同一节点的同一子表单字段。否则,将会清空冲突的赋值配置,如下图所示: