二开案例.服务插件.事件.BeginOperationTransaction
【事件名称】
BeginOperationTransaction
调用操作事务前事件(事务内)
【事件参数】
BeginOperationTransaction
DataEntitys:本次事务处理的实体
CancelOperation:是否取消平台对本操作的内置处理(此属性仅取消部分内置处理,不是终止操作,包括AbstractOprerationService下的BeforeInvokeFormBusiness、ExecuteOperatinTransaction和AfterInvokeFormBusiness)
CancelFormService:是否取消执行本操作所关联的表单服务(AbstractOprerationService下的InvokeFormBusiness,分为操作前和操作后)
【触发时机】
App层触发。
通常在校验通过后,在BeforeExecuteOperationTransaction事件之后触发,在启动事务后触发,在EndOperationTransaction事件之前触发。
【功能说明】
此事件受事务保护。
操作的内部事务启动后,会首先触发此事件。
在此事件中访问的数据库表,在操作事务结束前会被锁定,需特别留意表的访问顺序,避免死锁。
此事件中的代码块不宜执行时间太长,大事务处理超时,轻则造成本次操作失败,重则造成整个系统卡顿奔溃。
此时的数据包尚未提交到数据库,通常在此事件中对操作的数据包进行数据再加工处理。
【注意事项】
<1>如果操作失败,事务回滚,那么此事件中的所有数据库操作都会被回滚。
<2>不要在此事件中做数据库的DDL操作(例如:创建表或视图,修改字段类型,创建索引等),容易造成事务阻塞和死锁,ORACLE账套下还会造成事务隐性提交,最终造成操作失败。
【应用场景】
<1>抛异常中断操作。
<2>数据校验。
<3>输出交互异常。
<4>数据预处理。
<5>数据再加工。
<6>日志跟踪。
<7>执行其他需要事务保存的数据库操作。
<8>设置是否取消平台对本操作的内置处理。
<9>设置是否取消执行本操作所关联的表单服务。
<10>修改DataEntitys属性,调整参与操作的数据包。
【代码模板】
using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Util; using System.ComponentModel; /// <summary> /// 【服务插件】BeginOperationTransaction /// </summary> [Description("【服务插件】BeginOperationTransaction"), HotUpdate] public class BeginOperationTransactionOperationServicePlugIn : AbstractOperationServicePlugIn { public override void BeginOperationTransaction(BeginOperationTransactionArgs e) { base.BeginOperationTransaction(e); // TODO } }
【应用案例】
【二开案例.服务插件.BeginOperationTransaction】https://vip.kingdee.com/article/386168513758974208
【二开案例.服务插件.保存前检查单据编号是否合法】https://vip.kingdee.com/article/230334739544911616
【二开案例.服务插件.单据编号保存到单据体上】https://vip.kingdee.com/article/297426041859781632
【二开案例.服务插件.列表批量操作时取消部分单据的操作】https://vip.kingdee.com/article/236419460499257344
---------------------------------------------------------------------------------------------------------
【二开案例.服务插件.全事件】https://vip.kingdee.com/article/385123929595391744
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.服务插件.事件.BeginOperationTransaction
本文2024-09-23 03:59:16发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-162377.html