潜在客户分配触发器在插入时错误触发
Lead Assignment Trigger Incorrectly Firing On Insert
我正在尝试创建一个 Apex 触发器,如果潜在客户上的 "Reassign" 复选框设置为真,它将重新 运行 潜在客户分配规则。
我在我的一个 Sandbox Orgs 中编写了下面的触发器,并且在编辑现有潜在客户以满足此标准时它可以完美运行。
但是,我注意到分配规则现在会在创建任何线索时触发,即使 "Assign using active assignment rules" 复选框未设置为 True。
有人知道我错过了什么吗?
谢谢!
trigger runAssignmentRule on Lead (after insert,after update) {
//Variable declaration
List<Lead> leadList = new List<Lead>();
for (Lead leadObj : Trigger.new) {
if (leadObj.Reassign__c == TRUE) {
leadList.add(new Lead(id = leadObj.id));
}
Database.DMLOptions dmo = new Database.DMLOptions();
dmo.assignmentRuleHeader.useDefaultRule = true;
Database.update(leadList, dmo);
}
事实证明,我的组织有一些位于分配规则之上的自定义循环代码。当某个字段设置为 true 时,此代码触发分配规则 运行,我将其用作测试用例。
我正在尝试创建一个 Apex 触发器,如果潜在客户上的 "Reassign" 复选框设置为真,它将重新 运行 潜在客户分配规则。
我在我的一个 Sandbox Orgs 中编写了下面的触发器,并且在编辑现有潜在客户以满足此标准时它可以完美运行。
但是,我注意到分配规则现在会在创建任何线索时触发,即使 "Assign using active assignment rules" 复选框未设置为 True。
有人知道我错过了什么吗?
谢谢!
trigger runAssignmentRule on Lead (after insert,after update) {
//Variable declaration
List<Lead> leadList = new List<Lead>();
for (Lead leadObj : Trigger.new) {
if (leadObj.Reassign__c == TRUE) {
leadList.add(new Lead(id = leadObj.id));
}
Database.DMLOptions dmo = new Database.DMLOptions();
dmo.assignmentRuleHeader.useDefaultRule = true;
Database.update(leadList, dmo);
}
事实证明,我的组织有一些位于分配规则之上的自定义循环代码。当某个字段设置为 true 时,此代码触发分配规则 运行,我将其用作测试用例。