使用子表数据修改或新增子表数据
1. 简介
1.1 功能简介
- 若另一个表单的子表单有满足过滤条件的数据,则修改匹配到的子表单数据;
- 若另一个表单的子表单无满足过滤条件的数据,则在子表单内新增数据。
1.2 应用场景
在订单回款场景中,当「订单表」中新增订单数据并通过审批时,自动在「回款跟进表」中新增一条记录;若后续该订单表有商品修改或新增,可以自动修改「回款跟进表」的回款计划。
1.3 预期效果
此前,订单表中只有一条「订单号」为 JDY-001 的数据:
1)在订单表中新增「订单号」为 JDY-0002 的数据,「回款跟进表」中会同步新增一条数据:
即主表字段不满足过滤条件,不管子表数据是否能匹配到要修改的数据,都在目标表单中新增一条数据。
2)接下来,修改「订单表」中的 JDY-0002 中鼠标的数据,同步修改「回款跟进表」中子表数据:
即当主表满足过滤条件,子表数据也能匹配到要修改的数据时,在目标表单的子表单修改对应数据。
3)在「订单表」的 JDY-0001 中新增一条数据,会在「回款跟进表」中同步新增子表数据:
即当主表满足过滤条件,子表单未匹配到要修改的数据时,在目标表单的子表单中添加对应子记录。
2. 表单搭建
1)首先,创建一个 流程表单「订单表」,在表单中添加子表单「订单明细」。字段设置如下:
字段名称 | 字段类型 |
订单编号 | 单行文本 |
客户名称 | 单行文本 |
最晚发货时间 | 日期时间 |
订单明细 | 子表单 |
订单明细.商品编码 | 子表单-单行文本 |
订单明细.商品名称 | 子表单-单行文本 |
订单明细.数量 | 子表单-数字 |
订单明细.单价 | 子表单-数字 |
订单明细.金额 | 子表单-数字 |
总金额 | 数字 |
审批结果 | 单选按钮组 |
2)流程表单的流程可在流程设定处进行设置,包括各节点的负责人和字段的可见属性等。详情参见:流程设定。
- 在发起节点处配置字段权限
- 在审批节点处配置节点负责人、字段权限
3)再创建一个「回款跟进表」,在表单中添加子表单「回款计划」。字段设置如下:
字段名称 | 字段类型 |
订单编号 | 单行文本 |
客户名称 | 单行文本 |
最晚发货时间 | 日期时间 |
回款计划 | 子表单 |
回款计划.商品编码 | 子表单-单行文本 |
回款计划.商品名称 | 子表单-单行文本 |
回款计划.数量 | 子表单-数字 |
回款计划.单价 | 子表单-数字 |
回款计划.金额 | 子表单-数字 |
总金额 | 数字 |
3. 设置智能助手Pro
3.1 新建智能助手Pro
表单搭建完成后,直接切换到「扩展功能」处,新建一个「智能助手Pro」并设置好名称,触发方式选择「表单触发」,触发表单选择「订单表」。如下图所示:
3.2 设置触发节点
选中触发节点,并进行如下设置,使得「智能助手Pro」在新增订单数据、修改订单数据(包括:修改子表单数据、新增/删除子表单数据等)时均可触发:
- 添加触发动作:新增数据时、修改数据时;
- 添加触发条件:「审批结果」等于「通过」。
3.3 添加修改数据节点
在触发节点下方添加一个「修改数据」节点,如下图所示:
3.4 设置修改数据节点
进一步对「修改数据」节点进行设置,具体如下:
3.4.1 选择修改对象
选择修改对象为「选择表单修改数据」,目标表单为「回款跟进表」:
3.4.2 筛选出需要修改的数据
添加过滤条件,从「回款跟进表」中筛选出与触发数据中订单号一致的回款数据;如没有可修改的数据,则直接执行新增一条回款数据操作。具体设置如下:
- 过滤条件:「订单号」等于「触发数据--订单号」;
- 勾选「没有可修改的数据时,向对应表单新增数据」选项。
注:
1)此处的过滤条件仅是将需要修改的整条数据过滤出来,并未执行任何处理操作;
2)节点在执行时,若未过滤出符合过滤条件的主数据,将视为「没有可修改的数据时」情况,会直接向对应表单新增主数据。
3.4.3 设置字段值
1)修改数据
对已过滤出的回款数据进行修改,设置步骤如下:
- 添加要修改的字段并设置其字段值:将回款计划中的相关信息修改为触发数据中的对应信息,且如下子表字段将使用「触发数据的子表单字段」进行赋值;
- 「回款计划.商品编码」等于「触发数据--订单明细.商品编码」
- 「回款计划.商品名称」等于「触发数据--订单明细.商品名称」
- 「回款计划.数量」等于「触发数据--订单明细.数量」
- 「回款计划.单价」等于「触发数据--订单明细.单价」
- 「回款计划.回款金额」等于「触发数据--订单明细.金额」
- 设置待修改数据与数据源的匹配关系:在修改过程中,「触发数据子表单中的多条商品明细数据」,会在通过商品编码匹配到「回款计划子表单中的相应商品数据」后,进行字段值的修改;
- 「回款计划.商品编码」等于「触发数据--订单明细.商品编码」
注:
1)若「触发数据子表单」中的某条商品明细,通过商品名称没有匹配到要修改的子表数据,则视为「没有匹配到要修改的数据」情况,会向回款计划子表单中直接新增一条商品明细;
2)回款计划子表单中未被匹配到的数据,将直接忽略,不做修改。
2)新增数据
未匹配到与触发数据一致的回款数据、或商品数据时,会根据触发数据直接向「回款跟进表」中新增对应相应数据。具体设置如下:
- 切换至「新增数据」:在此处进行新增数据时,各字段值的设置;
- 设置字段值:将各字段值设置为触发数据中相应字段的值。且如下子表字段需使用「触发数据的子表单字段」进行赋值。使得当触发数据中存在子表单数据时,会在「回款跟进表」中新增对应子表数据;
- 「回款计划.商品编码」等于「触发数据--订单明细.商品编码」;
- 「回款计划.商品名称」等于「触发数据--订单明细.商品名称」;
- 「回款计划.数量」等于「触发数据--订单明细.数量」;
- 「回款计划.单价」等于「触发数据--订单明细.单价」;
- 「回款计划.回款金额」等于「触发数据--订单明细.金额」。
3.5 保存并启用
全部设置完成后,点击「保存并启用」按钮,将「智能助手Pro」投入实际使用。如下图所示:
3.6 效果演示
效果参见本文【1.3 预期效果】。
4. 注意事项
1)暂不支持通过子表单去删除子表单数据,即子表单有数据被删除,不会同步删除另一张表里的子表单数据。
2)修改数据时,子表单的赋值规则可参考:子表单赋值规则 。