Créer un événement

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 2 minutes de lecture
  • Si vous ne trouvez pas d’événement existant, vous pouvez créer le vôtre.

    Avant de commencer

    Rôle requis : admin

    Pourquoi et quand exécuter cette tâche

    Les gs. La fonction EventQueue fonctionne directement avec le backend et donc les règles métier qui sont appelées par gs. EventQueue() ne sont pas invoquées.

    Procédure

    1. Accédez à la Tous > Politique système > Événements > Registre, puis sélectionnez Nouveau.
    2. Renseignez les champs du formulaire.
      Tableau 1. Remplissage du formulaire d’inscription à l’événement
      Champ Description
      Nom d’événement Nom de votre nouvel événement.
      Table Table de base de données pour cet événement.
      Remarque :
      Seules les tables et les vues de base de données du même champ d’application que l’événement apparaissent sur la liste.
      File d'attente Nom de la file d’attente dans laquelle l’événement est placé lorsqu’il est déclenché.

      Utilisez uniquement des lettres minuscules, pas d’espace et pas de caractères spéciaux, à l’exception du trait de soulignement (_). Par exemple, my_queue. Consultez Using custom queues to process events.

      Priorité Ordre dans lequel les messages seront traités. Les valeurs inférieures ont une priorité plus élevée.
      Accès pour l'appelant Paramètres d’accès restreint pour l’appelant.
      • Restriction de l’appelant : les appels à la ressource doivent être approuvés manuellement.
      • Suivi de l’appelant : les appels à la ressource sont automatiquement approuvés.
      Déclenché par Nom de la règle métier qui exécute l’événement. Ce champ est fourni à titre de référence uniquement et n’est utilisé par aucun processus. Assurez-vous qu’il y a suffisamment d’informations pour localiser à nouveau votre événement.
      Description Brève description de l’objectif de l’événement.
    3. Cliquez sur le lien connexe Règles métier .
    4. Si vous créez un événement pour une table du système de base, sélectionnez la règle métier d’événement existante pour la table.
      Par exemple, sélectionnez la sc request events règle métier pour créer un événement de demande personnalisé.
    5. Si vous mettez à jour une règle métier d’événement existante, ajoutez une nouvelle condition au script.
      L’exemple de script suivant ajoute un request.commented événement avec l’ID système de l’utilisateur comme parm1 et le nom d’utilisateur de l’utilisateur pour parm2.
      if (current.operation() != 'insert' && current.comments.changes()) {
      gs.eventQueue('request.commented', current, gs.getUserID(), gs.getUserName());
      }
    6. Si vous créez un événement pour une table personnalisée, créez une règle métier qui s’exécute après les opérations de base de données.
      Par exemple, cette règle métier définit plusieurs événements pour une application personnalisée appelée Événements marketing.
      Tableau 2. Exemple de règle métier d’événement
      Champ Valeur
      Nom Événements des participants
      Table Participant [x_snc_marketing_ev_attendee]
      Application Événements marketing
      Avancé Sélectionné
      Quand après
      Insérer Sélectionné
      Mettre à jour Sélectionné
      Supprimer Sélectionné
      Script
      Ajoutez un script personnalisé qui :
      • Vérifie une ou plusieurs conditions sur l’enregistrement actuel.
      • Appelle la méthode gs.eventQueue() et spécifie un nom d’événement.

      Voir l’exemple de code.

      Remarque :
      Si vous ajoutez des conditions de filtre, des conditions de rôle ou une valeur de condition , vérifiez qu’il exécute la règle métier au moment prévu.
      (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. Inscrivez l’événement.

    Que faire ensuite

    Créez une action de script ou une notification pour traiter l’événement.