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

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 5 minutes de lecture
  • Générer un tableau d’objets à partir d’une liste d’enregistrements d’utilisateurs. Découvrez comment utiliser une étape de script pour parcourir une liste d’enregistrements.

    Avant de commencer

    Rôle requis : admin de flow_designer

    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’utilisateurs pour l’entrée d’action du département.
    • Configurez une étape de script pour traiter une liste d’enregistrements d’utilisateurs.
    • Créez une variable d’entrée de script contenant la liste des enregistrements d’utilisateurs.
    • É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 remplit 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é sous la forme d’une pastille de données.
    • Testez l’action avec un exemple de département.

    Procédure

    1. Facultatif : Créez une application pour stocker votre travail.
      Vous pouvez l’utiliser App Engine Studio pour planifier, créer et déployer des applications. Pour en savoir plus sur la création d’une application personnalisée, reportez-vous à la section Building apps in App Engine Studio.
      Par exemple, créez une application appelée Mon application.
    2. Accédez à la Tout > Automatisation des processus > Studio de workflow.
    3. Sur la page d’accueil, sélectionnez Actions.
    4. Sélectionner Nouveau > Action
      Le système affiche la boîte de dialogue Propriétés de l’action.
    5. Entrez ces exemples de valeurs.
      Champ Valeur
      Nom Créer des contacts Tableau d’objets
      Application Global
      Accessible depuis Tous les périmètres de l'application
      Remarque :
      Si vous avez créé une application pour stocker et déployer votre action personnalisée, utilisez cette application au lieu de globale.
    6. Sélectionnez Créer l’action.
      Le système affiche l’interface Studio de workflow .
    7. Dans Plan d’action, sélectionnez Entrées > Créer une entrée
      Le système affiche une nouvelle entrée d’action.
    8. Configurez l’entrée d’action avec ces valeurs.

      Créez une entrée d’action qui stocke un enregistrement de département.

      Champ Valeur
      Étiquette Département
      Type Référence.Département [Reference.cmn_department]
      Obligatoire Vrai
    9. Dans Plan d’action, sélectionnez Ajouter une nouvelle étape.
      Le système affiche une liste des étapes disponibles.
    10. Sélectionnez Rechercher des enregistrements
    11. Configurez l’étape avec ces valeurs.

      Configurez la condition de l’étape Rechercher des enregistrements pour utiliser la variable d’entrée du département.

      Champ Valeur
      Table Utilisateur [sys_user]
      Conditions [Département] [est] [action->Department]
      Remarque :
      Sélectionnez la pastille de données Department (Département) dans les variables d’entrée.
      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 uniquement à des fins de démonstration.
    12. Dans Plan d’action, sélectionnez Ajouter une nouvelle étape.
      Le système affiche une liste des étapes disponibles.
    13. Sélectionnez Script.
    14. Dans la section Variables d’entrée, sélectionnez Créer une variable.
    15. Configurez la variable d’entrée avec ces valeurs.

      Configurez la variable d’entrée de l’étape Script pour utiliser la pastille de données des enregistrements utilisateur de l’étape Rechercher des enregistrements.

      Champ Valeur
      Nom enregistrements utilisateur
      Valeur [Étape->Étape Rechercher des enregistrements->Enregistrements utilisateur]
      Remarque :
      Sélectionnez la pastille de données des enregistrements utilisateur à partir de l’étape Rechercher des enregistrements.
      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. Dans le champ Script, saisissez 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 en sortie, sélectionnez Créer une variable.
    18. Configurez la variable de sortie avec ces valeurs.

      Créez un tableau d’objets appelés contacts. Dans le tableau, créez un objet appelé contact. Dans l’objet de contact, créez trois variables de chaînes pour le prénom, le nom de famille et l’adresse e-mail.

      Étiquette Nom Type Obligatoire
      contacts contacts Array.Object Vrai
    19. Développez les contacts Array.Object et renommez l’objet enfant en contact.
    20. Sur la ligne de l’objet de contact, sélectionnez l’icône 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 l’icône 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 l’icône 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. Dans 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), saisissez contact.
      Enregistrez le modèle d’objet avec le nom contact.
    29. Cliquez sur Enregistrer.
    30. Dans Plan d’action, sélectionnez Sorties > Créer une sortie.
    31. Configurez la sortie d’action avec ces valeurs.

      Créez une sortie d’action appelée contacts pour stocker un tableau d’objets.

      Étiquette Nom Type Obligatoire
      contacts contacts Array.Object Vrai
    32. Développez les contacts Array.Object.
    33. Dans 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 Modèle, sélectionnez le modèle que vous avez enregistré précédemment.
      Par exemple, sélectionnez Global : 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].

      Configurez la variable de sortie d’action pour utiliser la pastille de données des contacts de l’étape Script.

      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 :

      Sélectionnez le département Développement pour tester votre action.

      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 terminée. Affichez les détails d’exécution de l’action.
      Le système affiche les détails d’exécution de l’action.
    43. Examinez la valeur d’exécution pour les données de sortie d’action.

      Page de détails d’exécution pour les résultats des tests de votre action personnalisée.

      Bien que les détails de l’exécution affichent les données de sortie sous la forme d’une chaîne au format JSON, le type de données de sortie réel est un tableau d’objets. Si vous avez besoin d’une version de chaîne de votre sortie, vous pouvez convertir l’objet en chaîne à l’aide de la classe JSON. Pour plus d’informations sur la conversion d’un objet JSON en chaîne, reportez-vous à la section Scoped JSON - stringify(Object jsonObject).
      Pour cet exemple, l’objet contacts contient un tableau d’objets de contact avec le prénom, le nom et les informations d’e-mail de trois utilisateurs du département de 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 service donné et convertit ces utilisateurs en tableau d’objets de contact.

    Que faire ensuite

    Personnalisez cette action pour utiliser votre propre logique.