---
sourceDocument: Yokohama Créer ou modifier des applications
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/yokohama/application-development

 Release :

    - yokohama

ft:locale :

    - fr-FR

ft:publication_title :

    - Yokohama Créer ou modifier des applications

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Creator


---

Variables du catalogue de services pouvant contenir des scripts
===============================================================

Variables du catalogue de services pouvant contenir des scripts {#ariaid-title1}
================================================================================

* Rversion finale: Yokohama
* 
* Mis à jour 30 janv. 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 4 minutes de lecture

Vous pouvez utiliser un scripting pour référencer n'importe quelle variable d'élément de demande à partir d'une table dans un environnement inclus et non inclus dans le champ d'application.  
Voici un exemple de référence de variable.

    current.variables.<variable_name>

Où actuel fait référence à l'enregistrement actuel et <var class="keyword varname">&lt;variable_name&gt;</var> est le nom de votre variable.  
Remarque :  
Pour référencer une variable à partir de JavaScript, elle doit avoir un nom.

Lorsqu'une variable fait partie d'un jeu de variables, vous pouvez le référencer en tant que current.variables.\<variable_name\> ou current.variables.\<variable_set_name\>.\<variable_name\>.

Le jeu de variables est également un citoyen de première classe dans Service Catalog. Comme les variables, un jeu de variables a des rôles de lecture, d'écriture et de création. Si des rôles sont fournis pour un jeu de variables, les rôles sont applicables pour les variables du jeu. Les rôles d'une variable individuelle sont remplacés par les rôles du jeu de variables.

Imprimer une variable
---------------------

    var original = current.variables.original_number;
    gs.print(original);

Définir une variable
--------------------

    current.variables.name = "Auto-Generated:" + current.variables.asset_tag;

Créer un élément d'inventaire avec des champs définis à partir de variables
---------------------------------------------------------------------------

    doCreation(); 

    function doCreation ( ) { 
    var create = current.variables.create_item; 
    if (create == 'true') { // we want to create an asset 
      var computer = new GlideRecord('cmdb_ci_computer');
      computer.initialize();
      computer.asset_tag = current.variables.asset_tag;
      computer.serial_number = current.variables.serial_number;
      computer.name = current.variables.name;
      computer.manufacturer = current.variables.company;
      computer.insert(); } }

Obtenir GlideElementVariable des variables et des jeux de variables associés à un GlideRecord {#c_ScriptableServiceCatalogVariables__section_qsn_w5x_ydb}
---------------------------------------------------------------------------------------------------------------------------------------------------------

    now_GR.variables

Obtenir la paire nom-valeur des variables associées à un GlideRecord {#c_ScriptableServiceCatalogVariables__section_ztt_w5x_ydb}
--------------------------------------------------------------------------------------------------------------------------------

    now_GR.variables.getVariableValue();

Obtenir une liste de GlideElementVariable pour les variables dans un enregistrement de tâche {#c_ScriptableServiceCatalogVariables__section_vmy_w5x_ydb}
--------------------------------------------------------------------------------------------------------------------------------------------------------

    now_GR.variables.getElements();

Obtenir une liste de GlideElementVariable pour les variables (y compris le jeu de variables de plusieurs lignes) dans un enregistrement de tâche {#c_ScriptableServiceCatalogVariables__section_wky_ln1_j3b}
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    now_GR.variables.getElements(true);

Remarque :  
La méthode getElements() renvoie toutes les variables présentes sur l'enregistrement de tâche donné, à l'exception des variables du formateur telles que l'étiquette, la pause, la fin du conteneur, la division du conteneur, etc.

API pour GlideElementVariable {#c_ScriptableServiceCatalogVariables__section_zbb_sn1_j3b}
-----------------------------------------------------------------------------------------

* now_GR.variables.\<var_name\>.isMultiRow() : indique si GlideElementVariable est un jeu de variables à plusieurs lignes ou une variable.
* now_GR.variables.\<var_name\>.getQuestion() : obtenir l'objet Question pour une variable. Applicable uniquement à une variable (isMultiRow() est faux) et non à un jeu de variables à plusieurs lignes.
* now_GR.variables.\<var_name\>.getLabel() : obtenir l'étiquette de la variable GlideElementVariable. Pour une variable, l'étiquette de la variable est renvoyée. Pour les jeux de variables de plusieurs lignes, le titre du jeu de variables est renvoyé.
* now_GR.variables.\<var_name\>.canRead() : indique si l'utilisateur peut afficher un jeu de variables ou de variables de plusieurs lignes.
* now_GR.variables.\<var_name\>.canWrite() : obtenir si l'utilisateur peut modifier un jeu de variables ou de variables à plusieurs lignes.
* now_GR.variables.\<var_name\>.getDecryptedValue() : obtenir la valeur déchiffrée d'une variable masquée. Applicable uniquement à une variable masquée.
* now_GR.variables.\<var_name\>.getRows() : Obtenir la liste des objets de ligne pour un jeu de variables de plusieurs lignes. Applicable uniquement à un jeu de variables à plusieurs lignes (isMultiRow() est vrai).
* now_GR.variables.\<var_name\>.getRowCount() : obtenir le nombre de lignes pour le jeu de variables de plusieurs lignes. Applicable uniquement à un jeu de variables à plusieurs lignes (isMultiRow() est vrai).
{#c_ScriptableServiceCatalogVariables__ul_mw5_tn1_j3b}

Exemple d'accès aux variables de GlideRecord pour la table de tâches {#c_ScriptableServiceCatalogVariables__section_vrc_jcy_ydb}
--------------------------------------------------------------------------------------------------------------------------------

    var now_GR = new GlideRecord('sc_req_item'); 
    if (now_GR.get('635a1f5387320300e0ef0cf888cb0b73')) { 
        var variables = now_GR.variables.getElements(); 
        for (var i=0;i<variables.length;i++) { 
            var question = variables[i].getQuestion(); 
            gs.log(question.getLabel() + ":" + question.getValue()) 
        } 
    }

Exemple permettant d'accéder à un jeu de variables de plusieurs lignes de GlideRecord pour la table Tâche {#c_ScriptableServiceCatalogVariables__section_j4y_bn1_j3b}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------

    var now_GR = new GlideRecord('sc_req_item');
    now_GR.get('02c38dcd87013300e0ef0cf888cb0bb2');

    var vars = now_GR.variables.getElements(true);

    for (var i=0; i<vars.length; i++) {
        var now_V = vars[i];
        if (now_V.isMultiRow()) {
            var rows = now_V.getRows();
            for (var j=0; j<now_V.getRowCount(); j++) {
                var row = rows[j];
                var cells = row.getCells();
                for (var k=0; k<cells.length; k++) {
                    var cell = cells[k];
                    gs.info(cell.getLabel() + ":" + cell.getCellDisplayValue())
                }
            }
        }
    }

Jeu de variables de plusieurs lignes {#c_ScriptableServiceCatalogVariables__section_y2m_tkk_b2b}
------------------------------------------------------------------------------------------------

{#c_ScriptableServiceCatalogVariables__table_xz2_tnk_b2b__entry__2}

|                                           Opération                                           |                                                                 Utilisation                                                                 |
|-----------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|
| Opérations de table                                                                                                                                                                                                                        ||
| Renvoyer la valeur du tableau JSON sous forme de chaîne                                       | now_GR.variables.table_var                                                                                                                  |
| Définir la valeur d'un jeu de variables de plusieurs lignes                                   | now_GR.variables.table_var = <val> Remarque : Un tableau de paires ordonnées (clé, valeur) est également applicable en tant qu'entrée.      |
| Obtenir la valeur de la colonne, var1, d'un jeu de variables de plusieurs lignes              | now_GR.variables.table_var.var1                                                                                                             |
| Valeur de définition d'un jeu de variables, var1                                              | now_GR.variables.table_var.var1 = <val> Remarque : Un tableau de paires ordonnées (clé, valeur) est également applicable en tant qu'entrée. |
| Opérations de ligne                                                                                                                                                                                                                        ||
| Obtenir le nombre de lignes actuel                                                            | now_GR.variables.table_var.getRowCount()                                                                                                    |
| Renvoie la ligne spécifiée par la variable \<\< i \>\> - getRow(\<int\> i)                    | var row = now_GR.variables.table_var.getRow(<int> i);                                                                                       |
| Obtenir la valeur de cellule pour une colonne de question mappée à \<var_name\>               | row.<var_name>                                                                                                                              |
| Définir la valeur de cellule pour une colonne de question mappée à \<var_name\>               | row.setCellValue('<var_name>',value)                                                                                                        |
| Définir la valeur de cellule pour une colonne de question mappée à \<var_name\>               | row.<var_name> = value                                                                                                                      |
| Ajoutez une ligne vide à la fin de la table et renvoyez un objet pouvant contenir des scripts | var row = now_GR.variables.table_var.addRow()                                                                                               |
| Supprimer une ligne                                                                           | row.deleteRow()                                                                                                                             |
[Tableau 1. Jeu de variables de plusieurs lignes]

{#c_ScriptableServiceCatalogVariables__table_xz2_tnk_b2b}

Remarques et limitations
------------------------

* Colonne unique de table_Var
* now_GR.variables.table_var.var1
* now_GR.variables.table_var.var1 = \<val\>

1. Vous ne pouvez définir une variable que dans une règle métier avant . Les variables définies dans une règle après ne sont pas écrites dans la base de données.
2. Il n'y a rien en place pour empêcher la collision de l'espace de noms avec les variables. La création de deux variables nommées computer_speed n'entraînerait l'affichage que d'une seule d'entre elles ; le second écraserait le premier.
3. Les variables date/heure utilisent le même fuseau horaire, la même mise en forme et les mêmes règles de stockage que toutes les autres dates du système. Ils sont stockés en interne dans GMT, mais traduits dans le fuseau horaire local de l'utilisateur et le format d'affichage.
{#c_ScriptableServiceCatalogVariables__ol_am5_zq4_pp}

