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

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 5 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 itérer dans 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 utilisateur.
    • Écrivez un script qui crée un tableau de contacts vide.
    • Écrivez un script qui parcourt la liste des enregistrements d’utilisateurs.
    • É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 contacts avec l’objet de contact actuel.
    • Créez des variables de sortie de script pour le tableau contacts et l’objet de contact enfant.
    • Enregistrez l’objet de contact en tant que modèle.
    • Affichez le tableau d’objets contacts générés sous forme de 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 plus d’informations 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 Nouvelle > 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
      Demande 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 l’action de version.
      Le système affiche l’interface Studio de workflow .
    7. Dans le 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 le Plan d’action, sélectionnez Ajouter une nouvelle étape.
      Le système affiche une liste des étapes disponibles.
    10. Sélectionner 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->Département]
      Remarque :
      Sélectionnez la pastille de données Département dans 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 le 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 Étape Script pour utiliser la pastille de données d’enregistrements utilisateur à partir de l’étape Rechercher des enregistrements.

      Champ Valeur
      Nom userRecords
      Valeur [step->Rechercher des enregistrements step->Enregistrements utilisateur]
      Remarque :
      Sélectionnez la pastille de données Enregistrements utilisateur à partir de l’étape Rechercher des enregistrements.
      Remarque :
      Vous pouvez sélectionner la pastille de données des enregistrements utilisateur dans le panneau de données ou à partir du bouton Sélecteur de pastilles de données.
    16. Pour 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 de 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îne 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 le Array.Object de contacts et renommez l’objet enfant en contact.
    20. Dans la ligne correspondant à 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. Dans la ligne correspondant à 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. Dans la ligne correspondant à 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 courriel email_address Chaîne Vrai
    26. Dans la ligne relative à l’objet de contact, sélectionnez Activer/désactiver les entrées avancées.
    27. Dans les options avancées, sélectionnez Enregistrer comme modèle.
      Le système affiche la boîte de dialogue Enregistrer comme modèle.
    28. Pour Entrer un nom, saisissez contact.
      Enregistrez le modèle d’objet avec le nom contact.
    29. Cliquez sur Enregistrer.
    30. Dans le Plan d’action, sélectionnez Sorties > Créer une sortie.
    31. Configurez la sortie de l’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 relative à 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 précédemment enregistré.
      Par exemple, sélectionnez Global : contact.
    36. Sélectionnez Quitter le mode d’édition.
      Le système affiche les champs de sortie que vous avez créés.
    37. Pour les contacts, sélectionnez [step->Script step->contacts].

      Configurez la variable de sortie d’action pour utiliser la pastille de données de contacts à partir 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 Action de test.
    40. Entrez la valeur de test suivante :

      Sélectionnez le département de 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 de l’action Données de sortie.

      Page des détails de l’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 forme de 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 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 département donné et convertit ces utilisateurs en tableau d’objets de contact.

    Que faire ensuite

    Personnalisez cette action pour utiliser votre propre logique.