Turn off lead assignment rules in salesforce lead trigger -
i'm having trouble salesforce lead trigger, fired after insert. lead assignment rules need on default, need bypass rules leads match criteria.
i've seen in salesforce docs able set assignment rules when inserting/updating leads: http://www.salesforce.com/us/developer/docs/apexcode/content/apex_methods_system_database_dmloptions.htm#assignmentruleheader_section
however, i'm not able turn off these lead assignment rules:
... // if criteria met 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;
i've tried creating new lead assignment rule set no actual rules , set dml options use - default assignment rules still fired! dmo.assignmentruleheader.assignmentruleid = '01qe00000000haq';
the order of execution states record saved database (not committed) > after triggers executed > assignment rules executed. trigger run before assignment rules.
i've tried code on before insert, error 'dml statment cannot operate on trigger.new or trigger.old: trigger.assignownertonewlead: line 133, column 1'
thanks in advance, sam
use before trigger
for (lead objlead : trigger.new) { database.dmloptions dmo = new database.dmloptions(); dmo.assignmentruleheader.usedefaultrule = false; objlead.ownerid = objlead.eloqua_id__c; objlead.setoptions(dmo); } }
Comments
Post a Comment