金蝶EAS_凭证操作_二次开发_开发指南

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

金蝶EAS_凭证操作_二次开发_开发指南

概述

  凭证操作是总账系统比较重要的功能,也是最为常见的操作,它包括:凭证保存,凭证提交,凭证删除,凭证审核,凭证反审核,凭证过账,凭证反过账,凭证作废,凭证生效。可能有些客户对某些操作有个性化的需求,要做一些扩展:比如凭证提交前,要验证某个科目的金额不能大于多少多少(前置操作);凭证删除后,要通知外部系统来源单要重新传凭证(后置操作)。由于之前没有提供标准的扩展方案,以至于二开代码形式多样化:有通过VoucherControllerBeanEx扩展的,有直接反编译VoucherControllerBean的,有直接反编译XxxVoucherService,有直接写SQL的,...。这些二开操作可能会给总账系统带来一些问题:事务一致性问题,并发控制问题,余额更新问题,补丁升级问题等。


  为规范凭证操作二次开发,总账系统定义了供二开扩展的抽象类com.kingdee.eas.fi.gl.app.GLActionListener:

actionName:操作名,由eas定义,目前支持GL_VoucherSave,GL_VoucherSubmit,GL_VoucherDelete,GL_VoucherAudit,GL_VoucherAntiAudit,GL_VoucherPost,GL_VoucherAntiPost,GL_VoucherCancel,GL_VoucherAntiCancel。这些都是凭证的操作,后续可能会扩展到其它一些操作,比如结账。

pointCut:切入点,Before:前置操作,After:后置操作。

actionPerformed(Context ctx, Object param):需要二开扩展(实现)的方法,对于凭证操作,参数param为凭证对象,使用时做类型转换即可。


举例说明:

我们要扩展一个凭证提交的前置操作com.kingdee.eas.fi.gl.app.MyVoucherSubmitActionListener:

我们要扩展一个凭证删除的后置操作com.kingdee.eas.fi.gl.app.MyVoucherDeleteActionListener


  扩展类写好后,把它编译打包,放到私包目录eas\server\lib\sp下,再将这些类注册到总账操作监听器配置表T_GL_ActionListener中:

表中第10和11行是新加进去的;1到9行是系统预置的,用于给金蝶税务系统监听EAS凭证操作的,不用管它。

表列说明:

FActionName:就是前面说的操作名。

FPointCut:就是前面说的切入点。

FClassName:就是你的扩展类名。

FIsEnable:该监听器是否生效,系统只会取值为1的监听器来执行。

FDescription:该监听器的说明。

注意,为了提升性能,系统启动后,每个实例只会读取一次监听器配置表,然后缓存起来,后面用到的时候都从缓存中读取,如果配置信息有变化,需要重新启动应用服务器。


  如此,凭证提交时会执行MyVoucherSubmitActionListener.actionPerformed,凭证删除时会执行MyVoucherDeleteActionListener.actionPerformed。注意,为了不影响凭证操作的性能,请不要在其中加太过耗时的逻辑。


版本迭代说明(不完全统计,新的在上):

补丁号(EAS881)发布时间更新内容
原生支持

补丁号(EAS861)发布时间更新内容
PT1686872022-11-11首次发布。
补丁号(EAS850)发布时间更新内容
PT1694652023-01-13首次发布。
补丁号(EAS820)发布时间更新内容
PT1682342022-10-14首次发布。
补丁号(EAS800)发布时间更新内容
暂不支持


金蝶EAS_凭证操作_二次开发_开发指南

概述  凭证操作是总账系统比较重要的功能,也是最为常见的操作,它包括:凭证保存,凭证提交,凭证删除,凭证审核,凭证反审核,凭证过账...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息