2012-08-02 3 views
0

Я пытаюсь создать класс APEX в Salesforce, который отправляет SMS. Это вызвано из Lead Trigger.Перейти в Salesforce Класс APEX

Я хочу передать «Свинец» в метод, но получаю следующую ошибку

«неподдерживаемый тип параметра SObject: Свинец»

Моя декларация выглядит следующим образом.

global class SMS_Services { 

    @future (callout=true) 
    public static void SendTestDriveReminder(Lead l){ 

    } 
} 

ответ

2

Это потому, что вы аннотированный метод как @future будущие методы могут принимать только примитивные параметры. Таким образом, вам нужно будет изменить тип параметра для Id, например:

@future (callout=true) 
public static void SendTestDriveReminder(Set<Id> leadIds) 

Важно отметить, что я рекомендую вам изменить параметр из одной записи в набор идентификаторов это происходит потому, что вы должны быть bulkifying триггер

trigger LeadTriggerExample on Lead (after insert, after update) { 
    Set<Id> leadIds = new Set<Id>(); 
    for(Lead l : Trigger.new) { 
     if(/*Certain Criteria is met*/) { 
      leadIds.add(l.Id); 
     } 
    } 
    SMS_Services.SendTestDriveReminder(leadIds); 
} 

вы можете получить только небольшое количество будущих методов каждый день, вы должны использовать их экономно

Смежные вопросы