【WEBAPI】对接外部系统,金蝶单据各种操作(删除、保存、提交)后,立马实时推送第三方系统代码套路原创
金蝶云社区-王尚策
王尚策
22人赞赏了该文章 327次浏览 未经作者许可,禁止转载编辑于2024年10月25日 17:56:42

1、准备好星空二开环境

1)星空二开教学:

https://vip.kingdee.com/article/94751030918525696?lang=zh-CN&productLineId=1&isKnowledge=2

2)开发以及调试环境搭建

https://vip.kingdee.com/article/117230406226751232?lang=zh-CN&productLineId=1&isKnowledge=2

https://vip.kingdee.com/article/83500607104976896?lang=zh-CN&productLineId=1&isKnowledge=2


2、确定好实现的插件类型

各类插件的解释(此需求需要用到的是【服务插件】,以采购订单的【保存】操作为例,挂载服务代码插件,发起第三方平台的URL请求和组装JSON)

https://vip.kingdee.com/article/145199580714208768?lang=zh-CN&productLineId=1&isKnowledge=2



3、确定好代码中选取的事件类型

服务插件事件需要选用:AfterExecuteOperationTransaction事件讲解

https://vip.kingdee.com/article/386098530018349312?lang=zh-CN&productLineId=1&isKnowledge=2


需要在此事件中完成:

1、获取当前金蝶单据中的采购订单上的数据

2、组装第三方接口的URL和JSON

3、发起请求




4、AfterExecuteOperationTransaction事件参考以下代码套路

public override void AfterExecuteOperationTransaction(BOS.Core.DynamicForm.PlugIn.Args.AfterExecuteOperationTransaction e)

        {

            base.AfterExecuteOperationTransaction(e);


            var dataEntities = e.DataEntitys;//金蝶明细体数据

            if (dataEntities == null || dataEntities.Count() <= 0) return;//判断当前对接的数据不为空


            OperateResultCollection oResult = this.OperationResult.OperateResult;//抓取当前金蝶单据操作结果集

            if (oResult .IsSuccess && oResult.Count > 0 )//判断金蝶单据的操作结果成功后,说明此数据即可开始推送给第三方平台

            {

                PushBill(dataEntities);//自行实现PushBill的逻辑并且记录好相关日志信息

            }

        }





图标赞 22
22人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!