表单数据推送至数据库主子表插件
1. 简介
1.1 插件简介
该插件支持在表单数据新增、修改时,推送至您指定的数据库主子表。支持除图片、附件外所有的字段。若推送数据包含子表单数据,则按主子表推送到数据库对应的主子表中(支持多个子表数据推送)。
1.2 应用场景
常用于主数据同步、关键业务数据同步、备份等场景。如人员、产品、价格等数据同步;合同、订单、费用报销等数据的同步、备份。
1.3 预期效果
开启表单数据推送至数据库主子表插件,在「标准订单」表单中输入订单信息提交后,自动推送数据至数据库对应的主子表中。效果如下所示:
1.4 使用说明
1)该插件需要具有 API 权限才能使用。
2)该插件为付费插件,请联系我们增购。插件购买流程如下所示:
注:插件购买期限需要和简道云版本期限保持一致。
2. 插件安装及启用
2.1 安装插件
1)直接安装
- 您可点击右方链接直接安装插件:表单数据推送至数据库主子表插件。
- 安装成功后,可参考本文【2.2 配置插件】和【2.3 启用插件】,前往「开放平台 >> 插件管理」处配置并启用插件。
2)插件市场处安装
在简道云「插件市场」处,安装「表单数据推送至数据库主子表」插件。插件市场处安装方法可参见文档:插件市场中【2.3 插件安装】。
2.2 配置插件
在插件管理中,点击「调整插件配置」按钮,配置「简道云 API Key」、「数据库类型」、「主机地址」、「端口号」、「数据库账号」、「数据库密码」、「数据库名称」,点击保存。
2.3 启用插件
在插件管理中,打开「表单数据推送至数据库主子表」插件右侧开关,启用插件。
3. 表单搭建
插件使用体验可先安装:表单数据推送至数据库主子表插件模板表单。本文将按照示例表单进行讲解。
3.1 创建表单
以订单业务为例,新建「标准订单」表单,字段设置如下所示:
字段名称 | 字段类型 |
订单编号 | 单行文本 |
客户名称 | 下拉框 |
客户 ID | 单行文本 |
资金账户 | 单行文本 |
产品编码 | 子字段-下拉框 |
产品名称 | 子字段-单行文本 |
单位 | 子字段-单行文本 |
单价 | 子字段-数字 |
销售数量 | |
销售金额 | |
销售总金额 | 数字 |
收货联系人 | 单行文本 |
收货联系电话 | 单行文本 |
收货地址 | 地址 |
创建时间 | 日期时间 |
创建人员 | 成员单选 |
创建部门 | 部门单选 |
3.2 设置字段别名
进入「扩展功能 >> 数据推送」中,点击设置字段别名,依次将字段别名设置为数据库对应字段的名称,设置完成后,点击「保存」按钮。设置如下所示:
注:
1)子表单名称设置在每个子表单的第一个字段,即类型为 array 的字段。
2)若有多个子表,字段别名重复时,在重复别名后加【_alias_数字】,插件将自动区分。
3)产品明细处填写数据库子表名称。
4. 智能助手配置
4.1 添加智能助手
设计完表单后,在「扩展功能」处添加「智能助手」,并修改智能助手名称为「表单新增数据推送至数据库主子表」。
4.2 设置触发动作
由于当订单信息提交后,触发智能助手,故「触发动作」选择「新增数据」,「触发表单」选择「标准订单」,设置完成后点击「完成」。
4.3 设置执行动作
该插件支持以下两种推送方式,企业可根据自己实际业务情况按需配置即可:
- SQL 主子表数据推送:写 SQL 语句进行推送,表单主表字段值推送到数据库主表,表单子表字段值推送到数据库子表;
- 参数主子表数据推送:参数配置进行推送,表单主表字段值推送到数据库主表,表单子表字段值推送到数据库子表;
4.3.1 SQL 主子表数据推送
1)标准订单提交后,触发「表单数据推送至数据库主子表」插件,故执行动作在「插件」中选择「表单数据推送至数据库主子表」。
2)进一步设置执行动作,如下图所示:
- 选择执行事件:SQL 主子表数据推送;
- 以「字段值」方式选择应用 ID、表单 ID、数据 ID;
- 以「组合」方式输入主表 SQL 语句:
- 新增数据:insert into 表名(字段 1,字段 2,字段 3) values('值 1','值 2','值 3')
- 修改数据:update 表名 set 字段 1='值 1',字段 2='值 2',字段 3='值 3' where dataid='数据 ID'
- 删除数据:delete from 表名 where dataid='数据 ID'
设置完成后,点击「完成」按钮,保存智能助手设置。
注:
1)值都点击右上角的 “+” 号,选择对应的字段值。值需带英文状态下的单引号,多个值之间用英文状态下的逗号隔开。
2)SQL 语句可以执行主表数据的新增、修改、删除操作;子表数据的操作则在表单设置字段别名,插件自动进行子表数据的新增、修改、删除操作;
3)数据库主子表都需新增 dataid 字段,在主表 SQL 中请一并写入 dataid 值,用于存储简道云数据唯一 id,以便更新或者删除数据时 SQL 语句执行条件,子表 dataid 插件自动写入。例:
update q_order set name='张飞' where dataid='11111111111111111'。
4)主表 SQL 可以留空,代表只需操作子表数据,不对主表数据进行操作。
4.3.2 参数主子表数据推送
- 选择执行事件:参数主子表数据推送;
- 以「字段值」方式选择应用 ID、表单 ID、数据 ID;
- 以「自定义」方式输入数据库主表名称;
- 以「组合」方式输入数据库主表字段和表单字段值:字段 1='值 1',字段 2='值 2',字段 3='值 3'
设置完成后,点击「完成」按钮,保存智能助手设置。
注:
1)值都点击右上角的 “+” 号,选择对应的字段值。值需带英文状态下的单引号,多个值之间用英文状态下的逗号隔开。
2)数据库主子表都需新增 dataid 字段,在主表 SQL 中请一并写入 dataid 值,用于存储简道云数据唯一 id,以便更新或者删除数据时进行数据对应。
3)支持新增和修改数据操作,即不管智能助手触发动作是新增还是修改数据,插件都会先检测当前 dataid 数据是否存在,若不存在则新增数据,若存在则修改数据。
4.4 效果演示
效果参见本文【1.3 预期效果】。
5. 注意事项
5.1 数据库说明
1)目前仅支持 mysql/sqlserver/postgresql 数据。如希望增加更多数据库,可通过下方联系方式联系开发者增加。
2)本地部署的数据库如具备允许公网访问的固定 IP,则可使用此插件;不允许公网访问的本地数据库,暂不支持。
5.2 数据库端口号说明
端口号在插件配置时为必填,mysql 通常默认的是 3306 端口,sqlserver 默认的是 1433 端口,postgresql 默认的是 5432 端口。若你的数据库中自定义了端口号,则填写上你自定义的端口号。
5.3 数据库增加数据 ID 字段说明
使用该插件,需对主子表增加一个名称为 dataid 的字段,此字段用于存储简道云唯一数据 ID,作为唯一数据 ID 使用。
注:原老版本插件新增的字段名称为 _id,注意使用新版本插件时,要修改一下字段名称为 dataid。
5.4 报错提示说明
若执行错误,执行日志除错误原因外还会一并提示当前执行的 SQL 语句,以便大家进行问题排查。
插件执行时会比对表单字段类型和数据库字段类型,若类型不一致会抛出错误。
5.5 字段空值兼容性说明
兼容数字、文本、时间类型空值,若表单传入空值,插件会根据当前数据库字段的数据类型决定写入空值的方式,数字写入 0,文本写入 '',时间写入 NULL。
5.6 IP 地址白名单
如果您的数据库允许外放访问但需要 IP 地址加白名单,请设置白名单 IP 为: 47.97.99.12。
5.7 SQL 主子表数据推送删除数据库子表数据
SQL 主子表数据推送时,支持通过以下两种方式删除主子表数据:
- 设置插件节点,删除数据库主子表数据;
- 设置智能助手,通过修改动作执行删除主子表数据。
注:在智能助手设置中,删除动作会先于插件执行,插件读取时已找不到数据,后续操作将无法执行。故切勿通过智能助手设置删除动作执行插件。
5.8 低版本兼容
增加 tds 协议,兼容 sqlserver 低版本用户。
6. 联系方式
该插件为官方合作的服务商开发,若您在使用过程中有任何疑问,可通过以下方式咨询:
- 公司:成都轻如燕企业服务有限公司
- 联系人:赵鹏
- 联系电话:18583980516(微信同号)