我在插入后触发的 Salesforce 潜在客户触发器有问题。潜在客户分配规则需要默认启用,但我需要绕过符合特定条件的潜在客户的规则。
我在销售人员文档中看到您可以在插入/更新潜在客户时设置分配规则:http: //www.salesforce.com/us/developer/docs/apexcode/Content/apex_methods_system_database_dmloptions.htm#assignmentRuleHeader_section
但是,我无法关闭这些潜在客户分配规则:
...
// 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;
我还尝试创建一个没有实际规则的新潜在客户分配规则集,并将 DML 选项设置为使用它 - 但仍会触发默认分配规则!dmo.assignmentRuleHeader.assignmentRuleID = '01Qe00000000HAq';
执行顺序表明记录保存到数据库(未提交)> 触发器执行后> 分配规则执行。因此触发器在分配规则之前运行。
我在插入之前尝试过代码,但收到错误“DML 语句无法在 trigger.new 或 trigger.old 上操作:Trigger.AssignOwnerToNewLead:第 133 行,第 1 列”
在此先感谢,山姆