前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Salesforce开发之 如何实现DML操作时,当前用户跳过验证规则(Validation Rule)

Salesforce开发之 如何实现DML操作时,当前用户跳过验证规则(Validation Rule)

原创
作者头像
zcx
修改2022-08-08 17:52:22
3740
修改2022-08-08 17:52:22
举报
文章被收录于专栏:salesforce开发之路上的记事本
代码语言:javascript
复制
    public static void ignoreValidationRules(List<Sobject> dmlList, String dmlType) {
        //跳过验证规则
        GlobalSetting__c gs;
        GlobalSetting__c oldGS;
        List<GlobalSetting__c> gsList = [SELECT Id,
                                                SetupOwnerId,
                                                IgnoreValidation__c
                                         FROM GlobalSetting__c
                                         WHERE SetupOwnerId = :UserInfo.getUserId()];
        // 设置当前用户忽略验证规则
        if (gsList.size() > 0) {
            gs = gsList[0];
        } else {
            gs = new GlobalSetting__c();
            gs.SetupOwnerId = UserInfo.getUserId();
        }
        oldGS = gs.clone();
        gs.IgnoreValidation__c = true;
        UPSERT gs;

        oldGS.Id = gs.Id;

        if (dmlType == 'INSERT') {
            insert dmlList;
        }
        if (dmlType == 'UPDATE') {
            update dmlList;
        }
        if (dmlType == 'DELETE') {
            delete dmlList;
        }

        UPDATE oldGS;
    }

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档