源系统新增加的操作如何可以监听或者拦截到?

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

源系统新增加的操作如何可以监听或者拦截到?

问题:源系统的某个单据新增加了一个操作,希望集成服务云可以监听和拦截到这个新操作。

解决方案:目前事件监听只支持苍穹和EAS,针对这2类系统,有不同处理方法。


1. 苍穹操作触发事件监听说明

下图列举了苍穹可以监听和拦截的所有事件,包含公共的或者客户自定义的操作。一般而言,苍穹的自定义后台操作都能拦截到,如果缺失,请知会集成服务云团队进行添加。

特别说明:下图片中put的key值为操作类型,value为集成云对操作类型的分类(业务部门不用理会)。注意:操作类型必须是对数据的操作,而不是界面动作,如addnew,new不应该包含在操作类型列表中,因为在数据集成中不可能会调用到。


2. EAS添加自定义操作并触发事件监听说明:

(1)、若希望目标数据操作列表中有自己自定义操作,请参考自身业务实体或CoreBase实体的新增修改审核方法为需要监听的实体增加新操作,操作的参数应该为IObjectPk或ObjectValue或两者的组合。如下图所示:

注意:

  • 如果方法名是以get, exists, set,find, batch, is, not, have, has, Batch开头,则不认为是事件监听。如发现误报,还可以手工添加事件到集成对象。

  • EAS中新增的方法,如果参数类型是ObjectValue时不要选择实体,否则无法监听。


(2)、若希望新加的操作作为事件触发,则集成事件启动方案中的触发事件选上对应操作,若是EAS前端直接触发对应实体controllerbean的新加方法,则就会触发事件。需要注意的是,若新加的方法是在另外一个controllerbean中再嵌套进行调用的,要先调用引擎的。

(若要实现使下一个调用方法能被监听)

com.kingdee.bos.service.ServiceStateManager.getInstance().enableNextCallServices();

(若要实现当前调用方法能被监听)

com.kingdee.bos.service.ServiceStateManager.getInstance().getServiceState().enableServices()


举例:EAS-苍穹 凭证删除集成

场景:EAS跟苍穹做凭证删除集成,集成方案的启动方案采用的是事件触发,调用的EAS的单据删除操作。在EAS凭证编辑界面删除可以正常触发,但在凭证列表界面删除无法触发启动方案。

分析:发现序时簿删除调的是批量接口,开了一个新线程做提交、审核、过账、删除等操作,非EAS的标准按钮,无法监听,导致无法触发启动方案。

编辑页面截图:


列表页面截图:


建议解决方案:

通过这种dep扩展的方式加上这个操作。





源系统新增加的操作如何可以监听或者拦截到?

问题:源系统的某个单据新增加了一个操作,希望集成服务云可以监听和拦截到这个新操作。解决方案:目前事件监听只支持苍穹和EAS,针对这2类...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息