In Salesforce, la convalida dei dati prima/dopo l'inserimento è molto importante e dovrebbe essere preso in considerazione. Nella maggior parte degli scenari, dopo aver inserito i dati nell'oggetto Salesforce, devono avvenire alcune manipolazioni dei dati e gli inserimenti/eliminazioni/aggiornamenti errati devono essere convalidati e gestiti. Per raggiungere questo obiettivo, Salesforce ha introdotto uno script Apex noto come "trigger". Immergiti rapidamente nella guida che si occupa di eventi trigger, variabili di contesto, tipi e scenari con esempi in tempo reale.
Apex trigger
In Salesforce, Trigger è un codice apice (.apxt) che si accende prima o dopo le istanze di manipolazione dei dati. Sulla base dell'evento specificato nel grilletto, si accende su oggetti specificati in Salesforce. Inoltre, possiamo specificare i contesti che ci aiutano ad accedere ai contesti di runtime. Questo ci aiuta a prevenire azioni indesiderate/non necessarie sugli oggetti in Salesforce. Dì, nell'oggetto account, dobbiamo aggiornare solo il telefono quando "l'industria" è "agricoltura".
Trigger eventi
Come abbiamo già discusso, si verifica un grilletto prima o dopo le operazioni DML. Ci sono tre operazioni DML che si verificano sull'oggetto Salesforce.
Un altro evento di trigger che può essere sparato dopo un sottotesto è "dopo undeleta".
Tipi di innesco
Fondamentalmente, ci sono due tipi di trigger: il grilletto "prima" e il grilletto "dopo".
Trigger variabili di contesto
È importante vedere quale scenario di innesco viene licenziato. Dobbiamo tracciare su quale contesto del trigger viene licenziato il trigger. Tutte le variabili di contesto del trigger restituiscono true se il trigger viene sparato a causa di quell'evento. Guardiamoli uno per uno.
1. isinsert: Se il grilletto viene sparato a causa di un evento DML inserto, Isinsert diventa vero.
Esempio: Creazione di contatti quando viene creato "account".
2. isupdate: Se il trigger viene sparato a causa di un evento DML di aggiornamento, Isupdate diventa vero.
Esempio: Se il "nome dell'account" non è nullo, popola le "entrate annuali".
3. isdelete: Se il trigger viene sparato a causa di un evento DML Elimina, IsDelete diventa vero.
Esempio: I record dell'account non sono in grado di eliminare se "valutazione dell'account" è "calda".
4. isundelete: Se il grilletto viene sparato a causa di un evento DML non sieduto, Isundelete diventa vero.
Esempio: I record dell'account vengono recuperati dal cestino del riciclo di Salesforce.
Sintassi del trigger:
Possiamo creare uno script Apex che si accende in base alle istanze DML utilizzando la parola chiave "trigger" seguita dal nome del trigger. Chiede quale oggetto Salesforce faccia il trigger dovrebbe avvenire durante la creazione dello script Apex stesso. Tutti gli eventi del trigger sono specificati dopo l'oggetto Salesforce.
trigger trigger_name su salesforce_object_api (trigger_events)Configurazione dell'ambiente
1. Vai al "Console per sviluppatori" e vai al file "seleziona nuovo". Quindi, scegli "Apex Trigger".
2. Chiede il nome dello script e l'oggetto Salesforce in modo tale che il trigger sia sparato su questo oggetto. Fai clic su "Invia" per creare un nuovo trigger Apex.
Scenario 1: prima di inserire
Quando l'account viene creato con l'industria "educativa", licenziemo un trigger che assegna il campo "tipo" al "partner tecnologico" [Account oggetto - Account].
trigger prima_insert sull'account (prima di inserire)"Innanzitutto, itechiamo i registri dell'account e controlliamo se l'industria è" educativa "o no. Se è "educazione", assegniamo il "partner tecnologico" al campo "Tipo".
Caso di prova:
Vai alla scheda "Account" dal lanciatore dell'app e crea un account con l'industria come "istruzione". Controlla se il campo "tipo" è popolato con "partner tecnologico" o no.
Facendo clic su "Salva", puoi vedere che "tipo" è creato con "Technology Partner".
Scenario 2: dopo l'inserto e dopo l'aggiornamento
Quando l'account viene creato con la valutazione "calda", licenziemo un grilletto che crea un contatto con "Contatta LastName" come "LinuxHint-Account", "Titolo" come "Manager" e "Dipartimento" come "Vendite" [Oggetto - Account].
trigger after_insert_trigger sull'account (dopo l'inserto, dopo l'aggiornamento)Innanzitutto, creiamo un elenco di tipo "contatto" e iteliamo l'oggetto "account". All'interno del ciclo "per", controlliamo se la "valutazione dell'account" è "calda" o no. Se è "caldo", creiamo "contatto" e assegniamo tre campi con i valori e aggiungiamo questo oggetto all'elenco dei contatti (dichiarato in precedenza). Infine, inseriamo questi tre campi nell'oggetto "Contatto" usando il DML inserisci.
Caso di prova:
Vai alla scheda "Account" dal lancio dell'app e crea un account con la "valutazione" come "caldo". Controlla se il record di contatto viene creato con tre campi specificati.
Dopo aver fatto clic su "Salva", puoi vedere che il "contatto" è creato con tre campi. Vai alla scheda "Contatti".
Possiamo vedere che vengono creati tre campi. Vai alla scheda "Dettagli" per visualizzare i campi.
Scenario 3: prima dell'aggiornamento
Quando la campagna viene aggiornata con il tipo di "conferenza", accendemo un trigger che aggiorna il campo "status" al "Object" - Campagna].
trigger prima_update_trigger sulla campagna (prima dell'aggiornamento)Innanzitutto, iteliamo i registri della campagna e controlliamo se il "tipo" è "conferenza" o no. Se si tratta di "Conferenza", aggiorniamo il campo "Stato" su "Completato".
Caso di prova:
Vai alla scheda "campagne" dal lanciatore dell'app e apri qualsiasi record esistente.
Questo record è di tipo "webinar" e il suo stato è "pianificato". Ora, modifica questo record aggiornando il tipo a "Conferenza".
Possiamo vedere che lo "stato" viene aggiornato a "completato".
Scenario 4: Elimina (prima)
Quando proviamo a eliminare i record dell'oggetto della campagna quando lo stato è "completato" o il tipo è "Conferenza", lanciamo un errore in modo tale che non saremo in grado di eliminare i record. Visualizziamo l'errore usando il metodo AdderRor () [Oggetto - Campagna].
trigger delete_trigger sulla campagna (prima di delete)Caso di prova:
Vai alla scheda "campagne" dal lanciatore dell'app e apri qualsiasi record esistente con lo stato "completato" o con il tipo "Conferenza".
Fai clic su "Elimina" sul discesa a destra.
Possiamo vedere che l'errore viene lanciato e non è eliminato.
Conclusione
Trigger è uno script apice che si accende prima o dopo le istanze di manipolazione dei dati. Sulla base dell'evento specificato nel grilletto, si accende su oggetti specificati in Salesforce. Abbiamo imparato i quattro diversi scenari per licenziare il grilletto al momento dell'inserimento, dell'aggiornamento e della cancellazione con diversi esempi su oggetti diversi. Qui, abbiamo utilizzato gli oggetti dell'account, dei contatti e della campagna per la dimostrazione. Puoi seguire gli stessi esempi sui tuoi oggetti personalizzati.