1. 概述
1.1 版本
FineDataLink 版本 | 功能变动 |
---|---|
4.0.20 | 新增简道云输出算子,可将数据输出到简道云中,供简道云使用 支持将数据输出到包含部分控件类型的简道云表单中,详情请参见本文 2.1 节内容 |
4.0.28 |
|
4.0.29 | 主键冲突策略中主键相同,停止写入并报错修改为主键相同,记录为脏数据 |
4.1.5.4 | 支持将数据输出到:不包含「选择数据、手写签名、图片、附件」的简道云表单 |
4.1.14.1 |
方案示例详情参见第四章 |
1.2 应用场景
在制作简道云表单时,很多数据需要从业务系统取数,此时需要将数据先同步到简道云中,再在简道云中进行使用。
1.3 功能简介
注:若用户不需要对数据进行复杂处理,且只需要向简道云表单中新增数据,可使用 数据同步 节点实现。
「简道云输出」算子可将处理后的数据同步到简道云表单中(简道云表单的数据会随之发生增删改变化)。如下图所示:
效果如下图所示:
1.4 注意事项
简道云表单无法存储 null 值,null 值和空字符串上传到简道云都会被转为空字符串。
2. 功能说明
2.1 支持的控件类型
简道云表单中包含以下控件类型时,「简道云输出」算子支持将数据输入到指定表单中。
4.1.5.3 版本之前支持的控件类型如下表所示:
分类 | 控件类型 |
---|---|
基础字段 | 单行文本 |
多行文本 | |
数字 | |
日期时间 注:写入日期时间控件中的字段需要时yyyy-MM-dd格式。 | |
单选按钮组 | |
下拉框 | |
增强字段 | 子表单 |
手机 | |
部门成员字段 | 成员单选 |
部门单选 |
注:4.1.5.3 及之后的版本支持使用除「选择数据、手写签名、图片、附件」外所有指定表单的控件类型。
写入简道云不同控件中的字段类型,可以通过字段映射获取到,访问数据接口时,值格式需要根据对应字段要求设置:
写入复选框组件的字段需要使用 SparkSQL 中的 collect_list、concat_ws 函数拼接,详情参见本文 3.2 节。
控件类型 | 字段类型 | 数据类型 | 实际需要传入接口数据样式 | 说明 |
---|---|---|---|---|
复选框组 | checkboxgroup | Array | [“选项1”,“选项2”] | |
下拉复选框 | combocheck | Array | [“选项1”,“选项2”] | |
地址 | address | JSON | { "province": "江苏省", "city": "无锡市", "district": "梁溪区", "detail": "清扬路138号茂业天地" } | |
定位 | location | JSON | { "province": "江苏省", "city": "无锡市", "district": "梁溪区", "detail": "清扬路138号茂业天地", "lnglatXY": [ 120.31237, 31.49099 ] } | lnglatXY 表示[经度, 纬度] |
成员多选 | usergroup | Array | ["xiaojian", "xiaofang"] --成员的username数组 | status 对应的逻辑: -1 离职 0 未加入 1 已加入 |
部门多选 | deptgroup | Array | [ 1, 2 ] --部门的dept_no数组 |
4.1.5.3 及之后的版本支持部分字段类型写入 crm 套件表单,支持字段类型如下表:
注:系统字段不支持写入。
字段类型 | 传参 | 返回值 |
---|---|---|
company | 和文本一致 | 和文本一致 |
leads_pool | ObjectId | { "pool_id": "", "name": "" } |
account_pool | ObjectId | { "pool_id": "", "name": "" } |
sale_stage | { "stage_id": "" } | { "template_id": "", "stage_id": "", "name": "" } |
2.2 数据去向与映射
设置项 | 说明 |
---|---|
数据连接 | 只展示已配置过数据连接且当前用户有数据连接使用权限的选项 |
简道云应用 | 下拉展示数据连接中包含的简道云应用 |
应用表单 | 下拉展示对应应用下所有简道云表单 |
字段映射 | 详情可参见:数据同步功能说明 文档的 3.2 节内容 4.1.14.1 版本开始支持可选子表单完整字段 支持可单选子表单字段、子表单中的字段(字段仅限一个子表单中),选择子表单字段后,字段类型为:子表单 方便设置子表单增删改输出时使用 |
2.3 写入方式
设置项 | 说明 |
---|---|
写入方式 |
插入/更新/删除数据详细说明: 插入:将数据插入到简道云表单,直接调用新增数据接口、无需_id,支持勾选「触发智能助手」和「发起流程」,默认不勾选 更新:按照后面选择的_id,对数据进行更新,支持勾选「触发智能助手」,默认不勾选 注:若更新数据较多(例如 52 万行),会存在性能风险,执行速度将非常慢;此时可参考方案:简道云输出算子:清空目标表,再写入数据 删除:按照后面选择的_id,对数据进行删除,支持勾选「触发智能助手」,默认不勾选
|
标识字段&标识值 | 仅写入方式为「基于标识字段,追加/更新/删除数据」可见
具体可参见:数据比对 |
主键映射 | 仅勾选更新或删除时出现此选项,不允许为空,用户可从数据流内自行选择字段,默认选择数据流内字段名为 _id 的字段 |
更多配置 | 「触发智能助手」、「发起流程」(仅流程表单插入数据时支持)选项,复选框,默认不选 4.1.14.1 版本支持设置数据提交人:data_creator,取成员编号 username,可从通讯录接口获取;默认值为企业创建者,支持用户更改 |
3. 简道云不同控件类型使用说明
3.1 输出至成员单选、部门单选控件
数据要同步到的简道云表单中包含「成员单选」、「部门单选」控件时,要同步的数据与目标表单字段映射关系如下表所示:
注:username、dept_no 具体介绍请参见:通讯录接口
待同步的数据应包含字段 | 简道云表单对应字段 |
---|---|
username(成员编号) | 成员单选 |
dept_no(部门编号) | 部门单选 |
因此,待同步的数据中需要包含username(成员编号)、dept_no(部门编号)信息,才能成功同步到包含「成员单选」、「部门单选」控件的简道云表单中。
一般需要待同步的数据与包含简道云部门编号、成员编号的表信息关联后,再同步到简道云表单中。
如下表所示,username 字段对应简道云表单中的成员单选字段,dept_no 字段对应简道云表单中的部门单选字段。
示例详情可参见 示例二:简道云表单中包含部门成员字段
待同步的数据应包含字段示例 | 简道云表单对应字段示例 |
---|---|
3.2 输出至简道云复选框组
源表数据中本身就是数组形式,需要输出到简道云的「复选框组」字段,则直接使用简道云输出配置字段映射即可。
源表数据不符合简道云字段形式,需要输出到简道云的「复选框组」字段,则需要使用 SparkSQL 中的 collect_list、concat_ws 函数拼接复选框组文本,如下图所示:
输入语句:
select $[DB表输入].`合同类型`,CONCAT('["',CONCAT_WS('","',COLLECT_LIST($[DB表输入].`客户ID`)),'"]') AS data
from $[DB表输入]
group by $[DB表输入].`合同类型`
拼接出的要输出至简道云复选框组的数组如下图所示:
然后即可将数据使用简道云输出。
4. 示例
示例简介 | 参考文档 |
---|---|
1)简道云表单中不包含部门成员字段,数据库表数据发生增删改,希望同步到简道云表单中 2)简道云表单中包含部门成员字段,将数据导入到简道云表单中 | 简道云输出示例 |
| 删改数据同步至简道云表单(清空目标表,再写入数据) |
用户想要将数据库系统数据输出到简道云多个子表单中,实现子表单数据的新增、更新和删除 注:如果数据量不大,且简道云表单数据插入没有记录时间的固定字段,推荐使用清空目标表写入方案,操作相对简便。 | 多个简道云子表单增删改输出 |