数据库同步至表单插件
1. 简介
1.1 插件简介
该插件支持定时将数据库/视图中的数据同步至简道云表单中,让管理员可以使用这些数据进行表单数据关联、仪表盘分析等。且支持写 SQL 语句进行同步。
1.2 应用场景
常用于主数据同步、业务数据同步等场景。如人员、组织、客户、产品、物料等主数据同步后在表单中引用;合同、订单、费用等业务数据同步后进行数据分析等。
1.3 预期效果
开启数据库同步至表单插件,在「标准订单」表单中设置智能助手定时任务后,在指定时间自动同步数据到表单。
1.4 使用说明
1)该插件需要具有 API 权限才能使用。
2)数据库同步至表单为付费插件。插件购买流程如下所示:
2. 插件安装及配置
2.1 安装插件
1)直接安装
- 您可点击右方链接直接安装插件:数据库同步至表单插件安装。
- 安装成功后,可参考本文【2.2 配置插件】和【2.3 启用插件】,前往「开放平台 >> 插件管理」处配置并启用插件。
2)插件市场处安装
在简道云「插件市场」处,安装「数据库同步至表单」插件。插件市场处安装方法可参见文档:插件市场中【2.3 插件安装】。
2.2 配置插件
1)安装后,在「插件管理」处,点击插件右侧的「设置」按钮,根据企业数据库信息,将「简道云 API Key」、「数据库类型」、「主机地址」、「端口号」、「数据库账号」、「数据库密码」、「数据库名称」等信息配置进去,配置完成后点击确定。
2)进入「开放平台 >> 密钥管理」处,即可查看并复制对应的简道云 API key。
2.3 启用插件
在插件管理中,打开「数据库同步至表单」插件右侧开关,启用插件。
3. 表单搭建
插件使用体验可先安装:数据库同步插件模板表单。本文将按照示例表单进行讲解。
3.1 创建表单
以订单业务为例:新建「标准订单」表单,字段设置如下所示:
字段名称 | 字段类型 |
订单编号 | 单行文本 |
客户名称 | |
客户 ID | |
产品名称 | |
产品编码 | |
单位 | |
单价 | 数字 |
销售数量 | |
销售金额 | |
备注 | 单行文本 |
收货联系人 | |
收货联系电话 | |
收货地址 | |
创建时间 | 日期时间 |
创建人员 | 单行文本 |
创建部门 |
3.2 设置字段别名
进入「扩展功能 >> 数据推送」中,点击设置字段别名,依次将字段别名设置为数据库对应字段的名称,设置完成后,点击「保存」按钮。设置如下所示:
4. 智能助手配置
4.1 添加智能助手
设计完表单后,在「扩展功能 >> 智能助手」处新建智能助手,修改智能助手名称为「定时同步数据」,并选择触发方式为「定时触发」。
4.2 设置触发动作
设置触发动作如下所示:
- 触发时间类型:根据企业需求自定义设置,可选择「自定义时间」或「根据表单日期时间字段」;
- 重复类型:根据企业需求自定义选择,可选择「每天」/「每周」/「每两周」/「每月」/「每年」/「自定义重复」;
- 结束触发时间:不可早于「触发时间」;
注:若后面的执行动作使用「同步昨日数据」函数,则重复类型选择「每天」;若使用「SQL 自定义同步数据范围」,则重复类型结合 SQL 查询数据的方式进行自定义。
4.3 设置执行动作
该插件支持以下两种同步方式,企业可根据自己实际业务情况按需配置即可。
- 同步昨日数据:参数配置每天同步数据库昨日数据至表单;此函数固定同步昨日数据,因此前面的触发动作中的重复类型需选择「每天」;
- SQL 自定义同步数据范围:写 SQL 语句自定义规则同步数据库数据至表单;定时重复类型在智能助手中配置,每次同步的数据范围在 SQL 中自定义;
注:
1)这里都是将数据库单个表的数据同步到简道云表单的主表字段中,均不支持同步到子表单;
2)若数据库存在主子表数据时,可分别将数据库主子表数据同步到简道云不同的表单中,再根据表连接字段进行后续的数据连接使用。
4.3.1 同步昨日数据
若需同步昨日数据,则插件节点设置如下。
- 插件读写表单:选择当前表单「标准订单」,若需同步到其他表单,选择对应表单即可,注意对应表单需要设置字段别名;
- 插件:选择「数据库同步至表单 >> 同步昨日数据」
- 应用 ID:设置为「组合」,即「插件读写表单—应用 ID(ID)」;
- 表单 ID:设置为「组合」,即「插件读写表单—表单ID(ID)」;
- 数据库表/视图名称:设置为「自定义」,自定义填写数据库表/视图名称,如 dd;
- 时间字段:设置为「自定义」,自定义输入数据库表时间字段的名称,如 create_time;(此时间字段作为判断昨日数据的时间依据)
- 是否触发流程:设置为「自定义」,选择「否」。
4.3.2 SQL 自定义同步数据范围
若需自定义同步数据范围,则插件节点设置如下。
- 插件读写表单:选择当前表单「标准订单」,若需同步到其他表单,选择对应表单即可,注意对应表单需要设置字段别名;
- 插件:选择「数据库同步至表单 >> SQL 自定义同步数据范围」
- 应用 ID:设置为「组合」,即「插件读写表单—应用 ID(ID)」;
- 表单 ID:设置为「组合」,即「插件读写表单—表单ID(ID)」;
- 数据库表/视图名称:设置为「自定义」,自定义填写数据库表/视图名称,如 dd;
- SQL 查询语句:select 字段名 1,字段名 2,字段名 3 from 表名 where 查询条件 order by 排序字段 desc/asc;
注:SQL 语句无需填写 limit 或者 top 条件,插件会自动填充限制。
4.4 效果演示
效果参见本文【1.3 预期效果】。
5. 注意事项
5.1 数据库说明
1)目前仅支持 mysql/sqlserver/postgresql 数据库。如希望增加更多数据库,可通过下方联系方式联系开发者增加。
注:postgresql 数据库,默认的端口号为 5432,其他配置保持不变。
2)本地部署的数据库如具备允许公网访问的固定 IP,则可使用此插件;暂不支持公网访问的本地数据库。如您的数据库 IP 属于如下所示的局域网 IP 地址,则不支持访问:
- 10.0.0.0 - 10.255.255.255
- 172.16.0.0 - 172.31.255.255
- 192.168.0.0 -192.168.255.255
5.2 子表数据说明
目前仅支持同步数据到表单的主表字段,当需要同时同步数据库的子表数据时,可以将数据库子表也视同为一个单独的表来定时同步到简道云的另一个表单中,同步后使用数据时,再来根据主子表的连接字段做数据的连接;
5.3 数据量限制说明
单次同步的数据条数不能超过 5000 条,若数据量比较大,可以使用 SQL 方式进行同步,设置多个智能助手,每个智能助手把时间范围再拆分细一些或者增加其他条件再来分别同步。SQL 语句无需填写 limit 或者 top,插件会自动填充限制。
5.4 同步字段说明
1)插件按照表单设置的字段别名来将数据库数据写入表单,未设置别名的字段不会同步数据,即字段值为“空”。
2)支持成员编号写入成员单选/多选字段,支持部门编号写入部门单选/多选字段。
5.5 IP 地址白名单
如果您的数据库允许外放访问但需要 IP 地址加白名单,请设置白名单 IP 为: 47.97.99.12。
5.6 关于定时同步数据并修改的思路探讨
思路探讨:定时同步数据并修改似乎可以结合简道云智能助手Pro循环容器来实现,下方为思路探索仅供参考,具体使用请结合实际业务。
5.6.1 表单搭建
1)表单搭建
如同步的数据需要进行自动修改,则需要创建两张表单。保持原来同步表单不变:下方称【数据目标表】,再复制一个中间表:下方称【数据中间表】,并在复制后的中间表中新增一个【数据状态】单行文本字段,用于后续配置使用。
2) 设置字段别名
在【数据目标表】和【数据目标表】均需设置对应数据库中的字段别名。(参考3.2)
5.6.2 智能助手配置
智能助手搭建可参考【4智能助手配置】中的步骤,在插件执行节点之后,需在后续新增循环容器节点:
1)插件节点下方新增循环容器:
- 设置节点名称为:循环处理数据;
- 循环方式为:不知道循环数据,在循环中设置「结束循环」;
- 最大循环次数为:200;
- 循环过程中执行失败时:跳过失败的轮次,进入下一次循环。
2)在循环节点中添加「查询多条数据」节点:
- 查询对象为:数据中间表;
- 查询条件为:「数据状态」等于「未处理」(数据状态的值可结合实际使用自定义);
- 查询结果条数为:200条。
3)在「循环节点>>查询多条数据」节点后添加「条件分支」:
- 条件设置为:「查询中间表-数据条数」大于 0。
4)在「分支条件」节点后添加「修改数据节点」:
- 节点名称填写:「新增/修改目标表」;
- 修改对象:「数据目标表」;
- 筛选出要修改的数据:「编号」等于任意一个「查询中间表--编号」;
- 勾选上:没有可修改的数据时,向对应表单新增数据;
- 设置字段值:根据自己的表单内容,选择需要修改和新增的字段即可。
5)在上述节点后再添加一个「修改数据节点」:
- 节点名称填写:「修改中间表状态」;
- 修改对象:「数据中间表」;
- 筛选出要修改的数据:
- 「编号」等于任意一个「查询中间表--编号」;
- 「数据状态」等于任意一个「未处理」;
- 设置字段值:「数据状态」等于自定义「已处理」。
6)在「其他条件」节点下方新增「结束循环」,最后点击保存并启用。
5.7 其他说明
5.7.1 多国语言说明
sqlserver 数据库支持多国语言数据录入。
5.7.2 低版本兼容
增加 tds 协议,兼容 sqlserver 低版本用户。
6. 联系方式
该插件为官方合作的服务商开发,若您在使用过程中有任何疑问,可通过以下方式咨询:
- 公司:成都轻如燕企业服务有限公司
- 联系人:赵鹏
- 联系电话:18583980516(微信同号)