背景:
客户是一家集采供应食品企业。有一千多家饭店(客户)需要每天采购企业的商品。
客户选择易订货实现订单采集。后端用金蝶云星空产品(原K3CLOUD公有云软件),提供供应链、财务核算。
需求:
1.由CLOUD的物料、客户同步生成易订货中的商品、客户
2.CLOUD预计可用量数据,同步到易订货中的商品库存
3.易订货中订货单、退货单,同步到CLOUD销售订单(单据类型区分销售和退货订单)
4.CLOUD销售订单生成销售出库单,并审核,同步到易订货订单发货接口。
准备工作:
1.学习易订货API接口
2.获取云星空测试地址及账号:
开始研究数据组织情况。这个时候,发现了一个不好的事情。
物料存在多计量单位换算情况!
CLOUD物料、客户都存在分组,且是多级!
就是说,还存在物料分组、客户分组的同步。
3.购买阿里云空间:易订货和云星空,都是Saas模式,后台空间不允许访问,也就是说没有服务器空间,同步软件没有可以执行的地方!需要客户购买阿里云空间,相比云星空的专属资源费,自然要低很多了。
需要WINDOWS2008R2,MSSQLSERVER2008R2,中间库及同步软件所需空间要求不大,一般40G足够了。
因为是两方同步,技术架构无法实现实时同步(能实现但成功高的无法想象,要在易订货和云星空里同时写插件达到实时同步),最后决定:
基础资料10分钟同步一次,涉及计量单位、物料分组、物料、物料换算率、客户分组、客户等。
商品库存2分钟同步一次,
订单及出库单状态5分钟同步一次。
合同签订,30个工作日交付,开工:
过程不再赘述,只是期间辛酸劳累,非常人可想:易订货重新初始化足足五次!在此列举几个坑,大家不要重蹈覆辙:
1.易订货计量单位用的unitId是自增量,CLOUD里是编码,同步到易订货,要记录这个ID,用于订单的对照,因为易订货订单里只有这个ID,然后就是名称了,没有编码一说。但是物料和客户有编码,就不用对照了。
2.物料分组,多级分组,同样存在ID对照问题,第1级创建不成功,后面的全失败,折磨不?
3.客户分组,这个客户同意只取一级分组,省了一些心。但没想到客户上又折腾了。
4.客户及联系人、账户:易订货客户档案,还存在获取联系人及联系电话问题!因为CLOUD WEBAPI的客户档案接口,可没有联系人这个数据,准备好填坑吧!!!
5.创建易订货客户,会直接创建一个对应账号(用于登录易订货,下单。)但这个账号,是全网唯一的,不知道这个概念的,咨询易订货客服吧。总之是各种重名啊,look,就这个提示:
2019-08-05 14:13:31 {'code': 525, 'data': '', 'message': '该登录名已经存在,不能重复创建!'}
6.总算安顿好客户好了(重新初始化易订货一次,全部数据重来!),导入物料,问题又来了!
因为易订货的商品新建接口,要求把换算率也代入,这就要了亲命了。CLOUD物料整个大筛查,
2019-08-02 16:13:57 {'code': 525, 'data': '', 'message': '多单位商品的基础单位必须是最小单位'}
2019-08-09 22:57:35 {'code': 525, 'data': '', 'message': '换算比率:大于1的数字,支持两位小数。最大值:100万'}
万万没想到,这里就重新初始化了三回!
7.商品库存同步,本以为会很复杂,但是比起基础资料,反而只有中等难度了。
两个地方,一个是CLOUD预计可用量webapi接口的调用,稍为怪异一些,查了论坛,解决了。注意这个接口是7.1版本才开始有的,好像是这样。
等等,怎么不能选单位??问易订货,答复是计量换算组配置错误,要把基础单位的换算率,也写到多计量组里!!我……XXX,这什么逻辑啊,
商品基本单位为包,还得再说一个1包换算率为1包,1袋换算率为10包,这是什么玩意儿嘛!!!
无奈,只能继续,但这样又得重新初始化了,真不知道易订货后台能不能承受得住……
好多朋友或许不清楚,自动同步数据,总会存在一些问题,但客户并不自知,所以同步的售后服务工作也是一个漫长的过程,所以,问多少个人天可以完成的,我觉得您想得真的真的太简单了……