Triggers 防止删除记录

Triggers 防止删除记录,triggers,salesforce,apex,Triggers,Salesforce,Apex,如果对象a的stage字段已作为值完成,我试图阻止删除对象a的子记录 如何使用触发器来满足条件? 如果trigger不能做到这一点,有没有更好的方法? 提前感谢。如果关系是master detail,您可以对master对象执行汇总汇总和验证规则,例如ISPICKVALStage\uuu c、'Completed'&&PRIORVALUERollup\uu c>rollup\uu c 如果它只是子对象上的查找触发器。验证规则不会在删除记录时触发 像这样的东西可能有语法错误,但只是给你一个想法 t

如果对象a的stage字段已作为值完成,我试图阻止删除对象a的子记录

如何使用触发器来满足条件? 如果trigger不能做到这一点,有没有更好的方法?
提前感谢。

如果关系是master detail,您可以对master对象执行汇总汇总和验证规则,例如ISPICKVALStage\uuu c、'Completed'&&PRIORVALUERollup\uu c>rollup\uu c

如果它只是子对象上的查找触发器。验证规则不会在删除记录时触发

像这样的东西可能有语法错误,但只是给你一个想法

trigger ObjectATrigger on ObjectA__c (before delete){

    Map<Id, Parent__c> parents = new Map<Id, Parent__c>([SELECT Id
        FROM Parent__c 
        WHERE Stage__c = 'Completed' 
            AND Id IN (SELECT Parent__c FROM ObjectA__c WHERE Id IN :trigger.old)]);

    for(ObjectA__c o : trigger.old){
        if(parents.containsKey(o.Parent__c)){
            o.addError('Nice try');
        }
    }
}

很抱歉问得这么含糊。实际上,我很好奇,如果文件对象的相关父对象的状态字段值设置为“已完成”,那么会阻止对该文件对象执行插入/更新/删除操作。答案是利用ContentDocument和ContentDocumentLink上的触发器。谢谢

欢迎来到SO。你试了什么?你能给出一个更好的解释吗?看见