Szukaj…


Bulkifikacja

Jeśli przetwarzasz wiersz po rzędzie w Salesforce, prawdopodobnie szybko osiągniesz limit gubernatora. Jest to szczególnie prawdziwe w przypadku wyzwalaczy i przedmiotów, które uruchamiają się, gdy się ich nie spodziewasz. Jedną z udokumentowanych metod ucieczki od limitu gubernatora jest rozbudowa.

Uwaga: Poniższe informacje oparte są na oficjalnych dokumentach Salesforce.

Kod Apek Bulkifying oznacza upewnienie się, że kod poprawnie obsługuje więcej niż jeden rekord na raz. Gdy partia rekordów inicjuje Apex, wykonywana jest pojedyncza instancja tego kodu Apex, ale ta instancja musi obsłużyć wszystkie rekordy w danej partii.

Nie Bulkified:

trigger accountTestTrggr on Account (before insert, before update) 
{

   //This only handles the first record in the Trigger.new collection
   //But if more than 1 Account initiated this trigger, those additional records
   //will not be processed
   Account acct = Trigger.new[0];
   List<Contact> contacts = [select id, salutation, firstname, lastname, email 
              from Contact where accountId =&nbsp;:acct.Id];
   
}

Bulkified:

trigger accountTestTrggr on Account (before insert, before update) 
{
    List<String> accountNames = new List<String>{};
   //Loop through all records in the Trigger.new collection
   for(Account a: Trigger.new){
      //Concatenate the Name and billingState into the Description field
      a.Description = a.Name + ':' + a.BillingState
   }
}


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow