代码之家  ›  专栏  ›  技术社区  ›  Colin

使用Salesforce数据导入向导导入联系人并转换潜在客户

  •  0
  • Colin  · 技术社区  · 8 年前

    我确信这是人们在Salesforce中需要完成的一项常见任务,但我一辈子都想不出使用Salesforce数据导入向导来完成这项任务的好方法。我只需要将一堆潜在客户批量转换为联系人。我可以导出我的潜在客户数据,然后将其作为联系人重新导入,但如何更新所有旧的潜在客户并将其标记为已转换?Salesforce中有一个名为“IsConverted”的字段,但它不是导入向导中可映射字段列表中的选项。完成将引线批量转换为联系人的任务的最佳方法是什么?

    2 回复  |  直到 8 年前
        1
  •  0
  •   user1681277    8 年前

    对此,您可以采取一种直接的方法,这是一个简单的触发器。您需要在lead上添加一个名为“API Convert”的布尔字段。此字段的目的是在更新为true时触发潜在客户的转换。这将允许您只需标记API\u Convert\u c=true,即可更新数据加载器中的Lead。

    借用自Salesforce Developer community的bulkified触发器示例,更新后将此字段添加为依赖项。

    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());
          }
        }
    }
    
        2
  •  0
  •   Matt Kaufman    8 年前

    Apex method 和API调用,可以用来转换线索,但一个简单的更新是行不通的。

    你可以在 AppExchange