二开案例.服务插件.移除校验器
【应用场景】
通过插件,运行时移除操作上的服务插件的某些校验器,从而避开这些校验器的限制。
【案例演示】
物料,删除操作,移除基础资料引用检查校验器。
【实现步骤】
<1>编写服务插件,代码如下。
using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Util; using System.ComponentModel; namespace Jac.XkDemo.BOS.App.PlugIn { /// <summary> /// 【服务插件】移除校验器 /// </summary> [Description("【服务插件】移除校验器"), HotUpdate] public class RemoveValidatorOperationServicePlugIn : AbstractOperationServicePlugIn { public override void OnAddValidators(AddValidatorsEventArgs e) { base.OnAddValidators(e); // 获取基础资料引用检查校验器 // var validators = e.Validators.FindAll(o => o.GetType().Name == "BaseDataRefValidator"); // 移除基础资料引用检查校验器 e.Validators.RemoveAll(o => o.GetType().Name == "BaseDataRefValidator"); } } }
如果使用Python插件,代码如下:
def OnAddValidators(e): #validators = list(filter(lambda x: x.__class__.__name__ == 'BaseDataRefValidator', e.Validators)) validators = list(filter(lambda x: x.GetType().Name == 'BaseDataRefValidator', e.Validators)) j=len(validators) if (j>0): for i in range(0,j): e.Validators.Remove(validators[i])
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展物料,删除操作注册服务插件,保存元数据,开发完毕。
如果使用Python插件,插件注册界面如下图。
【功能验证】
<1>登录业务站点,打开物料列表,点击删除菜单,此时不会再做基础资料引用检查,物料数据直接被删除了。
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.服务插件.移除校验器
【应用场景】通过插件,运行时移除操作上的服务插件的某些校验器,从而避开这些校验器的限制。【案例演示】物料,删除操作,移除基础资料引...
点击下载文档
本文2024-09-23 04:01:23发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-162610.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章