二开案例.服务插件.辅助资料移除名称唯一校验器
【应用场景】
辅助资料默认不允许名称重复,某些特殊场景下,想要解除此限制。
【案例演示】
辅助资料列表,控制辅助资料类型为【经营方式】的辅助资料,名称可以重复。
系统默认是不允许辅助资料名称重复的。
【实现步骤】
<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> /// 【服务插件】辅助资料移除名称唯一校验器 /// https://vip.kingdee.com/article/352375830209208832 /// </summary> [Description("【服务插件】辅助资料移除名称唯一校验器"), HotUpdate] public class RemoveNameSaveValidatorOperationServicePlugIn : AbstractOperationServicePlugIn { public override void OnAddValidators(AddValidatorsEventArgs e) { base.OnAddValidators(e); if (e.DataEntities[0]["FId_Id"].ToString() != "0026220efe099ee611e411a932b862d8") { // 判断当前保存的辅助资料的类别,是否是【经营方式】 // SELECT a.FID AS 辅助资料类别内码,b.FNAME AS 辅助资料类别名称,* FROM T_BAS_ASSISTANTDATA a LEFT JOIN T_BAS_ASSISTANTDATA_L b ON a.FID=b.FID AND b.FLOCALEID=2052 WHERE b.FNAME=N'经营方式' return; } // 移除名称唯一校验器 e.Validators.RemoveAll(o => o.GetType().Name == "IsExistNameSaveValidator"); } } }
Python插件代码如下:
def OnAddValidators(e): if (e.DataEntities[0]["FId_Id"].ToString() != "0026220efe099ee611e411a932b862d8"): validators = list(filter(lambda x: x.GetType().Name == 'IsExistNameSaveValidator', 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扩展辅助资料(BOS_ASSISTANTDATA_DETAIL),保存操作注册服务插件,保存元数据,开发完毕。
【功能验证】
<1>登录业务站点,打开辅助资料列表,找到经营方式,再次录入同名的经营方式,可以正常保存。
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.服务插件.辅助资料移除名称唯一校验器
【应用场景】辅助资料默认不允许名称重复,某些特殊场景下,想要解除此限制。【案例演示】辅助资料列表,控制辅助资料类型为【经营方式】的...
点击下载文档
本文2024-09-23 04:00:55发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-162558.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章