1. 概述
1.1 应用场景
用户想要将数据库系统数据输出到简道云多个子表单中,实现子表单数据的新增、更新和删除。
简道云表单改动前后变化:
注:需要保证主表单数据是不重复唯一的,且子表单是单条的。
需要更新写入的表单格式如下所示:
1.2 实现思路
1)子表单1数据写入。
获取主表单_id 字段。由于对于有增删改更新的简道云输出,需要使用_id,作为简道云数据的唯一标识,用于表单数据的更新和删除,因此将数据库中需要增删改的数据与简道云表单中已有数据关联,获取主表单_id 字段。
比对数据库数据与已有简道云数据,获取增删改数据,写入简道云。
2)子表单2 设置类似上述操作。
FineDataLink 中的数据处理过程,详情参见:https://demo.finedatalink.com/ 「 多个简道云子表单增删改输出」
2. 操作步骤
2.1 子表单1与主表单关联获取_id字段
新建数据转换,新增简道云输入算子,解析第一个子表单的数据,如下图所示:
使用json 解析,解析子表单1的字段,由于需要获取主表单的_id字段,因此需要勾选「解析后保留所有上游输出字段」,如下图所示:
点击数据预览即可看到解析出的子表单数据以及主表单_id等数据,如下图所示:
新增DB表输入算子,获取需要同步写入简道云的数据,如下图所示:
将两数据关联,关联方式为左关联,关联字段为主表单主键姓名字段,如下图所示:
使用字段设置,删除冗余字段,保留name1字段,即需要写入子表单1中的数据,将name3字段改名为文本,即需要写入简道云主表单中的姓名数据,以及主表单_id字段,如下图所示:
点击「数据预览」,即可看到DB表输入和简道云输入关联出_id等字段,如果关联出来没有_id则是新增数据,如果有_id则数据可能是修改或者相同,如下图所示:
2.2 简道云输出增删改子表单1数据
新增简道云输入和 JSON 解析,步骤与 2.1 节相同,解析出子表单1的字段,如下图所示:
与2.1 节关联后的数据进行数据比对,标记需要增删改的内容,如下图所示:
设置逻辑主键为简道云主表单唯一标识wenben(表单中名为姓名),或者不重复的字段组合,对比字段为解析出来的子表单1字段name1,如下图所示:
主表单anna数据不变,由于子表单中bob和Alice的班级都变化了,因此需要修改,且新增姓名fangfang的数据,如下图所示:
新增简道云输出字段,将需要写入的主表单主键字段和子表单1字段写入简道云中,如下图所示:
同时设置写入方式,并设置逻辑主键为 2.1 节中关联获取的主表单_id字段,如下图所示:
2.3 增删改输出子表单2数据
新建「数据转换」,命名为「主表单和子表单2」,如下图所示:
进入编辑界面后,按照 2.1 节同理创建简道云输入,解析获取子表单2的字段,如下图所示:
DB表输入获取需要增删改的数据,如下图所示:
关联两数据,这里要注意的是由于写入子表单2的数据需要在和子表单1同一条数据中,因此连接字段改为仅主表单主键,也就是数据库表的name3字段,如下图所示:
字段设置同理,保留子表单2数据和主表单数据以及主表单_id字段,如下图所示:
与2.2 节相同,再次解析子表单2字段,如下图所示:
进行数据比对,与2.2节相同,如下图所示:
预览即可看到比对结果,如下图所示:
然后和2.2 节相同,使用简道云输出增删改写入简道云表单,如下图所示:
3. 效果查看
执行任务,即可看到表单的增删改,如下图所示: