---
sourceDocument: Référence de l’API Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Référence de l’API Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideRecord : client

# GlideRecord : client {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 9 minutes de lecture

L'API GlideRecord fournit des méthodes qui effectuent des opérations de base de données. Cette API permet l'utilisation de certaines fonctionnalités GlideRecord dans les scripts côté client, tels que les scripts clients et les scripts de politique d'interface utilisateur.

Un GlideRecord contient à la fois des enregistrements et des champs. Les requêtes effectuées à l'aide des méthodes GlideRecord côté client sont exécutées sur le serveur. Par conséquent, une demande est effectuée à partir du navigateur du client pour obtenir les données d'enregistrement.

L'API GlideRecord côté client n'est pas prise en charge dans les applications incluses dans le périmètre. Au lieu de cela, créez un script include et utilisez l'API [GlideAJAX](https://servicenow-prod.fluidtopics.net/IqiDbrJ70DBYfVJ8YFvFQg#c_GlideAjaxAPI "La classe GlideAjax permet à un script client d’appeler du code côté serveur dans un script include.") , ou utilisez les API REST. En outre, cette API applique des listes de contrôle d'accès (ACL) basées sur les informations d'identification de l'utilisateur qui exécute le script. Pour exécuter le code sur le serveur sans ACL, utilisez l'API [GlideAjax](https://servicenow-prod.fluidtopics.net/IqiDbrJ70DBYfVJ8YFvFQg#c_GlideAjaxAPI "La classe GlideAjax permet à un script client d’appeler du code côté serveur dans un script include.") .

## Côté client GlideRecord : GlideRecord(String tableName) {#ariaid-title2}

Crée une instance de la classe GlideRecord pour la table spécifiée.
{#r_GRCS-GlideRecord_S__table_c1c_25j_3v__entry__3}

| Nom | Type | Description |
|-|-|-|
| tableName | Chaîne | Table à utiliser. |
[Tableau 1. Paramètres]

{#r_GRCS-GlideRecord_S__table_c1c_25j_3v}  

    var now_GR = new GlideRecord('incident');

## Côté client GlideRecord : addOrderBy(colonne de chaîne) {#ariaid-title3}

Ajoute une colonne pour trier par dans la requête.
{#r_GRCS-addOrderBy_S__table_zrw_wjw_hv__entry__3}

| Nom | Type | Description |
|-|-|-|
| colonne | Chaîne | La colonne par laquelle ordonner l'ensemble de résultats. |
[Tableau 2. Paramètres]

{#r_GRCS-addOrderBy_S__table_zrw_wjw_hv} {#r_GRCS-addOrderBy_S__table_asw_wjw_hv__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 3. Renvoie]

{#r_GRCS-addOrderBy_S__table_asw_wjw_hv}

## Côté client GlideRecord : addQuery(nom de la chaîne, valeur de l'objet) {#ariaid-title4}

Ajoute une requête pour renvoyer les enregistrements dans lesquels le nom de champ spécifié est égal à une valeur spécifiée (ou se trouve dans une liste de valeurs).
Si vous êtes familier avec SQL, cette méthode est similaire à la clause \<\< where \>\>. Vous pouvez créer une ou plusieurs requêtes pour un seul filtre en appelant cette méthode plusieurs fois ; pour cette méthode, les requêtes sont AND'ed. Une fois que vous avez défini toutes les requêtes souhaitées, appelez le [Côté client GlideRecord : query(nom de chaîne, fonction responseFunction, valeur de chaîne)](https://servicenow-prod.fluidtopics.net/tl14LpePpTLmjSdJHBbM0Q#r_GRCS-query_Function "Exécute la requête au serveur par rapport à la table en fonction du filtre addQuery(). Cette méthode interroge la table GlideRecord ainsi que toutes les références de la table.") pour exécuter la clause de requête spécifiée (filtre).

Pour effectuer une opération autre que AND, utilisez soit la méthode [addQuery(nom de chaîne, opérateur d'objet, valeur d'objet),](https://servicenow-prod.fluidtopics.net/tl14LpePpTLmjSdJHBbM0Q#r_GRCS-addQuery_S_O_O "Ajoute un filtre pour renvoyer les enregistrements lorsque le champ remplit la condition spécifiée (champ, opérateur, valeur).") soit la méthode [setEncodedQuery().](https://servicenow-prod.fluidtopics.net/tl14LpePpTLmjSdJHBbM0Q#r_GRCS-setEncodedQuery "Ajoute une chaîne de requête codée spécifiée à la clause de requête actuelle.")
{#r_GRCS-addQuery_S_O__table_rhl_n4v_hv__entry__3}

| Nom | Type | Description |
|-|-|-|
| nom | Chaîne | Nom du champ à vérifier. |
| valide | Objet | Valeur ou liste de valeurs à interroger. |
[Tableau 4. Paramètres]

{#r_GRCS-addQuery_S_O__table_rhl_n4v_hv} {#r_GRCS-addQuery_S_O__table_shl_n4v_hv__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 5. Renvoie]

{#r_GRCS-addQuery_S_O__table_shl_n4v_hv}  
Exemple montrant plusieurs requêtes.

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('priority', 4); // Priority is 4 -- Low and,
    now_GR.addQuery('state', 3); // State is On Hold
    now_GR.query(response);
     
    function response(result) {
        while(result.next()) {
           // Print all INC with priority 4 -- Low AND state is On Hold
            console.log(result.getValue('number')); 
        }
    }

Exemple montrant comment passer un objet de chaîne.

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('short_description', new String('USB device not working')); // string object
    now_GR.addQuery('priority', 4); //number
    now_GR.query(response);
     
    function response(result) {
        while(result.next()) {
           // Print all INC with priority 4 -- Low AND short description contains 'USB device not working'
            console.log(result.getValue('number')); 
        }
    }

## Côté client GlideRecord : addQuery(nom de chaîne, opérateur d'objet, valeur d'objet) {#ariaid-title5}

Ajoute un filtre pour renvoyer les enregistrements lorsque le champ remplit la condition spécifiée (champ, opérateur, valeur).
Si vous êtes familier avec SQL, cette méthode est similaire à la clause \<\< where \>\>. Vous pouvez créer une ou plusieurs requêtes pour un seul filtre en appelant cette méthode plusieurs fois. Une fois que vous avez défini toutes les requêtes souhaitées, appelez le [Côté client GlideRecord : query(nom de chaîne, fonction responseFunction, valeur de chaîne)](https://servicenow-prod.fluidtopics.net/tl14LpePpTLmjSdJHBbM0Q#r_GRCS-query_Function "Exécute la requête au serveur par rapport à la table en fonction du filtre addQuery(). Cette méthode interroge la table GlideRecord ainsi que toutes les références de la table.") pour exécuter la clause de requête spécifiée (filtre).

Pour créer des requêtes plus complexes, utilisez la méthode [setEncodedQuery().](https://servicenow-prod.fluidtopics.net/tl14LpePpTLmjSdJHBbM0Q#r_GRCS-setEncodedQuery "Ajoute une chaîne de requête codée spécifiée à la clause de requête actuelle.")
{#r_GRCS-addQuery_S_O_O__table_wgh_cpv_hv__entry__3}

| Nom | Type | Description |
|-|-|-|
| nom | Chaîne | Nom du champ à vérifier. |
| opérateur | Objet | Opérateur de requête. Les valeurs disponibles dépendent du type de données du paramètre de <var class="keyword varname">valeur</var> . Nombres: * = * != * \> * \>= * \< * \<= {#r_GRCS-addQuery_S_O_O__ul_qyb_rbt_3y} Chaînes (doit être en majuscules) : * = * != * DANS * PAS DANS * STARTSWITH * SE TERMINE PAR * CONTIENT * NE CONTIENT PAS * INSTANCEOF {#r_GRCS-addQuery_S_O_O__ul_egz_vbt_3y} Remarque : N'utilisez pas l'opérateur LIKE. Utilisez CONTAINS à la place. |
| valide | Objet | Valeur sur laquelle poser une question (non sensible à la casse). |
[Tableau 6. Paramètres]

{#r_GRCS-addQuery_S_O_O__table_wgh_cpv_hv} {#r_GRCS-addQuery_S_O_O__table_xgh_cpv_hv__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 7. Renvoie]

{#r_GRCS-addQuery_S_O_O__table_xgh_cpv_hv}  
Exemple montrant comment ajouter plusieurs requêtes à un filtre.

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('priority', '<=', 2); // Priority is 2 or higher and,
    now_GR.addQuery('short_description', 'CONTAINS', 'crash'); // Short description contains the word crash
    now_GR.query(response);
     
    function response(result) {
        while(result.next()) {
           // Print all INC with priority of 2 or higher AND short description contains "crash"
            console.log(result.getValue('number')); 
        }
    }

Exemple montrant comment transmettre un tableau pour vérifier plusieurs conditions dans une seule requête.

    var priorities = [4,2]; 
    var now_GR = new GlideRecord('incident'); 
    now_GR.addQuery('priority', 'IN', priorities); 
    now_GR.query(response); 

    function response(result) {
      while(result.next()) {
        console.log(result.getValue('number')); 
      } 
    }

## Côté client GlideRecord : deleteRecord(Function responseFunction) {#ariaid-title6}

Supprime l'enregistrement actuel et appelle la fonction de réponse spécifiée une fois terminé.
{#r_GRCS-deleteRecord_Function__table_esv_hqv_hv__entry__3}

| Nom | Type | Description |
|-|-|-|
| Fonction de réponse | Fonction | Fonction de réponse pour le rappel. |
[Tableau 8. Paramètres]

{#r_GRCS-deleteRecord_Function__table_esv_hqv_hv} {#r_GRCS-deleteRecord_Function__table_fsv_hqv_hv__entry__2}

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 9. Renvoie]

{#r_GRCS-deleteRecord_Function__table_fsv_hqv_hv}  
Cet exemple supprime un enregistrement, puis appelle la <var class="keyword varname">réponse</var> de la fonction de réponse pour consigner un message d'alerte.

    var recordGR = new GlideRecord('incident');
    if (recordGR.get('99ebb4156fa831005be8883e6b3ee4b9')) {
      recordGR.deleteRecord(response);
    }

    function response(result) {
      alert('Deleted record sys_id: ' + result.getValue('sys_id'));
    }

Sortie :

    Deleted record sys_id: 99ebb4156fa831005be8883e6b3ee4b9

## Côté client GlideRecord : obtenir (chaîne sys_id) {#ariaid-title7}

Exécute une requête GlideRecord pour un enregistrement avec le sys_id spécifié. Cette méthode est censée être utilisée pour interroger des enregistrements uniques, afin qu'une opération suivante soit effectuée avant le renvoi.
{#r_GRCS-get_O__table_u3j_fhw_hv__entry__3}

| Nom | Type | Description |
|-|-|-|
| sys_id | Chaîne | Le sys_id de l'enregistrement à trouver. |
[Tableau 10. Paramètres]

{#r_GRCS-get_O__table_u3j_fhw_hv} {#r_GRCS-get_O__table_v3j_fhw_hv__entry__2}

| Type | Description |
|-|-|
| Booléen | Vrai si un ou plusieurs enregistrements correspondants ont été trouvés. False si aucun enregistrement n'a été trouvé. |
[Tableau 11. Renvoie]

{#r_GRCS-get_O__table_v3j_fhw_hv}

## Côté client GlideRecord : getEncodedQuery() {#ariaid-title8}

Récupère la condition de requête de l'ensemble de résultats actuel sous forme de chaîne de requête codée.
{#r_GRCS-getEncodedQuery__table_wfk_spv_hv__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 12. Paramètres]

{#r_GRCS-getEncodedQuery__table_wfk_spv_hv} {#r_GRCS-getEncodedQuery__table_xfk_spv_hv__entry__2}

| Type | Description |
|-|-|
| Chaîne | Chaîne de requête codée contenant toutes les conditions qui ont été ajoutées à la requête. |
[Tableau 13. Renvoie]

{#r_GRCS-getEncodedQuery__table_xfk_spv_hv}

## Côté client GlideRecord : getLimit() {#ariaid-title9}

Renvoie la limite d'enregistrements à renvoyer par la requête GlideRecord.
{#r_GRCS-getLimit__table_pll_qlw_hv__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 14. Paramètres]

{#r_GRCS-getLimit__table_pll_qlw_hv} {#r_GRCS-getLimit__table_qll_qlw_hv__entry__2}

| Type | Description |
|-|-|
| Numéro | Nombre limite d'enregistrements à renvoyer par la requête GlideRecord. |
[Tableau 15. Renvoie]

{#r_GRCS-getLimit__table_qll_qlw_hv}

## Côté client GlideRecord : getTableName() {#ariaid-title10}

Récupère le nom de la table associée à ce GlideRecord.
{#r_GRCS-getTableName__table_art_5hw_hv__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 16. Paramètres]

{#r_GRCS-getTableName__table_art_5hw_hv} {#r_GRCS-getTableName__table_brt_5hw_hv__entry__2}

| Type | Description |
|-|-|
| Chaîne | Le nom de table |
[Tableau 17. Renvoie]

{#r_GRCS-getTableName__table_brt_5hw_hv}  

    var item = new GlideRecord('sc_request'); 
    item.addQuery('sys_id', current.request); 
    item.query(itemResponse); 
     
    function itemResponse(item) {
       alert('The table is ' + item.getTableName());
    }

## Côté client GlideRecord : hasNext() {#ariaid-title11}

Détermine s'il existe d'autres enregistrements dans le GlideRecord.
{#r_GRCS-hasNext__table_ejm_m3w_hv__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 18. Paramètres]

{#r_GRCS-hasNext__table_ejm_m3w_hv} {#r_GRCS-hasNext__table_fjm_m3w_hv__entry__2}

| Type | Description |
|-|-|
| Booléen | Vrai s'il existe d'autres enregistrements dans l'ensemble de requêtes. |
[Tableau 19. Renvoie]

{#r_GRCS-hasNext__table_fjm_m3w_hv}

## Côté client GlideRecord : insérer(Fonction responseFunction) {#ariaid-title12}

Insère un nouvel enregistrement à l'aide des valeurs de champ qui ont été définies pour l'enregistrement actuel.
{#r_GRCS-insert_Function__table_szb_x3w_hv__entry__3}

| Nom | Type | Description |
|-|-|-|
| Fonction de réponse | Fonction | Fonction à exécuter une fois l'enregistrement inséré. |
[Tableau 20. Paramètres]

{#r_GRCS-insert_Function__table_szb_x3w_hv} {#r_GRCS-insert_Function__table_tzb_x3w_hv__entry__2}

| Type | Description |
|-|-|
| Chaîne | Sys_id de l'enregistrement inséré ou nul si l'enregistrement n'a pas été inséré. |
[Tableau 21. Renvoie]

{#r_GRCS-insert_Function__table_tzb_x3w_hv}  

    var now_GR = new GlideRecord('incident');
    now_GR.short_description = 'Learn about GlideRecord';
    var recResponse = now_GR.insert(handleResponse);

    function handleResponse(recResponse, answer) {
    // Answer will be the sys_id of the created record or null
    alert('Newly created sys_id is - ' + answer + ' exists');
    }

## Côté client GlideRecord : suivant() {#ariaid-title13}

Passe à l'enregistrement suivant dans le GlideRecord.
{#r_GRCS-next__table_ldp_jjw_hv__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 22. Paramètres]

{#r_GRCS-next__table_ldp_jjw_hv} {#r_GRCS-next__table_mdp_jjw_hv__entry__2}

| Type | Description |
|-|-|
| Booléen | False s'il n'y a plus d'enregistrements dans l'ensemble de requêtes. |
[Tableau 23. Renvoie]

{#r_GRCS-next__table_mdp_jjw_hv}  

    var rec = new GlideRecord('incident');
    rec.query(recResponse);
     
    function recResponse(rec) {
      while (rec.next()) { 
        alert(rec.number + ' exists');
      }
    }

## Côté client GlideRecord : orderBy(colonne de chaîne) {#ariaid-title14}

Spécifie une colonne orderBy. Peut être appelé plusieurs fois à l'ordre par plusieurs colonnes.
{#r_GRCS-orderBy_S__table_jhj_3kw_hv__entry__3}

| Nom | Type | Description |
|-|-|-|
| colonne | Chaîne | Nom de colonne à utiliser pour classer le jeu de résultats. |
[Tableau 24. Paramètres]

{#r_GRCS-orderBy_S__table_jhj_3kw_hv} {#r_GRCS-orderBy_S__table_khj_3kw_hv__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 25. Renvoie]

{#r_GRCS-orderBy_S__table_khj_3kw_hv}  

    function UpdateProjectWBS(project) {
      var count = 0;
      var child = new GlideRecord('pm_project_task');
      child.addQuery('parent', project.sys_id);
      child.orderBy('order');
      child.orderBy('number');
      child.query(childResponse);
      g_form.addInfoMessage(count + ' Project Tasks updated');
    }
     
    function childResponse(child) {
      var len = child.getRowCount().toString().length;
      var seq = 0;
      while (child.next()) {
        count += UpdateProjectTaskWBS(child, 1, ++seq, len, '');
      }
    }

## Côté client GlideRecord : query(nom de chaîne, fonction responseFunction, valeur de chaîne) {#ariaid-title15}

Exécute la requête au serveur par rapport à la table en fonction du filtre addQuery(). Cette méthode interroge la table GlideRecord ainsi que toutes les références de la table.
N'effectuez pas d'appels de requête synchrones. L'exécution d'une requête sans fonction de réponse rend l'appel synchrone, ce qui signifie que l'affichage attendra la réponse de la requête avant de continuer.
{#r_GRCS-query_Function__table_zbp_qjl_3v__entry__3}

| Nom | Type | Description |
|-|-|-|
| nom | Chaîne | Facultatif. Nom d'un champ à interroger. |
| Fonction de réponse | Fonction | Fonction appelée lorsque les résultats de la requête sont disponibles. |
| valide | Chaîne | Facultatif. Valeur de champ à interroger. Toute paire de littéraux est considérée comme une paire de requêtes (champ : valeur). |
[Tableau 26. Paramètres]

{#r_GRCS-query_Function__table_zbp_qjl_3v} {#r_GRCS-query_Function__table_dg5_wkw_hv__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 27. Renvoie]

{#r_GRCS-query_Function__table_dg5_wkw_hv}  
Ce qui suit est un exemple de base avec une fonction de réponse.

    var rec = new GlideRecord('incident');
    rec.query(recResponse);
     
    function recResponse(rec) {
      while (rec.next()) { 
       alert(rec.number + ' exists');
      } 
    }

L'exemple suivant montre la différence entre la syntaxe synchrone et la syntaxe asynchrone, avec un exemple asynchrone.

    // synchronous call syntax (no response function): DO NOT USE
            query();
            
            // asynchronous call syntax
            // performs query with current conditions, calls responseFunction when done
            query(responseFunction)
            
            // synchronous call syntax (no response function): DO NOT USE
            // adds "category=hardware" to current query conditions and performs query
            query('category', 'hardware')
            
            // asynchronous call syntax
            // adds "category=hardware" to current query conditions, performs query, and calls responseFunction when done
            query('category', 'hardware', responseFunction)
            
            // asynchronous call example
            // adds "user_name=abel.tuter" to current query conditions, performs query, and calls defined response function when done
            function onLoad() {
            var now_GR = new GlideRecord("sys_user");
            now_GR.query("user_name", "abel.tuter", function(now_GR) {
            if (now_GR.next()) {
            alert("You can access fields by name from the client API, just like in the server API:\n now_GR.name = " + now_GR.name);
            alert("You can also access fields using getValue():\n now_GR.getValue(\"email\") = " + now_GR.getValue("email"));
            if (now_GR.getDisplayValue) {
            alert("In Service Portal, Mobile, and Agent Workspace, you can access a field's display value:\n now_GR.getDisplayValue(\"company\") = " + now_GR.getDisplayValue("company"));
            } else {
            alert("On the desktop, you cannot access a field's display value, but can get its sys_id:\n now_GR.company = " + now_GR.company);
            }
            alert("You cannot dot-walk in the client API:\n now_GR.company.name = " + now_GR.company.name);
            }
            });
            }

## Côté client GlideRecord : setEncodedQuery(String encodedQuery) {#ariaid-title16}

Ajoute une chaîne de requête codée spécifiée à la clause de requête actuelle.
Cette méthode vous permet de spécifier des filtres complexes (chaînes de requête codées) dans un seul appel de requête, contrairement aux autres méthodes addQuery() côté client. Une fois que vous avez défini toutes les requêtes souhaitées, appelez le [Côté client GlideRecord : query(nom de chaîne, fonction responseFunction, valeur de chaîne)](https://servicenow-prod.fluidtopics.net/tl14LpePpTLmjSdJHBbM0Q#r_GRCS-query_Function "Exécute la requête au serveur par rapport à la table en fonction du filtre addQuery(). Cette méthode interroge la table GlideRecord ainsi que toutes les références de la table.") pour exécuter la clause de requête spécifiée (filtre). Pour plus d'informations sur les chaînes de requête codées, consultez [Chaînes de requête codées](https://www.servicenow.com/docs/access?context=c_EncodedQueryStrings&version=xanadu&pubname=xanadu-platform-user-interface&ft:locale=en-US).

Si vous appelez cette méthode plusieurs fois avant d'appeler la méthode query(), les requêtes sont AND ensemble.
{#r_GRCS-setEncodedQuery__table_bpl_gvw_zgb__entry__3}

| Nom | Type | Description |
|-|-|-|
| encodedQuery | Chaîne | Chaîne de requête codée à ajouter à la clause de requête actuelle. |
[Tableau 28. Paramètres]

{#r_GRCS-setEncodedQuery__table_bpl_gvw_zgb} {#r_GRCS-setEncodedQuery__table_cpl_gvw_zgb__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 29. Renvoie]

{#r_GRCS-setEncodedQuery__table_cpl_gvw_zgb}  

    var now_GR = new GlideRecord('incident');
    now_GR.setEncodedQuery('priority=4^ORstate=3');
    now_GR.query(response);
     
    function response(result) {
        while(result.next()) {
            console.log(result.getValue('number'));
        }
    }

## Côté client GlideRecord : setLimit(Number maxQuery) {#ariaid-title17}

Définit la limite du nombre d'enregistrements dans le GlideRecord.
{#r_GRCS-setLimit_N__table_c4d_3lw_hv__entry__3}

| Nom | Type | Description |
|-|-|-|
| maxQuery (Requête maximale) | Numéro | Limite du nombre d'enregistrements à extraire. |
[Tableau 30. Paramètres]

{#r_GRCS-setLimit_N__table_c4d_3lw_hv} {#r_GRCS-setLimit_N__table_d4d_3lw_hv__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 31. Renvoie]

{#r_GRCS-setLimit_N__table_d4d_3lw_hv}

