反馈已提交

网络繁忙

更新单个子表单-子表单没有主键

  • 文档创建者:Roxy
  • 历史版本:6
  • 最近更新:Wendy123456 于 2025-10-30
  • icon提示:
    本文方案适用于 4.1.14.1 及之后版本。

    1. 概述

    1.1 应用场景

    用户想使用数据库表数据更新简道云子表单数据。

    其中,简道云子表单中,没有主键字段。如下图所示:

    16.png

    1.2 实现思路

    1)构建数据库中需要写入的子表单 JSON 数据

    2)构建简道云表单中已有的子表单 JSON 数据(由于简道云表单中子表单包含_id字段,这样的子表单JSON 字段无法与数据库中构造的 JSON 字段进行数据比对,因此需要先使用 JSON 解析,将子表单数据解析为二维表字段,然后再使用 JSON生成构造子表单 JSON)

    3)通过数据比对进行增删改区分,并将数据写入简道云表单中。

    demo 任务详情参见:https://demo.finedatalink.com/「简道云输出子表单」

    2. 操作步骤

    2.1 构造数据库子表单的JSON字段

    1)新建一个定时任务。

    2)拖入「数据转换节点,进入数据转换节点。拖入DB表输入算子,读取数据库表数据。如下图所示:

    17.png

    点击「数据预览,可看到取出的数据库表数据。如下图所示:

    19.png

    2)拖入一个「JSON生成」算子,拼接子表单的 JSON。

    分组字段选择主表单的主键即可,由于本文示例,子表单数据变化会影响主表单的「总计」字段值,所以分组字段中选择「总计」字段,便于后续步骤中对比该字段。

    需注意,本节「JSON设置」中的字段名称、字段顺序、字段类型,需要与 2.3 节简道云子表单生成 JSON 字段时配置一致。

    如下图所示:

    35.png

    点击「数据预览」,可看到已拼接好的子表单JSON。如下图所示:

    36.png

    2.2 构造简道云主表单中已有的子表单

    1)拖入「简道云输入算子,读取简道云表单数据。如下图所示:

    注:读取简道云表单数据时,需要为简道云表单字段设置字段别名或者修改字段名,否则接入到 FineDataLink 中时会使用字段原始名,不便于在 FineDataLink 中进行业务处理。详情请参见:设置字段别名

    22.png

    点击「数据预览,如下图所示:

    24.png

    2)由于简道云表单中子表单包含_id字段,这样的子表单JSON 字段无法与 2.1 节数据库中构造的 JSON 字段进行数据比对,因此需要先使用 JSON 解析,将子表单数据解析为二维表字段,然后再使用 JSON生成构造子表单 JSON。

    所以拖入「JSON解析算子,解析子表单字段。子表单的 _id 字段不进行解析,选择解析节点后,可根据实际需要,修改字段类型。

    如下图所示:

    25.png

    3)拖入「JSON生成算子,拼接子表单JSON,分组字段选择:

    • 主表单的 _id 字段:便于后续「数据比对算子中,作为比对结果表字段。

    • 主表单主键字段:便于后续「数据比对算子中,作为主键字段。

    • 主表其他字段:由于本文示例中,子表单数据变化会影响「总计」字段值,所以选择 total 字段(总计字段),便于后续「数据比对算子中,作为比对字段。用户根据实际场景配置。

    需要与 2.1 节中的「JSON生成算子配置一致(字段名称、字段顺序、字段类型)。如下图所示:

    37.png

    点击「数据预览可看到已有的简道云数据重新拼接的子表单 JSON。如下图所示:

    38.png

    2.3 比对数据库和简道云表单中数据增删改差异

    1)拖入「数据比对」算子,对比 2.1 和 2.2 节生成的子表单 JSON 字段。

    1761802688973420.png

    2)使用「数据比对算子,比对需要写入简道云子表单的 JSON 数据和简道云子表单中已有的 JSON 数据。

    主键选择主表单的主键,比对字段选择生成的子表单 JSON 字段、总计字段,比对结果表字段选择_id。如下图所示:

    39.png

    3)点击「比对结果,可看到变化的数据被标记。如下图所示:

    由于简道云子表单中,「赵阳数据已有一条,数据库表数据又新增一条「赵阳数据,所以标识值为 Changed。

    40.png

    用户还可点击「比对详情,查看具体差异数据。如下图所示:

    可看到「总计字段和子表单数据都存在变化。

    41.png

    2.4 将结果输出到简道云

    1)拖入「简道云输出算子,将变化数据更新到简道云表单中。由于简道云表单中没有 fdl_comparison_type 字段,所以取消该字段的映射。如下图所示:

    43.png

    2)写入方式选择「基于标识字段,新增/修改/删除数据,标识值需要与 2.3 节中的「标识关系值相同,主键映射处选择_id。如下图所示:

    33.png

    2.5 效果查看

    运行定时任务,运行成功后,简道云表单数据与数据库表数据保持一致。如下图所示:

    44.png





    附件列表


    主题: 数据开发-定时任务
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持