纷享销客与K3 Wise数据同步:K3 Wise 增加自定义api接口原创
金蝶云社区-纸枫林
纸枫林
11人赞赏了该文章 838次浏览 未经作者许可,禁止转载编辑于2020年12月07日 17:27:47
封面

在纷享销客与金蝶K3 Wise 14.3数据同步的项目中发现,K3 Wise 14.3 API很不完善,一是接口不完善,比如:没有即时库存查询接口,没有直接SQL报表接口,而这两个 接口只有升级到15.0以后才有。除了接口不完善外,还有很多基础资料、单据的字段不全,比如:基础资料里的物料,没有创建时间和修改时间字段,这样就很不方便,这些都是数据同步的基础条件,为了解决这些问题,跟金蝶研发进行了一番交流,他们提供了增加自定义API接口的一个demo,C#语言开发,经过测试,能够在K3 Wise 14.3和K3 Wise 15.0版本下正常运行。


(增加K3 Wise自定义API接口)

//第三步的SQL
INSERT INTO t_APIComponents(FComponentID,FClassID,FController,FComponentName) VALUES(70,7000,'Demo' , 'k3api_custom|demo');
//第四步的SQL
INSERT INTO t_APIMethodTemplate(FMethodID,FKey,FOpera,FName_CHS,FName_CHT,FName_EN,FDesc_CHT,FDesc_CHS,FDesc_EN,FIndex,FMask,FScope,FRequestType)VALUES(20,'Test',0,'test', 'test','test', 'TEST 1%','TEST 1%', 'TEST 1%' ,20,0,0,'POST');
  public ActionResponseResult GetInventory(Dictionary<string, string> dict)        {            ActionResponseResult result = new ActionResponseResult();            result.StatusCode = 200;            result.Message = "ok";                      JavaScriptSerializer serializer = new JavaScriptSerializer();            StringBuilder sb = new StringBuilder();            String jsonString = dict["k3data"];            JavaScriptSerializer json = new JavaScriptSerializer();            DataItem postdata = (DataItem)json.Deserialize<DataItem>(jsonString);                        string sql = postdata.StrSQL;            RemoteCommunication oComm = new RemoteCommunication(MMTS.ServerName);            DataTable dt = ((DataSet)oComm.RemoteCall(BOSServerClass.BusinessDataReaderService, "GetData", MultiAcctInfoMgr.GetK3Connect(this.m_sAcctID), sql)).Tables[0];            result.Data = dt;            string sql2 = "UPDATE t_Accessory SET FFileName = 'test' WHERE FID=1";            int i = ((int)oComm.RemoteCall(BOSServerClass.BusinessDataUpdateService, "UpdateData", MultiAcctInfoMgr.GetK3Connect(this.m_sAcctID), sql2));                        return result;        }

这个方法接受的请求接口参数就是:dict,dict["k3data"],就是我们在请求接口时,POST过来的JSON字符串,可以把这个字符串解析出来,用于拼接SQL,查询需要的数据(dt),并返回。


这方面资料比较少,在金蝶社区也没有找到相关内容,分享出来,供有需要的小伙伴参考。


作者:王志锋

微信:188-1065-8738

邮箱:wangzhifeng@tongdog.com.cn

欢迎各行业朋友交流CRM相关问题!


赞 11