Loading
Salesforce verbeteren met code
Apex-triggers definiƫren

Apex-triggers definiƫren

Apex-code kan worden aangeroepen met behulp van triggers. Apex-triggers kunnen worden geconfigureerd om aangepaste acties uit te voeren of na wijzigingen in Salesforce-records, zoals invoegingen, updates of verwijderingen.

Vereiste editions

Beschikbaar in: Salesforce Classic (niet in alle organisaties beschikbaar) en Lightning Experience

Beschikbaar in: Performance, Unlimited, Developer, Enterprise en Database.com Edition

Standaardobjecten, Campagnes, Cases en E-mailberichten zijn niet beschikbaar in Database.com

Benodigde gebruikersmachtigingen
Als u Apex-triggers wilt definiƫren: Apex-auteur

Apex-triggers worden als metagegevens opgeslagen in de toepassing onder het object waaraan ze zijn gekoppeld.

U kunt Apex alleen toevoegen, bewerken of verwijderen met behulp van de Salesforce-gebruikersinterface in een Developer Edition-organisatie, een Salesforce Enterprise Edition-proeforganisatie of een sandboxorganisatie. In een Salesforce-productieorganisatie kunt u Apex alleen wijzigen met behulp van de deploy API voor metagegevens, de Salesforce-extensies voor Visual Studio Code of de Ant Migration Tool. De Salesforce-extensies voor Visual Studio Code en de Ant Migration Tool zijn gratis door Salesforce geleverde resources ter ondersteuning van gebruikers en partners, maar worden niet als onderdeel van onze services beschouwd zoals bedoeld in het Main Services Agreement van Salesforce.

  1. Ga vanuit de objectbeheerinstellingen voor het object waarvan u triggers u wilt openen, naar Triggers. Bij de standaardobjecten Attachment (Bijlage), ContentDocument (Inhoudsdocument) en Note (Notitie) kunt u in de Salesforce-gebruikersinterface geen trigger maken. Bij dergelijke objecten maakt u een trigger met behulp van ontwikkeltools, zoals de Developer Console of de Salesforce-extensies voor Visual Studio Code. U kunt anders ook de API voor metagegevens gebruiken.
  2. Klik op Nieuw in de lijst Triggers.
  3. Klik op Versie-instellingen om de versie van Apex en de bij deze trigger gebruikte API op te geven.
    Als uw organisatie beheerde pakketten van de AppExchange heeft geĆÆnstalleerd, kunt u ook opgeven welke versie van elk beheerd pakket bij deze trigger moet worden gebruikt. U koppelt de trigger aan de meest recente versie van Apex en de API en van elk beheerd pakket door de standaardwaarden voor alle versies te gebruiken. U kunt een oudere versie van een beheerd pakket opgeven als u toegang wenst tot componenten of functionaliteit die afwijkt van de meest recente pakketversie.
  4. Klik op Apex-trigger en schakel het selectievakje Is actief in als u de trigger wilt compileren en inschakelen. Laat dit selectievakje leeg als u de code alleen wilt opslaan in de metagegevens van uw organisatie. Deze optie is standaard geselecteerd.
  5. Typ in het tekstvak Hoofdtekst de Apex voor de trigger. EƩn trigger kan maximaal 1 miljoen lettertekens lang zijn.

    Gebruik de volgende syntaxis om een trigger te definiƫren:

    trigger TriggerName on ObjectName (trigger_events) {
                         code_block
                         }

    waarbij trigger_events een door komma's gescheiden lijst met een of meer van de volgende events kan zijn:

    • before insert
    • before update
    • before delete
    • after insert
    • after update
    • after delete
    • after undelete
    Opmerking
    Opmerking
    • Een trigger die wordt aangeroepen door een insert, delete of update van een terugkerende event of terugkerende taak, resulteert in een run-time fout wanneer de trigger in bulk wordt aangeroepen vanuit de Lightning Platform API.
    • Stel dat u met een trigger na invoegen (after-insert) of na bijwerken (after-update) de eigendom wijzigt van leads, contactpersonen of opportunities. Als u de eigendom van de record wijzigt met de API of als een Lightning Experience-gebruiker de eigenaar van een record wijzigt, wordt geen kennisgeving per e-mail verzonden. Als u kennisgevingen per e-mail wilt verzenden naar de nieuwe eigenaar van een record, stelt u de eigenschap triggerUserEmail in DMLOptions in op true.
  6. Klik op Opslaan.

Triggers worden opgeslagen met een isValid die is ingesteld op true zolang er geen afhankelijke metagegevens zijn gewijzigd sinds de trigger voor het laatst is gecompileerd. Als er wijzigingen worden aangebracht aan objectnamen of velden die in de trigger worden gebruikt, inclusief oppervlakkige wijzigingen zoals bewerkingen van een object of veldbeschrijving, wordt de isValid ingesteld op false totdat de Apex compiler de code opnieuw verwerkt. De trigger wordt opnieuw gecompileerd wanneer deze de volgende keer wordt uitgevoerd of door een gebruiker opnieuw wordt opgeslagen in de metagegevens.

Als een opzoekveld verwijst naar een record die is verwijderd, wist Salesforce standaard de waarde van het opzoekveld. U kunt er anders ook voor kiezen dat u voorkomt dat records worden verwijderd als deze onderdeel vormen van een opzoekrelatie.

Alle klassen en triggers moeten met succes worden gecompileerd en elke trigger moet een testbereik hebben. U moet minstens 75% van uw Apex getest hebben voordat u uw code kunt implementeren in productieomgevingen. Zie Apex-eenheidstests.

 
Wordt geladen
Salesforce Help | Article