二开案例.服务插件.辅助资料移除名称唯一校验器

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

二开案例.服务插件.辅助资料移除名称唯一校验器

【应用场景】

辅助资料默认不允许名称重复,某些特殊场景下,想要解除此限制。


【案例演示】

辅助资料列表,控制辅助资料类型为【经营方式】的辅助资料,名称可以重复。

系统默认是不允许辅助资料名称重复的。



【实现步骤】

<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

二开案例.服务插件.辅助资料移除名称唯一校验器

【应用场景】辅助资料默认不允许名称重复,某些特殊场景下,想要解除此限制。【案例演示】辅助资料列表,控制辅助资料类型为【经营方式】的...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息