2017-09-26 75 views
0

我確定這是人們需要在Salesforce中完成的常見任務,但我無法爲我的數據生活提供一種使用它的好方法Salesforce數據導入嚮導。我只需將大量潛在顧客批量轉換爲聯繫人即可。我可以導出我的潛在客戶數據,然後將其重新導入爲聯繫人,但是如何更新所有舊潛在客戶並將其標記爲已轉換? Salesforce中有一個名爲「IsConverted」的字段,但它不是導入嚮導中可映射字段列表中的一個選項。完成批量轉換任務的最佳方法是什麼導致聯繫人?使用Salesforce數據導入嚮導導入聯繫人並轉換潛在客戶

回答

0

你可以爲此採取的直接方法是一個簡單的觸發器。您需要使用「API轉換」這樣的名稱在潛在客戶上添加布爾字段。此字段的目的是在更新爲真時觸發潛在客戶的轉換。這將允許您通過標記API_Convert__c = true來更新數據加載器中的線索。

從Salesforce開發人員社區借用的批量觸發器示例,其中包含將此字段作爲依賴項添加的更新。

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

IsConverted字段是系統控制的,您不能修改它。轉換線索不能通過數據導入完成。有一個Apex method和API調用可用於轉換潛在顧客,但一個簡單的更新將無法正常工作。

您可以嘗試AppExchange上的代碼爲您預先編寫代碼的應用程序。