44.2、操作插件 BeforeExecuteOperationTransaction事务开始前事件原创
11人赞赏了该文章
1万次浏览
编辑于2020年07月12日 13:51:14
业务场景:采购订单,单据体字段FHHID如果已存在重复,保存的时候提示报错
续
1、删除上一节代码
e.CancelMessage = "测试终止操作执行"; e.Cancel = true;
2、
//本节使用的方法,事务开始前事件 public override void BeforeExecuteOperationTransaction(BeforeExecuteOperationTransaction e) { base.BeforeExecuteOperationTransaction(e); //所选择的行,循环,读取单据体POOrderEntry foreach(ExtendedDataEntity extended in e.SelectedRows) { int flog = 0; DynamicObject dy = extended.DataEntity; DynamicObjectCollection docPriceEntity = dy["POOrderEntry"] as DynamicObjectCollection; foreach(DynamicObject HHentity in docPriceEntity) { //如果FHHID已存在,报错 if(Convert.ToString(HHentity["FHHID"]) !="0") { if(flog ==0) { string sqlselect = "/*dialect*/select 1 cut from t_PUR_POOrderEntry where FENTRYID<>" + HHentity["ID"] + " and FHHID=" + HHentity["FHHID"]; dtTable = DBUtils.ExecuteDataSet(this.Context,sqlselect).Tables[0]; if(dtTable.Rows.Count >0) { flog = 1; } } } } if(flog ==1) { throw new KDBusinessException("", "FHHID导入重复数据!"); } } }
3、最终效果,打开采购订单,填写第三方ID 1001
4、再复制新增一张采购订单,填写相同的第三方ID,单据体字段FHHID如果已存在重复,保存的时候提示报错;
总目录链接
https://vip.kingdee.com/article/64993872014591232
44.2.zip(57.88KB)
赞 11
11人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读