Ein Ereignis erstellen

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 2 Minuten Lesedauer
  • Wenn Sie kein geeignetes vorhandenes Event finden, können Sie ein eigenes erstellen.

    Vorbereitungen

    Erforderliche Rolle: admin

    Warum und wann dieser Vorgang ausgeführt wird

    Die Funktion gs.EventQueue funktioniert direkt mit dem Back-End, und daher werden Business Rules, die von gs.EventQueue() aufgerufen werden, nicht aufgerufen.

    Prozedur

    1. Navigieren zu Alle > Systemrichtlinie > Events > Registryund wählen Sie dann Neu.
    2. Füllen Sie die Felder des Formulars aus.
      Tabelle : 1. Ausfüllen des Event-Registrierungsformulars
      Feld Beschreibung
      Ereignisname Name Ihres neuen Events.
      Tabelle Datenbanktabelle für dieses Event.
      Hinweis:
      In der Liste werden nur Tabellen und Datenbankansichten angezeigt, die sich im selben Bereich wie das Event befinden.
      Warteschlange Name der Warteschlange, in der das Event platziert wird, wenn es ausgelöst wird.

      Verwenden Sie nur Kleinbuchstaben, keine Leerzeichen und keine Sonderzeichen außer Unterstrichen (_). Beispiel: my_queue. Weitere Informationen finden Sie unter Using custom queues to process events.

      Priorität Reihenfolge, in der Nachrichten verarbeitet werden. Niedrigere Werte haben eine höhere Priorität.
      Zugriff für Anrufer Einstellungen für eingeschränkten Anruferzugriff.
      • Anruferbeschränkung: Anrufe an die Ressource müssen manuell genehmigt werden.
      • Anruferverfolgung: Anrufe an die Ressource werden automatisch genehmigt.
      Ausgelöst von Name der Business Rule, die das Event ausführt. Dieses Feld dient nur als Referenz und wird von keinem Prozess verwendet. Stellen Sie sicher, dass genügend Informationen vorhanden sind, um Ihr Event erneut zu finden.
      Beschreibung Kurzbeschreibung des Zwecks des Ereignisse.
    3. Klicken Sie auf den zugehörigen Link Geschäftsregeln.
    4. Wenn Sie ein Event für eine Basissystemtabelle erstellen, wählen Sie die vorhandene Event-Business Rule für die Tabelle aus.
      Wählen Sie beispielsweise die Geschäftsregel sc request events aus, um ein benutzerdefiniertes Anforderungsereignis zu erstellen.
    5. Wenn Sie eine vorhandene Event-Business Rule aktualisieren, fügen Sie dem Skripteine neue Bedingung hinzu.
      Das folgende Beispielskript fügt ein Ereignis request.commented mit der Sys-ID des Benutzers als parm1 und dem Benutzernamen des Benutzers als parm2 hinzu.
      if (current.operation() != 'insert' && current.comments.changes()) {
      gs.eventQueue('request.commented', current, gs.getUserID(), gs.getUserName());
      }
    6. Wenn Sie ein Ereignis für eine benutzerdefinierte Tabelle erstellen, erstellen Sie eine neue Geschäftsregel, die nach Datenbankvorgängen ausgeführt wird.
      Diese Geschäftsregel definiert beispielsweise mehrere Ereignisse für eine benutzerdefinierte Anwendung namens „Marketing Events“.
      Tabelle : 2. Beispiel für eine Event-Business Rule
      Feld Wert
      Name Teilnehmerereignisse
      Tabelle Teilnehmer [x_snc_marketing_ev_attendee]
      Anwendung Marketing-Events
      Erweitert Ausgewählt
      Wann nach
      Einfügen Ausgewählt
      Aktualisieren Ausgewählt
      Löschen Ausgewählt
      Skript
      Fügen Sie ein benutzerdefiniertes Skript hinzu, das:
      • Prüft auf eine oder mehrere Bedingungen im aktuellen Datensatz.
      • Ruft die gs.eventQueue()-Methode auf und gibt einen Event-Namen an.

      Siehe Codebeispiel.

      Hinweis:
      Wenn Sie Filterbedingungen, Rollenbedingungenoder einen Bedingungswert hinzufügen, stellen Sie sicher, dass die Geschäftsregel wie erwartet ausgeführt wird.
      (function executeRule(current, previous /*null when async*/) {
         //This function will be automatically called when this rule is processed.
              //Add event when attendee inserted
              if(current.operation() == 'insert' && current.marketing_event.changes()) {
                      gs.eventQueue('x_snc_marketing_ev.attendee.added', current,
      current.marketing_event, current.email);
              }
              //Add event when marketing event changes
              if(current.operation() == 'update' && current.marketing_event.changes()) {
                      gs.eventQueue('x_snc_marketing_ev.attendee.deleted', previous,
      previous.marketing_event, previous.email);
                      gs.eventQueue('x_snc_marketing_ev.attendee.added', current,
      current.marketing_event, current.email);
              }
              //Add event when attendee deleted
              if(current.operation() == 'delete') {
                      gs.eventQueue('x_snc_marketing_ev.attendee.deleted', current,
                    current.marketing_event, current.email);
      }
      })(current, previous);
    7. Registrieren Sie das Event.

    Nächste Maßnahme

    Erstellen Sie eine Skriptaktion oder Benachrichtigung, um das Event zu verarbeiten.