操作插件示例代码
修订记录 Ver. No V1.0 日期 20150420 编制\\修订 丁振华 校对 张晋博 批准 赖碧云 修改的章节号 初始版本
问题和意见 如果你对文档有任何意见、问题或想法,或者你的问题未在此文档中找到答案,请通过电子邮件联系我们
jinbo_zhang@kingdee.com
目录
操作插件示例代码 ........................................................................................................................... 1 操作插件概要说明 ........................................................................................................................... 4
如何创建一个操作插件 ........................................................................................................... 4 操作插件概览 ........................................................................................................................... 6 如何启用操作插件 ................................................................................................................. 10 公共属性......................................................................................................................................... 13
BusinessInfo ............................................................................................................................ 13
语法 ................................................................................................................................. 13 案例 – 单据已经生成凭证则禁止反审核 ................................................................... 13 Context .................................................................................................................................... 15 语法 ................................................................................................................................. 15 案例 – 采购调价表审核时自动生效 ........................................................................... 16 FormOperation ........................................................................................................................ 18
语法 ................................................................................................................................. 19 案例 - 销售订单保存不做信用检查 ............................................................................ 19 OperationResult ...................................................................................................................... 21
语法 ................................................................................................................................. 21 案例 – 检查到负库存,提醒用户确认 ....................................................................... 21 Option ..................................................................................................................................... 23
语法 ................................................................................................................................. 23 案例 – 寄售结算单只在列表上审核时,需检查价格 ............................................... 23
基类虚方法,可捕获的事件 ......................................................................................................... 25
OnPrepareOperationServiceOption ........................................................................................ 25
语法 ................................................................................................................................. 25 案例 – 初始化库存保存 ............................................................................................... 26 OnPreparePropertys ............................................................................................................... 32
语法 ................................................................................................................................. 32 案例 – 采购价目表审核时,同步更新供应商价格 ................................................... 33 OnAddValidators ..................................................................................................................... 35
语法 ................................................................................................................................. 35 案例 – 单据反审核时,生成凭证校验 ....................................................................... 35 BeforeExecuteOperationTransaction ...................................................................................... 40
语法 ................................................................................................................................. 40 案例 – 销售价目表保存前更新数量区间价格 ........................................................... 40 BeginOperationTransaction ..................................................................................................... 44
语法 ................................................................................................................................. 44 案例 – 反审核采购退货单,删除关联的内部交易单据 ........................................... 44 EndOperationTransaction ....................................................................................................... 47
语法 ................................................................................................................................. 47 案例 – 采购折扣表审核时,同步更新供应商折扣 ................................................... 47 AfterExecuteOperationTransaction ......................................................................................... 50
语法 ................................................................................................................................. 50
案例 – 消耗汇总审核,提示同步生成的物权转移单编号 ....................................... 50
操作插件概要说明
操作插件,用于对操作的执行过程进行干预、控制,以实现自定义扩展功能;
如可以为审核操作,附加插件,在审核前,进行数据检查,只有符合条件的数据才允许审核;审核后,进行自动下推,并与审核操作保持在一个事务,如果自动下推失败,则审核回滚,确保数据的完整性。
特别说明:请谨慎使用单据维护界面插件的BeforeDoOperate事件、AfterDoOperate事件,进行操作前后处理。单据维护界面的这两个事件,与操作本身并不是同一事务,如果在AfterDoOperate进行同步数据处理,如果处理失败,则无法回滚数据,从而造成数据不一致。
如何创建一个操作插件
? 创建类库工程,包含插件类定义
? 引用如下类库(类库文件在K/3 Cloud站点目录\\Bin\\)
必选的类库文件包括: Kingdee.BOS.dll; Kingdee.BOS.App.dll;
Kingdee.BOS.BusinessEntity.dll; Kingdee.BOS.Contracts.dll; Kingdee.BOS.Core.dll;
Kingdee.BOS.DataEntity.dll;
? 在类库中添加一个插件类