Créer une action personnalisée pour générer un tableau d’objets à partir d’une liste d’enregistrements

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 4 minutes de lecture
  • Générez un tableau d’objets à partir d’une liste d’enregistrements utilisateur. Découvrez comment utiliser une étape de script pour parcourir une liste d’enregistrements.

    Avant de commencer

    Rôle requis : admin

    Pourquoi et quand exécuter cette tâche

    Utilisez cet exemple pour voir des démonstrations de ces opérations et étapes.
    • Créez une entrée d’action pour un enregistrement de département.
    • Recherchez un maximum de trois enregistrements d’utilisateur pour l’entrée d’action du département.
    • Configurez une étape de script pour traiter une liste d’enregistrements utilisateur.
    • Créez une variable d’entrée de script contenant la liste des enregistrements utilisateur.
    • Écrivez un script qui crée un tableau de contacts vide.
    • Écrivez un script qui parcourt la liste des enregistrements utilisateur.
    • Écrivez un script qui crée un objet de contact et mappe les valeurs de champ d’enregistrement utilisateur à l’objet de contact.
    • Écrivez un script qui renseigne le tableau de contacts avec l’objet de contact actuel.
    • Créez des variables de sortie de script pour le tableau de contacts et l’objet de contact enfant.
    • Enregistrez l’objet de contact en tant que modèle.
    • Générez le tableau d’objets de contacts généré en tant que pastille de données.
    • Testez l’action avec un exemple de département.

    Procédure

    1. Créez une application pour stocker votre travail.
      Par exemple, créez Mon application.
    2. Accédez à la Tous > Automatisation des processus > Concepteur de flux.
      Le système affiche la page de Concepteur de flux destination.
    3. Sélectionner Nouveau > Action
      Le système affiche la boîte de dialogue Propriétés de l’action.
    4. Saisissez ces exemples de valeurs.
      Champ Valeur
      Nom Créer des contacts Tableau d’objets
      Application Mon application
      Accessible depuis Tous les champs d’application de l’application
    5. Sélectionnez Envoyer.
      Le système affiche l’interface Concepteur d'action .
    6. Dans Plan d’action, sélectionnez Entrées > Créer une entrée
      Le système affiche une nouvelle entrée d’action.
    7. Configurez l’entrée d’action avec ces valeurs.
      Champ Valeur
      Étiquette Département
      Type Référence.Département [Reference.cmn_department]
      Obligatoire Vrai
    8. Dans Plan d’action, sélectionnez Ajouter une nouvelle étape.
      Le système affiche une liste des étapes disponibles.
    9. Sélectionnez Rechercher des enregistrements
    10. Configurez l’étape avec ces valeurs.
      Champ Valeur
      Table Utilisateur [sys_user]
      Conditions [Département] [est] [action->Department]
      Trier par Nom
      Type de tri a à z
      Nombre maximal de résultats 3
      Remarque :
      Cet exemple limite le paramètre Nombre maximal de résultats à trois enregistrements à des fins de démonstration.
    11. Dans Plan d’action, sélectionnez Ajouter une nouvelle étape.
      Le système affiche une liste des étapes disponibles.
    12. Sélectionnez Script.
    13. Pour Exécution requise, sélectionnez Instance.
    14. Dans la section Variables d’entrée, sélectionnez Créer une variable.
    15. Configurez la variable d’entrée avec ces valeurs.
      Champ Valeur
      Nom userRecords
      Valeur [étape->Étape Rechercher des enregistrements->Enregistrements utilisateur]
      Remarque :
      Vous pouvez sélectionner la pastille de données des enregistrements utilisateur à partir du panneau de données ou du bouton Sélecteur de pastilles de données.
    16. Pour Script, entrez le texte suivant.
      (function execute(inputs, outputs) {
        //Create an empty array
        var contactsArray = [];
        var i = 0;
        //Iterate through the list of User records
        while(inputs.userRecords.next()) {
          //Create an empty object for each iteration
          var contactObject = {};
          //Query User records to assign object values
          contactObject.first_name = inputs.userRecords.getValue('first_name');
          contactObject.last_name = inputs.userRecords.getValue('last_name');
          contactObject.email_address = inputs.userRecords.getValue('email');
          //Add current object to array
          contactsArray[i] = contactObject;
          i += 1;
        }
        outputs.contacts = contactsArray;
      })(inputs, outputs);
    17. Dans Variables de sortie, sélectionnez Créer une variable.
    18. Configurez la variable de sortie avec ces valeurs.
      Étiquette Nom Type Obligatoire
      contacts contacts Array.Object Vrai
    19. Développez l’attribut Array.Object des contacts et renommez l’élément enfant contact.
    20. Sur la ligne de l’objet de contact, sélectionnez Ajouter un élément enfant.
    21. Configurez l’élément enfant avec ces valeurs.
      Étiquette Nom Type Obligatoire
      Prénom first_name Chaîne Vrai
    22. Sur la ligne de l’objet de contact, sélectionnez Ajouter un élément enfant.
    23. Configurez l’élément enfant avec ces valeurs.
      Étiquette Nom Type Obligatoire
      nom de famille last_name Chaîne Vrai
    24. Sur la ligne de l’objet de contact, sélectionnez Ajouter un élément enfant.
    25. Configurez l’élément enfant avec ces valeurs.
      Étiquette Nom Type Obligatoire
      adresse e-mail email_address Chaîne Vrai
    26. Sur la ligne de l’objet de contact, sélectionnez Activer/désactiver les entrées avancées.
    27. Dans les options avancées, sélectionnez Enregistrer en tant que modèle.
      Le système affiche la boîte de dialogue Enregistrer en tant que modèle.
    28. Dans le champ Enter a Name (Entrer un nom), entrez contact.
    29. Cliquez sur Enregistrer.
    30. Dans Plan d’action, sélectionnez Sorties > Créer une sortie.
    31. Configurez la sortie de l’action avec ces valeurs.
      Étiquette Nom Type Obligatoire
      contacts contacts Array.Object Vrai
    32. Développez les contacts Array.Object.
    33. Sur la ligne de l’objet de contact, sélectionnez Activer/désactiver les entrées avancées.
    34. Dans les options avancées, sélectionnez Structure > Commencer à partir d'un modèle.
      Le système affiche le modèle.
    35. Pour Template (Modèle), sélectionnez le modèle que vous avez précédemment enregistré.
      Par exemple, sélectionnez Mon application : contact.
    36. Sélectionnez Quitter le mode de modification.
      Le système affiche les champs de sortie que vous avez créés.
    37. Pour les contacts, sélectionnez [étape->Étape de script->contacts].
      Remarque :
      Vous pouvez sélectionner la pastille de données des contacts de l’étape Script à partir du panneau de données ou du bouton Sélecteur de pastilles de données.
    38. Cliquez sur Enregistrer.
    39. Sélectionnez Test.
      Le système affiche la boîte de dialogue Tester l’action.
    40. Entrez la valeur de test suivante :
      Entrée Valeur
      Département Développement
    41. Sélectionnez Exécuter le test.
      Le système exécute l’action avec les valeurs de test fournies.
    42. Sélectionnez L’exécution de votre test est terminée. Affichez les détails d’exécution de l’action.
      Le système affiche les détails de l’exécution de l’action.
    43. Passez en revue la valeur d’exécution pour les données de sortie d’action.
      Le système affiche les données de sortie au format JSON.
      Dans cet exemple, l’objet contacts contient un tableau d’objets de contact contenant le prénom, le nom et l’adresse e-mail de trois utilisateurs du département Développement.
      {
          "contacts": 
              "contact": [
                  {
                      "email_address": "allyson.gillispie@example.com",
                      "first_name": "Allyson",
                      "last_name": "Gillispie"
                  },
                  {
                      "email_address": "alva.pennigton@example.com",
                      "first_name": "Alva",
                      "last_name": "Pennigton"
                  },
                  {
                      "email_address": "andrew.och@example.com",
                      "first_name": "Andrew",
                      "last_name": "Och"
                  }
              ]
          }
      }
      

    Résultats

    Vous disposez d’une action personnalisée qui recherche les utilisateurs d’un département donné et convertit ces utilisateurs en tableau d’objets de contact.

    Que faire ensuite

    Personnalisez cette action pour utiliser votre propre logique.