巧用飞书集成,实现金蝶云星空ERP销售订单自动同步至多维表格!

巧用飞书集成,实现金蝶云星空ERP销售订单自动同步至多维表格!

开发者广场内容精选NaN-NaN-NaN
解决方案
作者:Alfredo
推荐理由
自动化获取订单数据,让数据主动来找人,而不是人去找数据,省时高效!
一、关于我们
大家好,我们是一家数控机床制造的公司,我们用飞书的愿景是让每一位员工创造卓越绩效。用了飞书你猜怎么着,那简直是愿景照进现实!顺便说一下,我之前是一名Java后端开发,这集成平台属实造福零基础的同学们。
二、需求分析
本次开发中,需求是利用飞书集成平台搭建集成流,实现自动获取金蝶云ERP中的销售订单数据同步至多维表格中,让数据主动来找人,而不是人去找数据,大大地节省了工作的时间,提升了工作效率。
三、方案调研
通过调研飞书开放能力/集成平台,发现集成流能实现此件事,剩下的就是看金蝶云星空那边的接口,一通过调用接口,发现单一张单据返回的json数据足足有六十万字节,属实吓了一跳,这个时候反而担心飞书这边能否支持这么大的字节。一测试,发现果然不支持,超过三十万字节就解析不出来了。就在这时,飞书优化了,我只能说想啥来啥,那剩下的就是开干了!
理了一下逻辑关系:
1.获取当前时间的同时将分页参数初始化,因为在一个单据中,物料明细太多,有的一个单据就含有上百个子套件,造成解析json压力太大;
2.循环获取销售订单单据的id,为之后的查看api的参数做出前置工作;
3.循环处理每个销售订单单据,利用id去查看此单据中的所有包含的物料,同时判断是否为关闭状态等的一些筛选条件;
4.将销售订单利用查看单个单据获取的值利用JavaScript填充多维表格完成同步。
四、开发流程
准备“飞书应用授权”凭证
使用企业自建应用创建“飞书应用授权”凭证,为集成平台中的飞书系连接器和对应的飞书应用建立访问关系,具体步骤可参考配置应用凭证
使用的企业自建应用需要开通查看、评论、编辑和管理多维表格(bitable.app) 的权限。
准备待写入的多维表格
创建一份多维表格文档,确保多维表格的字段/列的名字与你需要同步到多维表格的数据映射名完全一致,并且字段类型和模板保持一致,如下图所示。
250px|700px|reset
你可以按需增加自定义字段,但需要在工作流中,利用动态脚本组件为新增自定义字段,维护“金蝶云星空”字段和“多维表格”字段映射关系。
准备“金蝶云星空”凭证
参考配置应用凭证,为“金蝶云星空”创建应用凭证,建立集成平台和“金蝶云星空”之间的访问关系。
:如果你部署的“金蝶云星空”服务仅支持内网访问,需要提前部署“本地代理服务”以连通集成平台与“金蝶云星空”,具体步骤可参考部署本地代理服务。配置好基础代理后,在创建“金蝶云星空”的凭证时,选择部署好的内网代理,如下图所示。
逐步细分
配置“销售订单单据”连接器
在工作流中创建连接器销售订单单据查询,填入相关参数,并设置过滤条件。创建时间大于等于当前时间的参数,如果有需要更新修改过的单据,还需设置修改时间,FMODIYDATE即可,查询出id为后续查看连接器前置工作。
因为获取到的id数据是一个数组,此时需要做一个循环的逻辑关系,将此数组遍历出拿到每一个id,再调用查看的api,得到每个单据的细则,如下⬇️
配置“多维表格”连接器
在工作流中点击任一多维表格节点,在凭证页面选择前置准备中创建的“飞书应用授权凭证”。选择了应用凭证后,可以将选择的凭证批量应用到当前工作流中所有的“多维表格”连接器。
250px|700px|reset
分别点击搜索记录、更新记录、新增记录3 个节点,在其入参页面填写多维表格app_token数据表ID的值。
多维表格的访问地址中可以获取到表格的appTokentableId。
点击表格右上角... > 更多 > 添加文档应用,搜索创建凭证时使用的企业自建应用并添加,同时授予可编辑权限。
自建应用的发布审核未通过时(审核通过后,工作流报错信息中的警告会消失),无法搜索到该应用,请确认审核通过后再进行该步骤。
250px|700px|reset
配置“动态脚本”组件
在工作流中点击转换写入物料数据节点,在右侧入参页面的编辑JavaScriptCode中添加用户自定义的多维表格字段和“金蝶云星空”字段的映射关系。
左侧 Key 为“多维表格”表头的列名,右侧 Value 为“金蝶云星空”中待同步数据的变量名,如下图所示。
调试
点击调试即可进行多维表格的数据同步,配置调试出参信息选择生成默认出参
你可以在工作流的运行日志中看到执行成功的结果:
250px|700px|reset
同时,你也能看到调试中设置的数据已经同步到特定多维表格中。
发布
完成工作流编辑后,点击发布,该工作流则变为生效状态。
五、更多相关开发心得
本次开发中耽搁时间最长的便是配置应用凭证时,url如何填写都不对,直至最后发现只需要填写ip:post即可,在此感谢告知的伍同学。
  1. 不断学习和探索:技术领域变化非常迅速,因此作为开发者,需要不断学习新的知识和技能,并保持对最新技术趋势的关注。
  1. 测试和调试:测试和调试是代码开发过程中必不可少的环节。
  1. 善于沟通:作为开发者,与其他团队成员和客户进行良好的沟通至关重要。只有通过良好的沟通和协作,才能实现项目的成功。
先进生产力和业务协同平台
联系我们立即试用
更多人气推荐
查看更多

先进团队,先用飞书

欢迎联系我们,飞书效能顾问将为您提供全力支持
分享先进工作方式
输送行业最佳实践
全面协助组织提效
反馈给飞书 CEO:ceo@feishu.cn