You need to sign in to do that
Don't have an account?
durga prasad 45
lead conversion problem
hi every one can any one give support when lead convert automatically geeting error. here lead owner is queue
Error:Apex trigger AutoConverter caused an unexpected exception, contact your administrator: AutoConverter: execution of AfterUpdate caused by: System.DmlException: ConvertLead failed. First exception on row 0; first error: REQUIRED_FIELD_MISSING, Converted objects can only be owned by users. If the lead is not owned by a user, you must specify a user for the Owner field.: [OwnerId]: Trigger.AutoConverter: line 25, column 1
code:
Trigger AutoConverter on Lead (after insert,after update) {
LeadStatus convertStatus = [
select MasterLabel
from LeadStatus
where IsConverted = true
limit 1
];
List<Database.LeadConvert> leadConverts = new List<Database.LeadConvert>();
for (Lead lead: Trigger.new) {
if (lead.isConverted ==false){
if(lead.Status == 'Convert') {
Database.LeadConvert lc = new Database.LeadConvert();
String oppName = lead.LastName;
lc.setLeadId(lead.Id);
lc.setOpportunityName(oppName);
lc.setConvertedStatus(convertStatus.MasterLabel);
leadConverts.add(lc);
}
}
}
if (!leadConverts.isEmpty()) {
List<Database.LeadConvertResult> lcr = Database.convertLead(leadConverts);
}
}
Error:Apex trigger AutoConverter caused an unexpected exception, contact your administrator: AutoConverter: execution of AfterUpdate caused by: System.DmlException: ConvertLead failed. First exception on row 0; first error: REQUIRED_FIELD_MISSING, Converted objects can only be owned by users. If the lead is not owned by a user, you must specify a user for the Owner field.: [OwnerId]: Trigger.AutoConverter: line 25, column 1
code:
Trigger AutoConverter on Lead (after insert,after update) {
LeadStatus convertStatus = [
select MasterLabel
from LeadStatus
where IsConverted = true
limit 1
];
List<Database.LeadConvert> leadConverts = new List<Database.LeadConvert>();
for (Lead lead: Trigger.new) {
if (lead.isConverted ==false){
if(lead.Status == 'Convert') {
Database.LeadConvert lc = new Database.LeadConvert();
String oppName = lead.LastName;
lc.setLeadId(lead.Id);
lc.setOpportunityName(oppName);
lc.setConvertedStatus(convertStatus.MasterLabel);
leadConverts.add(lc);
}
}
}
if (!leadConverts.isEmpty()) {
List<Database.LeadConvertResult> lcr = Database.convertLead(leadConverts);
}
}
The problem is that the owner of the lead is a queue and as you are not specifying a new owner for the Account and Contact, Salesforce is taking by default the owner of the Lead and Accounts and Contacts can't have a queue as owner.
You can read more about this at this link:
https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_calls_convertlead.htm
Regards