---
sourceDocument: Australie : créer des workflows
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/build-workflows

 Release :

    - australia

ft:locale :

    - fr-FR

ft:publication_title :

    - Australie : créer des workflows

ft:clusterId :

    - crworkflow

bundleId :

    - crworkflow

workflow :

    - Creator


---

# Prise en charge de scripts pour les données complexes

# Prise en charge de scripts pour les données complexes {#ariaid-title1}

* Rversion finale: Australia
* 
* Mis à jour 12 mars 2026
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 6 minutes de lecture

Créer et référencer des données complexes à partir d'un script. Utilisez un script lorsque vos données sources proviennent d'un flux de données, d'une réponse d'étape REST ou d'une étape de recherche d'enregistrements.

Utilisez un script pour créer des données complexes lorsque les données proviennent de ces sources.  
{#script-support-complex-data__table_b4b_4cp_phb__entry__2}

| Source de données | Créer/mapper des données complexes à partir de |
|-|-|
| Flux de données Flux de réponse d'action | Étape de l'analyseur de script |
| Réponse de l'étape REST | Étape Script |
| Étape Rechercher des enregistrements | Étape Script |
[Tableau 1. Sources de données nécessitant un script]

{#script-support-complex-data__table_b4b_4cp_phb}

## Flux de données Flux de réponse d'action {#script-support-complex-data__section_cnh_yt4_phb}

Les actions de flux de données utilisent un script d'analyseur pour mapper les valeurs des éléments de flux à des valeurs d'objets complexes. Lors de l'écriture d'un script d'analyseur, utilisez les méthodes JavaScript appropriées au format du flux de données. Par exemple, utilisez la classe [JSON - Scoped (Dans le champ d'application)](https://www.servicenow.com/docs/access?context=JSONScopedAPI&version=australia&pubname=australia-api-reference&ft:locale=en-US) pour analyser ou coder un flux de données JSON.

Les scripts d'analyseur ont accès aux objets d'entrée et de sortie du flux de données ainsi qu'à une propriété targetObject. Voir [Actions de flux de données](https://www.servicenow.com/docs/access?context=create-data-stream-action&version=australia&pubname=australia-integrate-applications&ft:locale=en-US) pour plus d'informations sur l'analyse d'un flux de réponses pour créer des données complexes.

## Réponse de l'étape REST {#script-support-complex-data__section_wyb_dh4_nhb}

Vous pouvez convertir une réponse d'étape REST en un ou plusieurs objets complexes en l'analysant avec une étape Script. Pour accéder à une réponse à partir d'une étape Script, vous devez créer une variable de script d'entrée et la mapper à la charge utile de la réponse à partir de l'étape REST précédente. Consultez [Étape Script](https://servicenow-prod.fluidtopics.net/3gM3ddJuKuNNbysYG2SgjA "Ajoutez du JavaScript personnalisé à exécuter dans une action réutilisable. Bien que la plupart des actions et étapes de base correspondent aux cas d’utilisation courants, vous pouvez créer une étape de script pour exécuter un comportement insatisfait par les étapes de base.") pour plus d'informations sur la création de variables d'entrée de script.

Écrivez un script qui mappe les valeurs de réponse REST à des valeurs d'objets complexes. Lors de l'écriture d'un script de réponse REST, utilisez des méthodes JavaScript appropriées au format de réponse, telles que la méthode JSON parse().  
Remarque :  
Lorsque vous utilisez des données complexes comme source d'une entrée de chaîne, Studio de workflow celles-ci sont automatiquement converties en chaîne JSON.

Vous n'avez pas besoin d'utiliser une étape de script pour créer une demande REST à partir de données complexes. Vous pouvez générer des données complexes lors d'une action ou d'une étape antérieure, puis les mapper à une entrée de chaîne de l'étape REST. Au moment de l'exécution, l'action ou le flux convertit les données complexes en représentation JSON.

Par exemple, consultez les étapes de script utilisées pour [Introduction aux entrées dynamiques](https://servicenow-prod.fluidtopics.net/x5mOheXxIKn_clWsBvzu0A#getting-started-dynamic-input "Créez un exemple d’action qui illustre l’utilisation de tous les types d’entrées dynamiques disponibles dans un flux.") les actions de collecte de données. Les actions de collecte de données pour obtenir les noms de table et de champ utilisent toutes deux une étape Script pour analyser une réponse REST dans un objet JSON. Les deux actions de collecte de données créent également des variables de sortie qui stockent des données complexes sous forme d'objets JSON.

## Étape Rechercher des enregistrements {#script-support-complex-data__section_osw_gzn_nhb}

Bien que les flux puissent utiliser Pour chaque logique de flux afin de traiter une liste d'enregistrements, les actions nécessitent une étape de script. L'étape Script remplace la logique de flux Pour chaque par du JavaScript comme une boucle `Pour` ou `Quoique` .

Pour accéder aux données d'enregistrement à partir d'une étape de script, vous devez créer une variable de script d'entrée et la mapper aux données d'enregistrement de l'étape de recherche précédente. Consultez [Étape Script](https://servicenow-prod.fluidtopics.net/3gM3ddJuKuNNbysYG2SgjA "Ajoutez du JavaScript personnalisé à exécuter dans une action réutilisable. Bien que la plupart des actions et étapes de base correspondent aux cas d’utilisation courants, vous pouvez créer une étape de script pour exécuter un comportement insatisfait par les étapes de base.") pour plus d'informations sur la création de variables d'entrée de script.

Consultez [Créez une action personnalisée pour générer un tableau d'objets à partir d'une liste d'enregistrements](https://servicenow-prod.fluidtopics.net/j1H2I4247b14ftUzBou2Hg "Générez un tableau d’objets à partir d’une liste d’enregistrements d’utilisateurs. Apprenez à utiliser une étape de script pour itérer dans une liste d’enregistrements.") un exemple d'action qui convertit une liste d'enregistrements d'utilisateurs en un tableau d'objets de contact.  
Remarque :  
L'action Rechercher des enregistrements ne nécessite pas d'étape Script pour convertir les données d'enregistrement en données complexes. Vous pouvez créer une action personnalisée pour convertir un enregistrement en objet et appliquer une logique de flux Pour chaque à l'action personnalisée. Consultez [Créer une action personnalisée pour générer un objet à partir d'un enregistrement](https://servicenow-prod.fluidtopics.net/QlwIXZvMH4s_wMqlAuCMKQ "Générez un objet à partir d’un enregistrement utilisateur. Découvrez comment utiliser une sortie d’action pour créer un objet à partir de valeurs d’enregistrement.") et [Créer un flux personnalisé pour générer un objet pour chaque enregistrement dans une liste](https://servicenow-prod.fluidtopics.net/firuP5gQnq7GvmgiWrF1vg "Générez un objet pour chaque enregistrement utilisateur dans une liste. Découvrez comment utiliser la logique de flux pour itérer dans une liste d’enregistrements.") pour obtenir un exemple de création d'un objet complexe sans utiliser de script.

## Structures d'objets de remontée pas à pas {#script-support-complex-data__section_lll_t1z_hhb}

Vous pouvez référencer des éléments à partir de la structure d'un objet en remontée pas à pas du chemin de la structure. Tous les chemins de données complexes commencent par le nom de la source de données, qui est soit l'objet global pour les entrées, soit l'objet global pour les sorties, soit le nom du tableau ou de l'objet que vous avez créé dans le script.

Viennent ensuite les noms de chaque élément structurel référencé, séparés par des points. La liste des noms d'éléments structurels est identique à la remontée pas à pas d'un champ de référence où vous répertoriez la structure du tableau dans un champ de référence particulier.  
Remarque :  
Un chemin de remontée pas à pas indique toujours le nom d'un élément structurel plutôt que son étiquette.

Par exemple, supposons que vous définissiez un objet de contact en tant que variable de sortie. La structure de l'objet est la suivante.  
Figure 1. Exemple d'objet de contact  
{#script-support-complex-data__table_lck_5ct_hhb__entry__4}

| Placer dans la structure | Étiquette | Nom | Type |
|-|-|-|-|
| Société parente | Contact | contact | Objet |
| Enfant | Prénom | first_name | Chaîne |
| Enfant | Nom de famille | last_name | Chaîne |
| Enfant | Adresses e-mail | email_addresses | Array.Object |
| Petit-enfant | Adresses e-mail | email_address | Objet |
| Arrière-petit-enfant | Type | type | Choix |
| Arrière-petit-enfant | E-mail | e-mail | Chaîne |
| Enfant | Téléphone | telephone_number | Array.Object |
| Enfant | Adresses postales | mailing_address | Array.Object |
[ ]

{#script-support-complex-data__table_lck_5ct_hhb}

Le chemin d'accès à l'élément structurel Prénom serait `outputs.contact.first_name` tandis que le chemin d'accès à l'élément structurel Email serait `outputs.contact.email_addresses[0].email` car vous devez spécifier un élément individuel du tableau par sa valeur d'index JavaScript.  
Remarque :  
Un chemin de remontée pas à pas omet le nom de l'élément répété dans le tableau. Par exemple, un tableau d'objets n'a pas besoin de spécifier le nom de l'élément d'objet. Toutefois, comme les objets sont des conteneurs pour d'autres éléments, vous pouvez spécifier un élément enfant de l'objet dans un chemin de remontée pas à pas.

## Directives générales {#script-support-complex-data__id_epj_nvb_ptb}

Gardez ces instructions générales à l'esprit lorsque vous créez un script avec des données complexes.

Utiliser des entrées de chaîne pour convertir des données complexes en une chaîne JSON
:   Lorsque vous mappez des données complexes à une entrée de chaîne, Studio de workflow celles-ci sont automatiquement converties en chaîne JSON. Au lieu d'écrire un script, vous pouvez ajouter une entrée de chaîne à une étape REST et la mapper aux données complexes d'une action ou d'une étape précédente.

Enregistrer vos objets en tant que modèles
:   Enregistrez vos objets en tant que modèles afin de pouvoir les réutiliser dans d'autres actions, flux et étapes de script.

Créer des variables d'entrée de script pour accéder aux données antérieures
:   Créez une variable d'entrée de script pour toutes les données auxquelles vous souhaitez accéder à partir de l'entrée d'action ou d'une étape antérieure. Mappez la variable d'entrée de script à la pastille de données d'entrée ou d'étape. Par exemple, mappez la variable d'entrée de script à une liste d'enregistrements utilisateur que vous avez consultés lors d'une étape précédente.

Créer une variable de sortie de script pour stocker des données complexes
:   Créez une variable de sortie de script pour stocker toutes les données complexes créées par votre script. Les variables de sortie de script doivent correspondre aux valeurs définies dans le script. Par exemple, créez un tableau d'objets de contacts pour stocker plusieurs objets de contact. Enregistrez l'objet de contact en tant que modèle afin de pouvoir le réutiliser.

Mapper la sortie d'action à la variable de sortie de script
:   Si vous souhaitez qu'une action personnalisée génère des données complexes, ajoutez une sortie d'action et mappez-la à la pastille de données de votre variable de sortie Étape Script. Par exemple, créez un tableau de contacts et chargez le modèle d'objet de contact que vous avez enregistré précédemment. Mappez la sortie de l'action au tableau de contacts produit par votre étape Script.
* **[Créez une action personnalisée pour générer un tableau d'objets à partir d'une liste d'enregistrements](https://servicenow-prod.fluidtopics.net/j1H2I4247b14ftUzBou2Hg)**   
  Générez un tableau d'objets à partir d'une liste d'enregistrements d'utilisateurs. Apprenez à utiliser une étape de script pour itérer dans une liste d'enregistrements.
* **[Créez une action personnalisée pour générer un tableau de chaînes à partir d'une liste d'enregistrements](https://servicenow-prod.fluidtopics.net/sLxd_Iu3JiE6OPMzTIw7QQ)**   
  Générez un tableau de chaînes à partir d'une liste d'enregistrements de rôles d'utilisateurs. Apprenez à utiliser une étape de script pour itérer dans une liste d'enregistrements.

