2017-09-26 1 views
0

Ich bin sicher, dass dies eine allgemeine Aufgabe ist, die in Salesforce ausgeführt werden muss, aber ich kann nicht für das Leben eine gute Lösung finden der Salesforce-Datenimport-Assistent. Ich muss einfach eine Menge Leads in Kontakte konvertieren. Ich kann meine Lead-Daten exportieren und dann als Kontakte importieren, aber wie aktualisiere ich dann alle alten Leads und markiere sie als konvertiert? Es gibt ein Feld in Salesforce, das "IsConverted" genannt wird, aber es ist keine Option in der Liste der abbildbaren Felder im Import-Assistenten. Was ist der beste Weg, um diese Aufgabe der Massenkonvertierung zu erreichen führt zu Kontakten?Verwenden des Salesforce-Datenimport-Assistenten zum Importieren von Kontakten und zum Konvertieren von Leads

Antwort

0

Eine direkte Annäherung, die Sie für dieses nehmen können, ist ein einfacher Auslöser. Sie müssen ein boolesches Feld auf dem Lead mit einem Namen wie "API Convert" hinzufügen. Der Zweck dieses Feldes besteht darin, die Konvertierung eines Leads auszulösen, wenn dieser auf "True" gesetzt wird. Dadurch können Sie Leads in einem Datenladeprogramm aktualisieren, indem Sie einfach API_Convert__c = true markieren.

Beispiel für den Bulk-Trigger, der von der Salesforce Developer-Community ausgeliehen wurde, mit einer Aktualisierung, um dieses Feld als Abhängigkeit hinzuzufügen.

trigger AutoConvert on Lead (after update) { 
    list<Lead> LeadsToConvert = new list<Lead>(); 
    for(Lead myLead: Trigger.new){ 
     if(!myLead.isConverted && myLead.API_Convert__c == true) 
     LeadsToConvert.add(myLead); 
    } 

    list<Database.LeadConvert> leadConverts = new list<Database.LeadConvert>(); 
    for(Lead myLead : LeadsToConvert){ 
     Database.LeadConvert lc = new database.LeadConvert(); 
     lc.setLeadId(myLead.Id); 
     lc.convertedStatus = 'Qualified'; 
     //Database.ConvertLead(lc,true); 
     lc.setDoNotCreateOpportunity(true); 
     leadConverts.add(lc); 
    } 

    if(!leadConverts.isEmpty()){ 
     for(Integer i = 0; i <= leadConverts.size()/100 ; i++){ 
     list<Database.LeadConvert> tempList = new list<Database.LeadConvert>(); 
     Integer startIndex = i*100; 
     Integer endIndex = ((startIndex+100) < leadConverts.size()) ? startIndex+100: leadConverts.size(); 
     for(Integer j=startIndex;j<endIndex;j++){ 
      tempList.add(leadConverts[j]); 
     } 
     Database.LeadConvertResult[] lcrList = Database.convertLead(tempList, false); 
     for(Database.LeadConvertResult lcr : lcrList) 
      System.assert(lcr.isSuccess()); 
     } 
    } 
} 
0

Das IsConverted-Feld ist systemgesteuert, Sie können es nicht ändern. Das Konvertieren von Leads kann nicht über einen Datenimport erfolgen. Es gibt einen Apex method und API-Aufruf, der zum Konvertieren von Leads verwendet werden kann, aber ein einfaches Update funktioniert nicht.

Sie können Apps auf der AppExchange versuchen, die Code für Sie geschrieben haben.

Verwandte Themen