Triggers 关闭salesforce潜在客户触发器中的潜在客户分配规则
我的Salesforce lead触发器有问题,插入后被触发。lead assignment规则在默认情况下需要启用,但我需要绕过符合特定条件的lead的规则 我在salesforce文档中看到,您可以在插入/更新Lead时设置分配规则: 但是,我无法关闭这些潜在客户分配规则: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
...
// 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