Triggers 关闭salesforce潜在客户触发器中的潜在客户分配规则

Triggers 关闭salesforce潜在客户触发器中的潜在客户分配规则,triggers,salesforce,apex-code,force.com,Triggers,Salesforce,Apex Code,Force.com,我的Salesforce lead触发器有问题,插入后被触发。lead assignment规则在默认情况下需要启用,但我需要绕过符合特定条件的lead的规则 我在salesforce文档中看到,您可以在插入/更新Lead时设置分配规则: 但是,我无法关闭这些潜在客户分配规则: ... // if criteria is met to skip assignment rules... Lead tempobj1 = new Lead(id=objLead.id,OwnerId=ConDomain

我的Salesforce lead触发器有问题,插入后被触发。lead assignment规则在默认情况下需要启用,但我需要绕过符合特定条件的lead的规则

我在salesforce文档中看到,您可以在插入/更新Lead时设置分配规则:

但是,我无法关闭这些潜在客户分配规则:

...
// if criteria is met to skip assignment rules...
Lead tempobj1 = new Lead(id=objLead.id,OwnerId=ConDomainNameAndOwnerIdMap.get(Emaildomain),isOwnerChanged__c = true);

Database.DMLOptions dmo = new Database.DMLOptions();
dmo.assignmentRuleHeader.useDefaultRule= false; //it's still running assignment rules!
tempobj1.setOptions(dmo);

...
...

update tempobj1;
我还尝试创建一个没有实际规则的新lead分配规则集,并将DML选项设置为使用该规则-但默认分配规则仍然被触发<代码>dmo.assignmentRuleHeader.assignmentRuleID='01QE000000000HAQ'

执行顺序说明记录保存到数据库(未提交)>触发器执行后>分配规则执行。因此,触发器在分配规则之前运行

我在insert之前尝试了该代码,但出现错误“DML STATTION无法对trigger.new或trigger.old进行操作:trigger.AssignOwnerToNewLead:第133行第1列”

提前感谢,,
Sam在触发前使用此选项

for (Lead objLead : Trigger.new) {
        Database.DMLOptions dmo = new Database.DMLOptions();
        dmo.assignmentRuleHeader.useDefaultRule = false;
        objLead.OwnerID = objLead.Eloqua_ID__c;
        objLead.setOptions(dmo);
    }
}
  • 创建新的销售线索分配规则,但不指定其名称 赋值跳过
  • 在apex中,以编程方式在规则标题选项上设置该id

这是我尝试过的代码,但不起作用。这是在插入前触发器中吗?在插入之前尝试此操作时,我遇到一个错误:“DML station无法对trigger.new或trigger.old进行操作”