W Salesforce walidacja danych przed/po wstawieniu jest bardzo ważna i należy je wziąć pod uwagę. W większości scenariuszy, po wprowadzeniu danych do obiektu Salesforce, niektóre manipulacje danymi musi się zdarzyć, a niewłaściwe wprowadzenie/usuwanie/aktualizacje muszą zostać zatwierdzone i obsługiwane. Aby to osiągnąć, Salesforce wprowadził skrypt wierzchołkowy znany jako „wyzwalacz”. Szybko zanurz się w przewodniku, który zajmuje się zdarzeniami wyzwalacznymi, zmiennymi kontekstowymi, typami i scenariuszami z przykładami w czasie rzeczywistym.
Spust szczytowy
W Salesforce Trigger jest kodem wierzchołkowym (.apxt), który strzela przed lub po instancjach manipulacji danymi. W oparciu o zdarzenie określone w spustu, wystrzeliwuje ono na określonych obiektach w Salesforce. Możemy również określić konteksty, które pomogą nam uzyskać dostęp do kontekstów czasu wykonywania. Pomaga nam to zapobiegać niechcianym/niepotrzebnym działaniom na obiekty w Salesforce. Powiedz, że w obiekcie konto musimy zaktualizować tylko telefon, gdy „przemysł” to „rolnictwo”.
Wydarzenia wyzwalające
Jak już dyskutowaliśmy, występuje wyzwalacz przed lub po operacjach DML. Istnieją trzy operacje DML, które występują w obiekcie Salesforce.
Jeszcze jedno zdarzenie spustowe, które można zwolnić po Undleecji, jest „po Undlete”.
Typy spustu
Zasadniczo istnieją dwa rodzaje wyzwalaczy: spust „przed” i wyzwalacz „po”.
Wyzwalacz zmienne kontekstowe
Ważne jest, aby zobaczyć, który scenariusz spustowy jest zwolniony. Musimy śledzić, na którym kontekst wyzwalający jest zwolniony. Wszystkie zmienne kontekstowe spustu powracają, jeśli wyzwalacz zostanie wystrzelony z powodu tego zdarzenia. Spójrzmy na nich jeden po drugim.
1. isinsert: Jeśli spust zostanie wystrzelony z powodu zdarzenia wstawki DML, Isinsert staje się prawdziwy.
Przykład: Tworzenie kontaktu, gdy jest tworzone „konto”.
2. isupdate: Jeśli wyzwalacz zostanie zwolniony z powodu zdarzenia aktualizacji DML, IsUpdate staje się prawdziwy.
Przykład: Jeśli „nazwa konta” nie jest zerowa, wypełnij „roczne przychody”.
3. Isdelete: Jeśli spust zostanie wystrzelony z powodu zdarzenia usuwania DML, Isdelete staje się prawdziwe.
Przykład: Rekordy konta nie są w stanie usunąć, czy „ocena konta” jest „gorąca”.
4. Isundelete: Jeśli spust zostanie wystrzelony z powodu cofniętego zdarzenia DML, Isundelete staje się prawdziwe.
Przykład: Rekordy konta są pobierane z kosza recyklingu Salesforce.
Składnia wyzwala:
Możemy utworzyć skrypt wierzchołkowy, który strzela na podstawie instancji DML za pomocą słowa kluczowego „Trigger”, a następnie nazwy wyzwalacza. Pyta, który obiekt Salesforce czyni wyzwalacz, powinien odbyć się podczas tworzenia samego skryptu wierzchołkowego. Wszystkie zdarzenia spustowe są określone po obiekcie Salesforce.
Trigger Trigger_name na Salesforce_Object_API (Trigger_Events)Konfiguracja środowiska
1. Przejdź do „konsoli programisty” i przejdź do pliku „Wybierz nowy”. Następnie wybierz „Spust szczytowy”.
2. Zaprasza nazwę skryptu i obiekt Salesforce, aby spust został zwolniony na tym obiekcie. Kliknij „Prześlij”, aby utworzyć nowy wyzwalacz wierzchołka.
Scenariusz 1: Przed wstawieniem
Kiedy konto jest tworzone z branżą „edukacyjną”, zwolniamy spust, który przypisuje pole „typu” do „partnera technologicznego” [Konto obiektu].
wyzwalacz przed_insert na konto (przed wstawką)„Po pierwsze, iterujemy zapisy konta i sprawdzamy, czy branża jest„ edukacją ”, czy nie. Jeśli jest to „edukacja”, przypisujemy „partnera technologicznego” do pola „Typ”.
Przypadek testowy:
Przejdź do zakładki „Konta” z uruchamiania aplikacji i utwórz konto z branżą jako „edukacja”. Sprawdź, czy pole „Typ” jest wypełnione „partnerem technologicznym”, czy nie.
Po kliknięciu „Zapisz” możesz zobaczyć, że „Typ” jest tworzony z „partnerem technologicznym”.
Scenariusz 2: po wstawie i po aktualizacji
Kiedy konto jest tworzone z oceną „ciepłej”, zwolniamy spust, który tworzy kontakt z „kontaktem LastName” jako „Linuxhint-aktount”, „tytuł” jako „menedżer” i „dział” jako „sprzedaż” [obiektowy - Konto].
Trigger After_Insert_trigger na konto (po wstawieniu, po aktualizacji)Najpierw tworzymy listę typu „kontakt” i iterujemy obiekt „konta”. Wewnątrz pętli „dla” sprawdzamy, czy „ocena konta” jest „ciepła”, czy nie. Jeśli jest „ciepły”, tworzymy „kontakt” i przypisujemy trzy pola z wartościami i dodajemy ten obiekt do listy kontaktów (zadeklarowane wcześniej). Wreszcie, wkładamy te trzy pola do obiektu „kontakt” za pomocą wstawki DML.
Przypadek testowy:
Przejdź do zakładki „Konta” z uruchamiania aplikacji i utwórz konto z „Oceną” jako „ciepłe”. Sprawdź, czy rekord kontaktu jest tworzony z trzema określonymi pola.
Po kliknięciu „Zapisz” możesz zobaczyć, że „kontakt” jest tworzony z trzema polami. Przejdź do zakładki „kontakty”.
Widzimy, że tworzone są trzy pola. Przejdź do zakładki „Szczegóły”, aby wyświetlić pól.
Scenariusz 3: Przed aktualizacją
Gdy kampania jest aktualizowana o typ „konferencji”, zwolniamy spust, który aktualizuje pole „status” do „zakończonej” [Object - Kampania].
Trigger przed_pdate_trigger w kampanii (przed aktualizacją)Po pierwsze, iterujemy zapisy kampanii i sprawdzamy, czy „typ” to „konferencja”, czy nie. Jeśli jest to „Konferencja”, aktualizujemy pole „Status” do „ukończenia”.
Przypadek testowy:
Przejdź do zakładki „Kampanie” z uruchamiania aplikacji i otwórz dowolną istniejącą płytę.
Ten zapis jest typu „webinaru”, a jego status jest „planowany”. Teraz edytuj ten rekord, aktualizując typ „Konferencji”.
Widzimy, że „status” jest aktualizowany do „zakończonego”.
Scenariusz 4: Usuń (przed)
Kiedy próbujemy usunąć rekordy obiektu kampanii, gdy status jest „zakończony” lub typ jest „Konferencja”, rzucamy błąd, abyśmy nie byli w stanie usunąć rekordów. Wyświetlamy błąd za pomocą metody adderror () [Object - Kampania].
Trigger delete_trigger w kampanii (przed usunięciem)Przypadek testowy:
Przejdź do zakładki „Kampanie” z uruchamiania aplikacji i otwórz dowolną istniejącą rekord ze statusem „Ukończona” lub typem „Konferencja”.
Kliknij „Usuń” po rozwijaniu po prawej stronie.
Widzimy, że błąd jest rzucany i nie jest usuwany.
Wniosek
Trigger to skrypt wierzchołkowy, który strzela przed lub po instancjach manipulacji danymi. W oparciu o zdarzenie określone w spustu, wystrzeliwuje ono na określonych obiektach w Salesforce. Nauczyliśmy się czterech różnych scenariuszy, aby zwolnić spust po wstawieniu, aktualizacji i usunięciu z różnymi przykładami na różnych obiektach. Tutaj wykorzystaliśmy obiekty konta, kontaktu i kampanii do demonstracji. Możesz śledzić te same przykłady na niestandardowych obiektach.