历史版本5 :新增/修改宜搭表单数据 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 应用场景

用户希望根据业务数据库中的数据,更新、新增宜搭表单的数据。

1.2 实现思路

调用 新增或更新表单实例 接口,来更新、新增宜搭表单的数据。

注:「第三方个人应用」不支持调用上述接口。

1698977331963369.png

2. 操作步骤编辑

2.1 准备工作

在钉钉后台中创建一个应用,并为该应用添加接口调用权限,获取企业内部应用的访问凭证 access_token 后,即可调用接口。详情请参见:如何调用新版服务端API

1)本文示例中,宜搭表单如下图所示:

ID为主键。

1698808846850723.png

2)本文示例中,添加的应用是企业内部应用。

2.2 取出本次需要新增、更新的数据并输出为参数

1)新建定时任务,拖入「参数赋值」节点,取出本次需要新增、更新的数据。如下图所示:

59.png

2)将主键输出为参数。如下图所示:

此步骤中,建议设置参数默认值,便于后续节点查看效果,该默认值不会影响运行结果。

60.png

2.3 获取access_token并作为参数输出

调用 新增或更新表单实例 接口时,需要 access_token 值作为该接口的 Header 参数,获取 access_token 值需要调用 获取企业内部应用的accessToken 接口。

1)拖入「参数赋值」节点,取出 access_token 数据。如下图所示:

参数及接口详细介绍请参见:获取企业内部应用的accessToken

1698818472119149.png

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

1698818655352304.png

2)将 access_token 值作为参数输出,建议设置参数默认值,便于后续节点查看效果,该默认值不会影响运行结果。如下图所示:

1698818752168551.png

2.4 设置循环容器

需要将本文 2.2 节取出的参数一条条赋值给 新增或更新表单实例 接口,因此新增「循环容器」节点。

1)拖入「循环容器」节点,选择遍历循环,勾选 2.2 节输出的参数。如下图所示:

1698818882951253.png

2)循环容器节点内拖入数据转换节点,进入数据转换节点。

2.5 设置数据转换节点

本节目的是:根据 2.2 节的参数,生成 新增或更新表单实例 接口的 body 内容,调用该接口新增、更新宜搭表单数据。

2.5.1 取出需新增、更新数据

1)拖入DB表输入算子,根据 2.2 节的参数,获得对应的明细数据。如下图所示:

65.png

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

1698823797661513.png

2.5.2 新增计算列

新增或更新表单实例 接口的 body 内容必填项包含:formUuid、searchCondition、appType、formDataJson、systemToken、userId字段,我们需要准备这些字段。

其中,searchCondition 字段又包含多个字段,具体介绍请参见:宜搭表单筛选的组件格式说明(企业内部应用)。formDataJson 字段,是我们要上传到宜搭表单的字段组成的。

1)新增计算列算子,如下图所示:

1698824502446865.png

字段
本文示例说明
systemToken详情请参见:新增或更新表单实例
formUuid
userId
appType
searchConditionkey详情请参见:新增或更新表单实例
type
operator
componentName
value(本文示例中是 aa)
formDataJson是由 2.5.1 节数据组成的,后续步骤中直接引用 2.5.1 节数据即可

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

68.png

2.5.3 生成 JSON

2.5.2 节中我们准备了 新增或更新表单实例 接口的 Body 内容,本节中我们需要直接生成 Body 内容。

拖入「JSON生成」算子,将二维表数据构造成 JSON 格式。如下图所示:

需注意,formDataJson 包含的字段,需修改成对应的字段类型,比如下图中合同总价为数值字段,字段类型为数值。

注:formDataJson 包含的字段中,字段名需要是控件的唯一标识,可展开下图查看。

宜搭表单控件的唯一标识
18.png
17.png

2.5.4 JSON 解析&字段设置

新增或更新表单实例 接口的 Body 字段中,searchCondition、formDataJson 为字符串格式,而我们 2.5.3 节中,JSON 生成的 searchCondition、formDataJson 是数组格式,不符合要求。

所以本节需要将上一步生成的 JSON 解析,修改字段类型。

1)拖入「JSON 解析」算子,解析 2.5.3 节生成的 JSON 数据。如下图所示:

1698894872443074.png

2)拖入「字段设置」算子,如下图所示:

1698895035678129.png

2.5.5 生成 JSON

经过 2.5.4 节的处理,新增或更新表单实例 接口的 Body 内容已准备好,本节将维表数据构造成 JSON 格式。如下图所示:

1698895319770988.png

2.5.6 API 输出

1)拖入「API输出」算子,设置如下图所示:

接口为:https://api.dingtalk.com/v1.0/yida/forms/instances/insertOrUpdate

Headers 下添加x-acs-dingtalk-access-token参数,值为本文 2.3 节获取的 access_token 参数。

Body 下设置接口的 Body 内容,值为本文 2.5.5 节生成的数据。

1698895620880799.png

2)点击右上角「保存」按钮。

2.6 效果查看

运行任务即可。