GlideRecord : délimité

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 64 minutes de lecture
  • L’API GlideRecord incluse dans le périmètre est utilisée pour les opérations de base de données.

    L’API GlideRecord est le principal moyen d’interfaçage avec la base de données sur le code côté serveur. Un GlideRecord est un objet qui contient des enregistrements d’une seule table. Utilisez l’API pour instancier un objet GlideRecord et ajouter des paramètres de requête, des filtres, des limites et un classement.

    Consultez l’article GlideRecord pour plus de détails sur la création et l’exécution de requêtes.

    Pour plus d’informations sur une classe qui exécute les mêmes fonctions que GlideRecord et applique des ACL, consultez Utilisation de GlideRecordSecure.

    Testez toujours les requêtes sur une instance de sous-production avant de les déployer sur une instance de production. Une requête codée mal construite, comme l’inclusion d’un nom de champ non valide, produit une requête non valide. Lorsque la requête non valide est exécutée, la partie non valide de la condition de requête est supprimée et les résultats sont basés sur la partie valide de la requête, qui peut renvoyer tous les enregistrements de la table. L’utilisation d’une méthode insert(), update(), deleteRecord() ou deleteMultiple() sur de mauvais résultats de requête peut entraîner une perte de données.

    Vous pouvez définir la glide.invalid_query.returns_no_rows propriété système sur true pour que les requêtes avec des requêtes codées non valides ne renvoient aucun enregistrement. Dans certains cas, la requête peut toujours renvoyer des enregistrements dans les résultats de l’API même si glide.invalid_query.returns_no_rows la valeur est définie sur vrai. Cela se produit dans les requêtes où un terme de requête non valide est utilisé avec un opérateur WHERE. Dans de telles requêtes, l’opérateur WHERE ignore le ou les termes non valides, mais interprète et renvoie le reste de l’instruction de requête. Pour plus d’informations sur cette propriété système et sa fonctionnalité, reportez-vous à la section Available system properties.

    Récupérer des valeurs à partir des enregistrements

    Dans la plupart des cas, n’utilisez pas de remontée pas à pas pour obtenir des valeurs à partir d’un enregistrement. La remontée pas à pas récupère l’objet entier au lieu de la valeur du champ. La récupération de l’objet consomme plus de stockage et peut entraîner des résultats indésirables lorsqu’elle est utilisée dans des tableaux ou dans Portail de services.

    Au lieu de récupérer l’objet entier, vous pouvez utiliser l’une des méthodes suivantes pour copier les valeurs de champ :

    Si une remontée pas à pas dans un objet GlideElement est nécessaire, utilisez la méthode toString() pour récupérer les valeurs. Par exemple, vous aurez peut-être besoin de l’sys_id du gestionnaire de l’appelant actuel pour définir un autre champ de référence. L’exemple suivant montre comment obtenir la valeur de la chaîne au lieu de l’objet entier :
    var mgr = current.caller_id.manager.toString();

    GlideRecord inclus dans le champ d’application : addActiveQuery()

    Ajoute un filtre pour renvoyer les enregistrements actifs.

    Tableau 1. Paramètres
    Nom Type Description
    Néant
    Tableau 2. Renvoie
    Type Description
    GlideQueryCondition Filtrez pour renvoyer les enregistrements actifs.
    var inc = new GlideRecord('incident');
    inc.addActiveQuery();
    inc.query();

    GlideRecord dans le champ d’application : addEncodedQuery(String query, booléen enforceFieldACL)

    Ajoute une requête codée aux autres requêtes qui ont pu être définies.

    Testez toujours les requêtes sur une instance de sous-production avant de les déployer sur une instance de production. Une requête codée mal construite, comme l’inclusion d’un nom de champ non valide, produit une requête non valide. Lorsque la requête non valide est exécutée, la partie non valide de la condition de requête est supprimée et les résultats sont basés sur la partie valide de la requête, qui peut renvoyer tous les enregistrements de la table. L’utilisation d’une méthode insert(), update(), deleteRecord() ou deleteMultiple() sur de mauvais résultats de requête peut entraîner une perte de données.

    Vous pouvez définir la glide.invalid_query.returns_no_rows propriété système sur true pour que les requêtes avec des requêtes codées non valides ne renvoient aucun enregistrement. Dans certains cas, la requête peut toujours renvoyer des enregistrements dans les résultats de l’API même si glide.invalid_query.returns_no_rows la valeur est définie sur vrai. Cela se produit dans les requêtes où un terme de requête non valide est utilisé avec un opérateur WHERE. Dans de telles requêtes, l’opérateur WHERE ignore le ou les termes non valides, mais interprète et renvoie le reste de l’instruction de requête. Pour plus d’informations sur cette propriété système et sa fonctionnalité, reportez-vous à la section Available system properties.

    Remarque :
    Pour appliquer l’accès aux requêtes en fonction de l’utilisateur, utilisez addUserEncodedQuery().
    Tableau 3. Paramètres
    Nom Type Description
    requête Chaîne Une chaîne de requête codée.
    enforceFieldACL Booléen Facultatif. Marqueur indiquant s’il faut appliquer les règles ACL (liste de contrôle d’accès) du champ.
    Valeurs valides :
    • vrai : appliquer les ACL de champ.
    • faux : ne pas appliquer d’ACL de champ.

    Valeur par défaut : false

    Tableau 4. Renvoie
    Type Description
    nul
    var queryString = "priority=1^ORpriority=2";
    var now_GR = new GlideRecord('incident');
    now_GR.addEncodedQuery(queryString);
    now_GR.query();
    while (now_GR.next()) {
      gs.addInfoMessage(now_GR.getValue('number'));
    }

    GlideRecord dans le champ d’application : addFunction(fonction d’objet)

    Applique un objet GlideDBFunctionBuilder prédéfini à un enregistrement.

    Utilisez la classe incluse dans le périmètre GlideDBFunctionBuilder pour définir une fonction. Une fois la fonction définie, utilisez la méthode addFunction(Object function) pour l’appliquer à un enregistrement.

    Tableau 5. Paramètres
    Nom Type Description
    function Objet Objet GlideDBFunctionBuilder qui définit une opération SQL.
    Tableau 6. Renvoie
    Type Description
    nul
    var functionBuilder = new GlideDBFunctionBuilder();
    var myAddingFunction = functionBuilder.add();
    myAddingFunction = functionBuilder.field('order');
    myAddingFunction = functionBuilder.field('priority');
    myAddingFunction = functionBuilder.build();
    
    // Query incidents in which order + priority is less than 5 and display that added value
    var now_GR = new GlideRecord('incident');
    now_GR.addFunction(myAddingFunction);
    now_GR.addQuery(myAddingFunction, '<', 5);
    now_GR.query();
    while(now_GR.next())
      gs.info(now_GR.getValue(myAddingFunction));

    Sortie :

    1
    4
    3
    1
    1
    2
    1

    GlideRecord inclus dans le champ d’application : addJoinQuery(String joinTable, String primaryField, String joinTableField)

    Ajoute un filtre pour renvoyer les enregistrements en fonction d’une relation dans une table associée au GlideRecord actuel.

    Vous pouvez utiliser cette méthode pour rechercher tous les utilisateurs qui se trouvent dans le groupe de base de données via la table Membre de groupe [sys_user_grmember], ou pour trouver tous les problèmes qui ont un incident affecté via la relation incident.problem_id.

    Il ne s’agit pas d’une véritable jointure de base de données ; addJoinQuery() ajoute plutôt une sous-requête. Ainsi, bien que le jeu de résultats soit limité en fonction de la jointure, les seuls champs auxquels vous avez accès sont ceux de la table de base (ceux qui se trouvent dans la table avec laquelle le GlideRecord a été initialisé).

    Testez toujours les requêtes sur une instance de sous-production avant de les déployer sur une instance de production. Une requête codée mal construite, comme l’inclusion d’un nom de champ non valide, produit une requête non valide. Lorsque la requête non valide est exécutée, la partie non valide de la condition de requête est supprimée et les résultats sont basés sur la partie valide de la requête, qui peut renvoyer tous les enregistrements de la table. L’utilisation d’une méthode insert(), update(), deleteRecord() ou deleteMultiple() sur de mauvais résultats de requête peut entraîner une perte de données.

    Vous pouvez définir la glide.invalid_query.returns_no_rows propriété système sur true pour que les requêtes avec des requêtes codées non valides ne renvoient aucun enregistrement. Dans certains cas, la requête peut toujours renvoyer des enregistrements dans les résultats de l’API même si glide.invalid_query.returns_no_rows la valeur est définie sur vrai. Cela se produit dans les requêtes où un terme de requête non valide est utilisé avec un opérateur WHERE. Dans de telles requêtes, l’opérateur WHERE ignore le ou les termes non valides, mais interprète et renvoie le reste de l’instruction de requête. Pour plus d’informations sur cette propriété système et sa fonctionnalité, reportez-vous à la section Available system properties.

    Tableau 7. Paramètres
    Nom Type Description
    joinTable (table jointe) Chaîne Nom de la table à utiliser dans la jointure, par 'incident'exemple .
    champ primaire Chaîne Facultatif. Nom du champ dans le GlideRecord à utiliser pour joindre le champ spécifié dans le joinTableField paramètre.

    Par défaut : sys_id

    joinTableField Chaîne Facultatif. Nom du champ dans la table spécifié à joinTable utiliser pour joindre les tables.

    Par défaut : premier champ de la table qui joinTable est un champ de référence à la table GlideRecord actuelle.

    Tableau 8. Renvoie
    Type Description
    GlideQueryCondition Filtre qui répertorie les enregistrements dans lesquels les relations correspondent.

    Recherchez les problèmes auxquels un incident est attaché. Cet exemple renvoie les problèmes auxquels des incidents sont associés. Toutefois, il n’extrait pas les valeurs des incidents renvoyés dans le cadre de la requête.

    var prob = new GlideRecord('problem');
    prob.addJoinQuery('incident');
    prob.query();

    Recherchez les problèmes inactifs avec les incidents associés.

    // Look for Problem records that have associated Incident records
    var now_GR = new GlideRecord('problem');
    var grSQ = now_GR.addJoinQuery('incident');
     
    // Where the Problem records are "active=false"
    now_GR.addQuery('active', 'false');
     
    // And the Incident records are "active=true"
    grSQ.addCondition('active', 'true');
     
    // Query
    now_GR.query();
     
    // Iterate and output results
    while (now_GR.next()) {
    gs.info(now_GR.getValue('number'));
    }

    Recherchez les problèmes qui ont des incidents associés lorsque la valeur du champ Incident caller_id correspond à celle du champ Problème opened_by .

    var now_GR = new GlideRecord('problem'); 
            now_GR.addJoinQuery('incident', 'opened_by', 'caller_id'); 
            now_GR.query();

    GlideRecord dans le champ d’application : addNotNullQuery(nom de champ de chaîne)

    Filtre qui spécifie les enregistrements dans lesquels la valeur du champ transmise dans le paramètre n’est pas nulle.

    Testez toujours les requêtes sur une instance de sous-production avant de les déployer sur une instance de production. Une requête codée mal construite, comme l’inclusion d’un nom de champ non valide, produit une requête non valide. Lorsque la requête non valide est exécutée, la partie non valide de la condition de requête est supprimée et les résultats sont basés sur la partie valide de la requête, qui peut renvoyer tous les enregistrements de la table. L’utilisation d’une méthode insert(), update(), deleteRecord() ou deleteMultiple() sur de mauvais résultats de requête peut entraîner une perte de données.

    Vous pouvez définir la glide.invalid_query.returns_no_rows propriété système sur true pour que les requêtes avec des requêtes codées non valides ne renvoient aucun enregistrement. Dans certains cas, la requête peut toujours renvoyer des enregistrements dans les résultats de l’API même si glide.invalid_query.returns_no_rows la valeur est définie sur vrai. Cela se produit dans les requêtes où un terme de requête non valide est utilisé avec un opérateur WHERE. Dans de telles requêtes, l’opérateur WHERE ignore le ou les termes non valides, mais interprète et renvoie le reste de l’instruction de requête. Pour plus d’informations sur cette propriété système et sa fonctionnalité, reportez-vous à la section Available system properties.

    Tableau 9. Paramètres
    Nom Type Description
    Fieldname Chaîne Le nom du champ à vérifier.
    Tableau 10. Renvoie
    Type Description
    GlideQueryCondition Filtre qui spécifie les enregistrements dans lesquels la valeur du champ transmise dans le paramètre n’est pas nulle.
    var target = new GlideRecord('incident'); 
    target.addNotNullQuery('short_description');
    target.query();   // Issue the query to the database to get all records where short_description is not null
    while (target.next()) {   
         // add code here to process the incident record
    }

    GlideRecord dans le champ d’application : addNullQuery(String fieldName)

    Ajoute un filtre pour renvoyer les enregistrements où la valeur du champ spécifié est nulle.

    Testez toujours les requêtes sur une instance de sous-production avant de les déployer sur une instance de production. Une requête codée mal construite, comme l’inclusion d’un nom de champ non valide, produit une requête non valide. Lorsque la requête non valide est exécutée, la partie non valide de la condition de requête est supprimée et les résultats sont basés sur la partie valide de la requête, qui peut renvoyer tous les enregistrements de la table. L’utilisation d’une méthode insert(), update(), deleteRecord() ou deleteMultiple() sur de mauvais résultats de requête peut entraîner une perte de données.

    Vous pouvez définir la glide.invalid_query.returns_no_rows propriété système sur true pour que les requêtes avec des requêtes codées non valides ne renvoient aucun enregistrement. Dans certains cas, la requête peut toujours renvoyer des enregistrements dans les résultats de l’API même si glide.invalid_query.returns_no_rows la valeur est définie sur vrai. Cela se produit dans les requêtes où un terme de requête non valide est utilisé avec un opérateur WHERE. Dans de telles requêtes, l’opérateur WHERE ignore le ou les termes non valides, mais interprète et renvoie le reste de l’instruction de requête. Pour plus d’informations sur cette propriété système et sa fonctionnalité, reportez-vous à la section Available system properties.

    Tableau 11. Paramètres
    Nom Type Description
    Fieldname Chaîne Le nom du champ à vérifier.
    Tableau 12. Renvoie
    Type Description
    GlideQueryCondition Condition de requête ajoutée au GlideRecord.
    var target = new GlideRecord('incident'); 
    target.addNullQuery('short_description');
    target.query();   // Issue the query to the database to get all records where short_description is null
    while (target.next()) {   
       // add code here to process the incident record
    }

    GlideRecord dans le champ d’application : addQuery(nom de chaîne, valeur d’objet)

    Créez une requête de recherche et renvoyez les lignes qui correspondent à la demande.

    Si vous êtes familier avec SQL, cette méthode est similaire à la clause « where ». Un ou plusieurs appels à addQuery() peuvent être effectués dans une seule requête ; dans ce cas, les requêtes sont AND’ed. Si l’une des instructions de requête doit être OU, utilisez la méthode GlideQueryConditionaddOrCondition().

    Remarque :
    Pour appliquer l’accès aux requêtes en fonction de l’utilisateur, utilisez addUserQuery().

    Lorsque addQuery() est appelé avec seulement deux paramètres, nom de table et valeur de comparaison, tels que myObj.addQuery('category','Hardware') ;, l’opérateur est supposé être « égal à ».

    Testez toujours les requêtes sur une instance de sous-production avant de les déployer sur une instance de production. Une requête codée mal construite, comme l’inclusion d’un nom de champ non valide, produit une requête non valide. Lorsque la requête non valide est exécutée, la partie non valide de la condition de requête est supprimée et les résultats sont basés sur la partie valide de la requête, qui peut renvoyer tous les enregistrements de la table. L’utilisation d’une méthode insert(), update(), deleteRecord() ou deleteMultiple() sur de mauvais résultats de requête peut entraîner une perte de données.

    Vous pouvez définir la glide.invalid_query.returns_no_rows propriété système sur true pour que les requêtes avec des requêtes codées non valides ne renvoient aucun enregistrement. Dans certains cas, la requête peut toujours renvoyer des enregistrements dans les résultats de l’API même si glide.invalid_query.returns_no_rows la valeur est définie sur vrai. Cela se produit dans les requêtes où un terme de requête non valide est utilisé avec un opérateur WHERE. Dans de telles requêtes, l’opérateur WHERE ignore le ou les termes non valides, mais interprète et renvoie le reste de l’instruction de requête. Pour plus d’informations sur cette propriété système et sa fonctionnalité, reportez-vous à la section Available system properties.

    Tableau 13. Paramètres
    Nom Type Description
    nom Chaîne Nom du champ de table à interroger ou de l’un des noms réservés suivants :
    • 123TEXTQUERY321 : ajoute un terme de recherche de chaîne à la requête. Spécifiez la chaîne que vous souhaitez faire correspondre comme valeur. Utilisez cette option pour renvoyer des enregistrements avec des valeurs de champ contenant la chaîne de recherche. Cette option recherche tous les champs de la table, qui doivent être configurés pour l’indexation et la recherche. Pour plus d’informations sur la configuration des tables pour l’indexation et la recherche, consultez Configurer une table unique pour l’indexation et la recherche.
    • 123TEXTINDEXGROUP321 : ajoute un groupe d’index de texte à la requête. Spécifiez le nom du groupe d’index de texte dans la table Groupes d’index de texte [ts_index_group] que vous souhaitez interroger comme valeur. Utilisez cette option pour renvoyer les résultats de recherche à partir de l’une des tables d’un groupe d’index de texte, avec des scores de pertinence des résultats normalisés à l’aide des paramètres de ce groupe d’index de texte. Pour plus d’informations sur la configuration des groupes d’index de texte, voir Configurer plusieurs tables pour l’indexation et la recherche.
    Remarque :
    Pour plus de détails sur l’utilisation des noms réservés, reportez-vous à la section Interrogation des tables dans le script.
    valide Objet Valeur sur laquelle effectuer une requête (insensible à la casse).
    Tableau 14. Renvoie
    Type Description
    GlideQueryCondition Condition de requête ajoutée à GlideRecord.

    Cet exemple de code montre comment interroger les enregistrements actifs dans la table d’incidents, puis les définir tous sur inactifs.

    var rec = new GlideRecord('incident');
    rec.addQuery('active', true);
    rec.query();
    while (rec.next()) {
      rec.setValue('active', false);
      rec.update();
    }

    Cet exemple de code ajoute une requête d’enregistrements qui correspondent à « serveur de messagerie » dans la table kb_knowledge, avec les valeurs de pertinence des résultats de recherche calculées à l’aide des paramètres du groupe d’index de texte du portail.

    var now_GR = new GlideRecord("kb_knowledge);
    now_GR.addQuery("123TEXTQUERY321", "email server");
    now_GR.addQuery("123TEXTINDEXGROUP321", "portal");
    now_GR.query();

    GlideRecord dans le champ d’application : addQuery(nom de chaîne, opérateur de chaîne, valeur d’objet)

    Permet de créer une demande qui, lorsqu’elle est exécutée, renvoie les lignes de la table spécifiée correspondant à la demande.

    Si vous êtes familier avec SQL, cette méthode est similaire à la clause « where ». Un ou plusieurs appels à addQuery() peuvent être effectués dans une seule requête ; dans ce cas, les requêtes sont AND’ed. Si l’une des instructions de requête doit être OU, utilisez la méthode GlideQueryConditionaddOrCondition().

    Testez toujours les requêtes sur une instance de sous-production avant de les déployer sur une instance de production. Une requête codée mal construite, comme l’inclusion d’un nom de champ non valide, produit une requête non valide. Lorsque la requête non valide est exécutée, la partie non valide de la condition de requête est supprimée et les résultats sont basés sur la partie valide de la requête, qui peut renvoyer tous les enregistrements de la table. L’utilisation d’une méthode insert(), update(), deleteRecord() ou deleteMultiple() sur de mauvais résultats de requête peut entraîner une perte de données.

    Vous pouvez définir la glide.invalid_query.returns_no_rows propriété système sur true pour que les requêtes avec des requêtes codées non valides ne renvoient aucun enregistrement. Dans certains cas, la requête peut toujours renvoyer des enregistrements dans les résultats de l’API même si glide.invalid_query.returns_no_rows la valeur est définie sur vrai. Cela se produit dans les requêtes où un terme de requête non valide est utilisé avec un opérateur WHERE. Dans de telles requêtes, l’opérateur WHERE ignore le ou les termes non valides, mais interprète et renvoie le reste de l’instruction de requête. Pour plus d’informations sur cette propriété système et sa fonctionnalité, reportez-vous à la section Available system properties.

    Remarque :
    Pour appliquer l’accès aux requêtes en fonction de l’utilisateur, utilisez addUserQuery().
    Tableau 15. Paramètres
    Nom Type Description
    nom Chaîne Nom du champ de table.
    opérateur Chaîne Opérateur de requête. Les valeurs disponibles dépendent du type de données du paramètre de valeur .
    Chiffres :
    • =
    • !=
    • >
    • >=
    • <
    • <=
    Chaînes (doit être en majuscules) :
    • =
    • !=
    • DANS
    • PAS DANS
    • COMMENCE PAR
    • SE TERMINE PAR
    • CONTIENT
    • NE CONTIENT PAS
    • INSTANCEDE
    Remarque :
    Utilisez CONTAINS au lieu de l’opérateur LIKE.
    valide Objet Valeur sur laquelle effectuer une requête (insensible à la casse).
    Tableau 16. Renvoie
    Type Description
    GlideQueryCondition La condition de requête qui a été ajoutée au GlideRecord.
    var rec = new GlideRecord('incident');
    rec.addQuery('active',true);
    rec.addQuery('sys_created_on', ">", "2010-01-19 04:05:00");
    rec.query();
    while (rec.next()) {
      rec.setValue('active', false);
      gs.info('Active incident ' + rec.getValue('number') + ' closed');
      rec.update();
    }

    À l’aide de l’opérateur IN.

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('number','IN','INC00001,INC00002');
    now_GR.query();
    while(now_GR.next()) {
      //do something....
    }

    GlideRecord dans le champ d’application : addSystemEncodedQuery(Requête de chaîne)

    Ajoute une requête à l’aide d’une chaîne de requête codée. Utilisez cette méthode pour contourner l’accès aux requêtes.

    Utilisez cette méthode lorsque l’accès au niveau du système est prévu, de sorte que l’application de l’ACL de requête soit explicitement contournée pour l’utilisateur. Utilisez addUserEncodedQuery() pour appliquer l’accès aux requêtes.

    Méthodes supplémentaires d’accès au niveau du système qui contournent les vérifications d’ACL de requête :

    Pour plus d’informations sur l’utilisation de cette méthode avec GlideRecordSecure, reportez-vous à la section Application des ACL de requête.

    Testez toujours les requêtes sur une instance de sous-production avant de les déployer sur une instance de production. Une requête codée mal construite, comme l’inclusion d’un nom de champ non valide, produit une requête non valide. Lorsque la requête non valide est exécutée, la partie non valide de la condition de requête est supprimée et les résultats sont basés sur la partie valide de la requête, qui peut renvoyer tous les enregistrements de la table. L’utilisation d’une méthode insert(), update(), deleteRecord() ou deleteMultiple() sur de mauvais résultats de requête peut entraîner une perte de données.

    Vous pouvez définir la glide.invalid_query.returns_no_rows propriété système sur true pour que les requêtes avec des requêtes codées non valides ne renvoient aucun enregistrement. Dans certains cas, la requête peut toujours renvoyer des enregistrements dans les résultats de l’API même si glide.invalid_query.returns_no_rows la valeur est définie sur vrai. Cela se produit dans les requêtes où un terme de requête non valide est utilisé avec un opérateur WHERE. Dans de telles requêtes, l’opérateur WHERE ignore le ou les termes non valides, mais interprète et renvoie le reste de l’instruction de requête. Pour plus d’informations sur cette propriété système et sa fonctionnalité, reportez-vous à la section Available system properties.

    Tableau 17. Paramètres
    Nom Type Description
    requête Chaîne Une chaîne de requête codée.
    Tableau 18. Renvoie
    Type Description
    Néant

    L’exemple suivant montre comment renvoyer la valeur nombre des 12 premiers incidents avec une valeur de priorité de 1 ou 2.

    var queryString = "priority=1^ORpriority=2";
    var now_GR = new GlideRecord('incident');
    now_GR.addSystemEncodedQuery(queryString);
    
    now_GR.setLimit(12);
    now_GR.query();
    
    while (now_GR.next()) {
      gs.info(now_GR.getValue('number'));
    }

    Sortie :

    *** Script: INC0002318
    *** Script: INC0000144
    *** Script: INC0006927
    *** Script: INC0003577
    *** Script: INC0006928
    *** Script: INC0000135
    *** Script: INC0005637
    *** Script: INC0003196
    *** Script: INC0002647
    *** Script: INC0004074
    *** Script: INC0003444
    *** Script: INC0001694

    GlideRecord dans le champ d’application : addSystemOrderBy(nom de chaîne)

    Spécifie une colonne orderBy. Utilisez cette méthode pour contourner l’accès aux requêtes.

    Utilisez cette méthode lorsque l’accès au niveau du système est prévu, de sorte que l’application de l’ACL de requête soit explicitement contournée pour l’utilisateur. Utilisez addUserOrderBy() pour appliquer l’accès aux requêtes.

    Méthodes supplémentaires d’accès au niveau du système qui contournent les vérifications d’ACL de requête :

    Appelez cette méthode plusieurs fois pour la classer par plusieurs colonnes. Les résultats sont classés par ordre croissant. Pour organiser les enregistrements par ordre décroissant, voir addSystemOrderByDesc().

    Tableau 19. Paramètres
    Nom Type Description
    nom Chaîne Nom de colonne à utiliser pour ordonner les enregistrements dans cet objet GlideRecord.
    Tableau 20. Renvoie
    Type Description
    Néant

    L’exemple suivant montre comment trier les enregistrements d’incidents par ordre croissant par description brève.

    var queryString = "priority=1";
    var now_GR = new GlideRecord('incident');
    
    now_GR.addSystemOrderBy('short_description'); // Ascending Order
    now_GR.addSystemEncodedQuery(queryString);
    
    now_GR.setLimit(6);
    now_GR.query();
    
    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

    Sortie :

    *** Script: Access token revoked
    *** Script: Access token revoked
    *** Script: Account locked, pls reset my password for Linkedin Sales Navigator
    *** Script: Active Directory (AD) synchronization error
    *** Script: Adobe Photoshop & Digital Publishing Instance is down
    *** Script: Application response time is poor when performing any action in ADP Payroll S...

    GlideRecord dans le champ d’application : addSystemOrderByDesc(nom de chaîne)

    Spécifie une colonne orderBy décroissante. Utilisez cette méthode pour contourner l’accès aux requêtes.

    Utilisez cette méthode lorsque l’accès au niveau du système est prévu, de sorte que l’application de l’ACL de requête soit explicitement contournée pour l’utilisateur. Utilisez addUserOrderByDesc() pour appliquer l’accès aux requêtes.

    Méthodes supplémentaires d’accès au niveau du système qui contournent les vérifications d’ACL de requête :

    Appelez cette méthode plusieurs fois pour la classer par plusieurs colonnes. Les résultats sont classés par ordre décroissant. Pour organiser les enregistrements par ordre croissant, consultez addSystemOrderBy().

    Tableau 21. Paramètres
    Nom Type Description
    nom Chaîne Nom de colonne à utiliser pour ordonner les enregistrements dans un objet GlideRecord.
    Tableau 22. Renvoie
    Type Description
    Néant

    L’exemple suivant montre comment trier les enregistrements d’incidents par ordre décroissant par description brève.

    var queryString = "priority=2";
    var now_GR = new GlideRecord('incident');
    
    now_GR.addSystemOrderByDesc('short_description'); //Descending Order
    now_GR.addSystemEncodedQuery(queryString);
    
    now_GR.setLimit(6);
    now_GR.query();
    
    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

    Sortie :

    *** Script: Xignite U.S. and Global Real Time Quotes upgrade to the latest version
    *** Script: Xignite Company, Market and Industry News Headlines upgrade to the latest ver...
    *** Script: Workday Talent Management Instance relocation from US datacenter to Hongkong ...
    *** Script: Warning displayed while launching Tableau Server
    *** Script: Warning displayed while launching SAP Financial Accounting
    *** Script: Warning displayed while launching Jive Daily

    GlideRecord dans le champ d’application : addSystemQuery(nom de chaîne, opérateur d’objet, valeur d’objet)

    Permet de créer une demande qui, lorsqu’elle est exécutée, renvoie les lignes de la table spécifiée correspondant à la demande. Utilisez cette méthode pour contourner l’accès aux requêtes.

    Utilisez cette méthode lorsque l’accès au niveau du système est prévu, de sorte que l’application de l’ACL de requête soit explicitement contournée pour l’utilisateur. Utilisez addUserQuery() pour appliquer l’accès aux requêtes.

    Méthodes supplémentaires d’accès au niveau du système qui contournent les vérifications d’ACL de requête :

    Testez toujours les requêtes sur une instance de sous-production avant de les déployer sur une instance de production. Une requête codée mal construite, comme l’inclusion d’un nom de champ non valide, produit une requête non valide. Lorsque la requête non valide est exécutée, la partie non valide de la condition de requête est supprimée et les résultats sont basés sur la partie valide de la requête, qui peut renvoyer tous les enregistrements de la table. L’utilisation d’une méthode insert(), update(), deleteRecord() ou deleteMultiple() sur de mauvais résultats de requête peut entraîner une perte de données.

    Vous pouvez définir la glide.invalid_query.returns_no_rows propriété système sur true pour que les requêtes avec des requêtes codées non valides ne renvoient aucun enregistrement. Dans certains cas, la requête peut toujours renvoyer des enregistrements dans les résultats de l’API même si glide.invalid_query.returns_no_rows la valeur est définie sur vrai. Cela se produit dans les requêtes où un terme de requête non valide est utilisé avec un opérateur WHERE. Dans de telles requêtes, l’opérateur WHERE ignore le ou les termes non valides, mais interprète et renvoie le reste de l’instruction de requête. Pour plus d’informations sur cette propriété système et sa fonctionnalité, reportez-vous à la section Available system properties.

    Tableau 23. Paramètres
    Nom Type Description
    nom Chaîne Nom du champ de table.
    opérateur Objet Opérateur de requête. Les valeurs disponibles dépendent du type de données du paramètre de valeur .
    Chiffres :
    • =
    • !=
    • >
    • >=
    • <
    • <=
    Chaînes (doit être en majuscules) :
    • =
    • !=
    • DANS
    • PAS DANS
    • COMMENCE PAR
    • SE TERMINE PAR
    • CONTIENT
    • NE CONTIENT PAS
    • INSTANCEDE
    Remarque :
    Utilisez CONTAINS au lieu de l’opérateur LIKE.
    Opérateurs de schéma dynamique :
    • =
    • !=
    • <
    • >
    • <=
    • >=
    • ENTRE
    • CONTIENT
    • DOES_NOT_CONTAIN
    • SE TERMINE PAR
    • GT_FIELD
    • GT_OR_EQUALS_FIELD
    • DANS
    • ISEMPTY
    • ISNOTEMPTY
    • IS_NOT_NULL
    • IS_NULL
    • J’AIME
    • LT_FIELD
    • LT_OR_EQUALS_FIELD
    • CORRESPONDANCES
    • NOT_IN
    • NOT_LIKE
    • NOT_MATCHES
    • NSAMEAS
    • SAMEAS
    • COMMENCE PAR
    valide Objet Valeur sur laquelle effectuer une requête (insensible à la casse).
    Tableau 24. Renvoie
    Type Description
    GlideQueryCondition La condition de requête qui a été ajoutée au GlideRecord.

    L’exemple suivant montre comment renvoyer explicitement tous les utilisateurs actifs nommés Fred.

    var rec = new GlideRecord('sys_user');
    rec.addSystemQuery("first_name", "=", "Fred");
    rec.query();
    
    while (rec.next()) {
      gs.info('Active user ' + rec.getValue('last_name'));
    }
    Sortie :
    Active user Luddy
    Active user Kunde

    GlideRecord dans le champ d’application : addUserEncodedQuery(Requête de chaîne)

    Ajoute une requête à l’aide d’une chaîne de requête codée. Utilisez cette méthode pour appliquer l’accès aux requêtes en fonction de l’utilisateur.

    Cette méthode renvoie uniquement les enregistrements auxquels l’utilisateur actuel a accès en tant que requête (en fonction des ACL).

    Méthodes connexes :

    Pour plus d’informations sur l’utilisation de cette méthode avec GlideRecordSecure, reportez-vous à la section Application des ACL de requête.

    Testez toujours les requêtes sur une instance de sous-production avant de les déployer sur une instance de production. Une requête codée mal construite, comme l’inclusion d’un nom de champ non valide, produit une requête non valide. Lorsque la requête non valide est exécutée, la partie non valide de la condition de requête est supprimée et les résultats sont basés sur la partie valide de la requête, qui peut renvoyer tous les enregistrements de la table. L’utilisation d’une méthode insert(), update(), deleteRecord() ou deleteMultiple() sur de mauvais résultats de requête peut entraîner une perte de données.

    Vous pouvez définir la glide.invalid_query.returns_no_rows propriété système sur true pour que les requêtes avec des requêtes codées non valides ne renvoient aucun enregistrement. Dans certains cas, la requête peut toujours renvoyer des enregistrements dans les résultats de l’API même si glide.invalid_query.returns_no_rows la valeur est définie sur vrai. Cela se produit dans les requêtes où un terme de requête non valide est utilisé avec un opérateur WHERE. Dans de telles requêtes, l’opérateur WHERE ignore le ou les termes non valides, mais interprète et renvoie le reste de l’instruction de requête. Pour plus d’informations sur cette propriété système et sa fonctionnalité, reportez-vous à la section Available system properties.

    Tableau 25. Paramètres
    Nom Type Description
    requête Chaîne Une chaîne de requête codée.
    Tableau 26. Renvoie
    Type Description
    Néant

    L’exemple suivant montre comment renvoyer la valeur nombre des 12 premiers incidents avec une valeur de priorité de 1 ou 2.

    var queryString = "priority=1^ORpriority=2";
    var now_GR = new GlideRecord('incident');
    now_GR.addUserEncodedQuery(queryString);
    
    now_GR.setLimit(12);
    now_GR.query();
    
    while (now_GR.next()) {
      gs.info(now_GR.getValue('number'));
    }

    Sortie :

    *** Script: INC0002318
    *** Script: INC0000144
    *** Script: INC0006927
    *** Script: INC0003577
    *** Script: INC0006928
    *** Script: INC0000135
    *** Script: INC0005637
    *** Script: INC0003196
    *** Script: INC0002647
    *** Script: INC0004074
    *** Script: INC0003444
    *** Script: INC0001694

    GlideRecord dans le champ d’application : addUserOrderBy(nom de chaîne)

    Spécifie une colonne orderBy. Utilisez cette méthode pour appliquer l’accès aux requêtes en fonction de l’utilisateur.

    Cette méthode renvoie uniquement les enregistrements auxquels l’utilisateur actuel a accès en tant que requête (en fonction des ACL).

    Méthodes connexes :
    • orderBy() fournit la même fonctionnalité sans application d’ACL.
    • addSystemOrderBy() Contourne les vérifications d’accès aux requêtes.
    Méthodes supplémentaires pour appliquer les vérifications ACL de requête :

    Appelez cette méthode plusieurs fois pour la classer par plusieurs colonnes. Les résultats sont classés par ordre croissant. Pour organiser les enregistrements par ordre décroissant, consultez addUserOrderByDesc().

    Tableau 27. Paramètres
    Nom Type Description
    nom Chaîne Nom de colonne à utiliser pour ordonner les enregistrements dans cet objet GlideRecord.
    Tableau 28. Renvoie
    Type Description
    Néant

    L’exemple suivant montre comment trier les enregistrements d’incidents par ordre croissant par description brève.

    var queryString = "priority=1";
    var now_GR = new GlideRecord('incident');
    
    now_GR.addUserOrderBy('short_description'); // Ascending Order
    now_GR.addUserEncodedQuery(queryString);
    
    now_GR.setLimit(6);
    now_GR.query();
    
    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

    Sortie :

    *** Script: Access token revoked
    *** Script: Access token revoked
    *** Script: Account locked, pls reset my password for Linkedin Sales Navigator
    *** Script: Active Directory (AD) synchronization error
    *** Script: Adobe Photoshop & Digital Publishing Instance is down
    *** Script: Application response time is poor when performing any action in ADP Payroll S...

    GlideRecord dans le champ d’application : addUserOrderByDesc(nom de chaîne)

    Spécifie une colonne orderBy décroissante. Utilisez cette méthode pour appliquer l’accès aux requêtes en fonction de l’utilisateur.

    Cette méthode renvoie uniquement les enregistrements auxquels l’utilisateur actuel a accès en tant que requête (en fonction des ACL).

    Méthodes connexes :
    Méthodes supplémentaires pour appliquer les vérifications ACL de requête :

    Appelez cette méthode plusieurs fois pour la classer par plusieurs colonnes. Les résultats sont classés par ordre décroissant. Pour organiser les enregistrements par ordre croissant, consultez addUserOrderBy().

    Tableau 29. Paramètres
    Nom Type Description
    nom Chaîne Nom de colonne à utiliser pour ordonner les enregistrements dans un objet GlideRecord.
    Tableau 30. Renvoie
    Type Description
    Néant

    L’exemple suivant montre comment trier les enregistrements d’incidents par ordre décroissant par description brève.

    var queryString = "priority=2";
    var now_GR = new GlideRecord('incident');
    
    now_GR.addUserOrderByDesc('short_description'); //Descending Order
    now_GR.addUserEncodedQuery(queryString);
    
    now_GR.setLimit(6);
    now_GR.query();
    
    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

    Sortie :

    *** Script: Xignite U.S. and Global Real Time Quotes upgrade to the latest version
    *** Script: Xignite Company, Market and Industry News Headlines upgrade to the latest ver...
    *** Script: Workday Talent Management Instance relocation from US datacenter to Hongkong ...
    *** Script: Warning displayed while launching Tableau Server
    *** Script: Warning displayed while launching SAP Financial Accounting
    *** Script: Warning displayed while launching Jive Daily

    GlideRecord inclus dans le champ d’application : addUserQuery(nom de chaîne, opérateur d’objet, valeur d’objet)

    Permet de créer une demande qui, lorsqu’elle est exécutée, renvoie les lignes de la table spécifiée qui correspondent à la demande. L’utilisateur appelant doit avoir accès à l’exécution de l’opération de requête spécifiée sur le champ pour que cette demande soit ajoutée. Utilisez cette méthode pour appliquer l’accès aux requêtes en fonction de l’utilisateur.

    Cette méthode renvoie uniquement les enregistrements auxquels l’utilisateur actuel a accès en tant que requête (en fonction des ACL).

    Méthodes connexes :
    • addQuery() fournit la même fonctionnalité sans application d’ACL.
    • addSystemQuery() Contourne les vérifications d’accès aux requêtes.

    Testez toujours les requêtes sur une instance de sous-production avant de les déployer sur une instance de production. Une requête codée mal construite, comme l’inclusion d’un nom de champ non valide, produit une requête non valide. Lorsque la requête non valide est exécutée, la partie non valide de la condition de requête est supprimée et les résultats sont basés sur la partie valide de la requête, qui peut renvoyer tous les enregistrements de la table. L’utilisation d’une méthode insert(), update(), deleteRecord() ou deleteMultiple() sur de mauvais résultats de requête peut entraîner une perte de données.

    Vous pouvez définir la glide.invalid_query.returns_no_rows propriété système sur true pour que les requêtes avec des requêtes codées non valides ne renvoient aucun enregistrement. Dans certains cas, la requête peut toujours renvoyer des enregistrements dans les résultats de l’API même si glide.invalid_query.returns_no_rows la valeur est définie sur vrai. Cela se produit dans les requêtes où un terme de requête non valide est utilisé avec un opérateur WHERE. Dans de telles requêtes, l’opérateur WHERE ignore le ou les termes non valides, mais interprète et renvoie le reste de l’instruction de requête. Pour plus d’informations sur cette propriété système et sa fonctionnalité, reportez-vous à la section Available system properties.

    Tableau 31. Paramètres
    Nom Type Description
    nom Chaîne Nom du champ de table.
    opérateur Objet Opérateur de requête. Les valeurs disponibles dépendent du type de données du paramètre de valeur .
    Chiffres :
    • =
    • !=
    • >
    • >=
    • <
    • <=
    Chaînes (doit être en majuscules) :
    • =
    • !=
    • DANS
    • PAS DANS
    • COMMENCE PAR
    • SE TERMINE PAR
    • CONTIENT
    • NE CONTIENT PAS
    • INSTANCEDE
    Remarque :
    Utilisez CONTAINS au lieu de l’opérateur LIKE.
    Opérateurs de schéma dynamique :
    • =
    • !=
    • <
    • >
    • <=
    • >=
    • ENTRE
    • CONTIENT
    • DOES_NOT_CONTAIN
    • SE TERMINE PAR
    • GT_FIELD
    • GT_OR_EQUALS_FIELD
    • DANS
    • ISEMPTY
    • ISNOTEMPTY
    • IS_NOT_NULL
    • IS_NULL
    • J’AIME
    • LT_FIELD
    • LT_OR_EQUALS_FIELD
    • CORRESPONDANCES
    • NOT_IN
    • NOT_LIKE
    • NOT_MATCHES
    • NSAMEAS
    • SAMEAS
    • COMMENCE PAR
    valide Objet Valeur sur laquelle effectuer une requête (insensible à la casse).
    Tableau 32. Renvoie
    Type Description
    GlideQueryCondition La condition de requête qui a été ajoutée au GlideRecord.

    Ce qui suit montre comment renvoyer uniquement les utilisateurs nommés Fred que l’utilisateur actuel a l’autorisation de voir.

    var rec = new GlideRecord('sys_user');
    rec.addUserQuery("first_name", "=", "Fred");
    rec.query();
    
    while (rec.next()) {
      gs.info('Active user ' + rec.getValue('last_name'));
    }
    Sortie :
    Active user Luddy
    Active user Kunde

    GlideRecord inclus dans le champ d’application : canCreate()

    Détermine si les règles de contrôle d’accès, qui incluent les rôles de l’utilisateur, autorisent l’insertion de nouveaux enregistrements dans cette table.

    Tableau 33. Paramètres
    Nom Type Description
    Néant
    Tableau 34. Renvoie
    Type Description
    Booléen Marqueur indiquant si les rôles de l’utilisateur permettent la création d’enregistrements dans cette table.
    Valeurs valides :
    • vrai : création autorisée
    • faux : la création n’est pas autorisée

    Cet exemple de code indique si l’utilisateur actuel peut créer des enregistrements dans la table Incident du journal système.

    var now_GR = new GlideRecord('incident');
    gs.info(now_GR.canCreate());

    GlideRecord inclus dans le champ d’application : canDelete()

    Détermine si les règles de contrôle d’accès, qui incluent les rôles de l’utilisateur, autorisent la suppression d’enregistrements de cette table.

    Tableau 35. Paramètres
    Nom Type Description
    Néant
    Tableau 36. Renvoie
    Type Description
    Booléen Marqueur indiquant si les rôles de l’utilisateur autorisent la suppression des enregistrements de cette table.
    Valeurs valides :
    • vrai : suppression autorisée
    • faux : la suppression n’est pas autorisée

    Cet exemple de code écrit si l’utilisateur actuel peut supprimer des enregistrements dans la table Incident du journal système.

    var att = new GlideRecord('sys_attachment');
    gs.info(att.canDelete());

    GlideRecord inclus dans le champ d’application : canRead()

    Détermine si les règles de contrôle d’accès (ACL) autorisent la lecture des enregistrements de cette table. Cette méthode évalue tous les types d’ACL, tels que les rôles d’utilisateur, les ACL scriptées, les ACL avec conditions scriptées, etc.

    Tableau 37. Paramètres
    Nom Type Description
    Néant
    Tableau 38. Renvoie
    Type Description
    Booléen Marqueur indiquant si les rôles d’utilisateur autorisent la lecture des enregistrements de cette table.
    Valeurs valides :
    • true : lecture autorisée
    • false : la lecture n’est pas autorisée

    Cet exemple de code écrit si l’utilisateur actuel peut lire les enregistrements de la table Incident du journal système.

    var now_GR = new GlideRecord('incident');
    gs.info(now_GR.canRead());

    GlideRecord inclus dans le champ d’application : canWrite()

    Détermine si les règles de contrôle d’accès, qui incluent les rôles de l’utilisateur, autorisent la modification des enregistrements de cette table.

    Tableau 39. Paramètres
    Nom Type Description
    Néant
    Tableau 40. Renvoie
    Type Description
    Booléen Marqueur indiquant si les rôles de l’utilisateur autorisent l’écriture d’enregistrements dans cette table.
    Valeurs valides :
    • true : écriture autorisée
    • false : l’écriture n’est pas autorisée

    Cet exemple de code indique si l’utilisateur actuel peut écrire des enregistrements dans la table Incident du journal système.

    var now_GR = new GlideRecord('incident');
    gs.info(now_GR.canWrite());

    GlideRecord inclus dans le champ d’application : chooseWindow(Number firstRow, Number lastRow, Boolean forceCount)

    Définit une plage de lignes à retourner par les requêtes suivantes.

    Utilisation de setLimit() avec chooseWindow()
    La méthode setLimit() appelle implicitement la méthode chooseWindow() et peut entraîner des résultats inattendus lorsqu’elle est utilisée avec chooseWindow() dans une requête.
    • Si la méthode chooseWindow() est appelée en premier, sa fenêtre d’enregistrement est écrasée par la méthode setLimit( ).
      L’utilisation des lignes suivantes dans une requête renvoie 100 enregistrements commençant à la ligne 1 :
      grIncident.chooseWindow(20,30);
      grIncident.setLimit(100);
    • Si la méthode setLimit() est appelée en premier, la fenêtre définie par chooseWindow() est utilisée et la limite est écrasée.
      L’utilisation des lignes suivantes dans une requête renvoie 10 enregistrements commençant à la ligne 21 :
      grIncident.setLimit(5);
      grIncident.chooseWindow(20,30);
      Remarque :
      L’exécution de query() avec la méthode chooseWindow() déclenche une requête COUNT(*), ce qui peut entraîner des performances lentes sur les tables avec un grand nombre d’enregistrements. Vous pouvez utiliser setLimit() avant chooseWindow() pour ignorer l’exécution de la requête COUNT(*), mais le même avantage en termes de performances est réalisable en utilisant setNoCount().
    Voir aussi :
    Tableau 41. Paramètres
    Nom Type Description
    première ligne Numéro Index de base zéro de la ligne de départ pour la plage, incluse. (Une valeur de 0 renvoie la première ligne.)
    dernière ligne Numéro Index de base zéro de la ligne de fin de la plage, exclusif.

    Par exemple, si firstRow = 1 et lastRow = 5, quatre enregistrements sont renvoyés (2-5).

    forceCount Booléen Facultatif. Marqueur indiquant s’il faut forcer une requête de nombre de lignes. Dans la plupart des implémentations de cet appel, le décompte de lignes est effectué. Il existe des cas isolés, tels que les recherches de texte, où le nombre de lignes n’est pas effectué. La définition de ce marqueur garantit que le nombre de lignes se produit.
    Valeurs valides :
    • vrai : le nombre de lignes se produit toujours.
    • faux : le nombre de lignes se produit en cas d’implémentation dans une exécution normale de la méthode.

    Valeur par défaut : false

    Tableau 42. Renvoie
    Type Description
    nul

    Cet exemple montre comment renvoyer les enregistrements 3 et 4 de la table Incident [incident].

    var now_GR = new GlideRecord('incident');
    now_GR.orderBy('number');
    now_GR.chooseWindow(2, 4);
    now_GR.query();
    while (now_GR.next()) {
      gs.info(now_GR.getValue('number') + ' is within window');
    }

    Sortie :

    *** Script: INC0000003 is within window
    *** Script: INC0000004 is within window

    GlideRecord inclus dans le champ d’application : deleteMultiple()

    Supprime tous les enregistrements qui satisfont à la requête.

    Cette méthode ne supprime pas les pièces jointes.

    N’utilisez pas deleteMultiple() sur les tables avec des champs de devise. Supprimez toujours chaque enregistrement individuellement. De plus, n’utilisez pas cette méthode avec les méthodes chooseWindow() ou setLimit() lorsque vous travaillez avec des tables volumineuses. La méthode setLimit() ne limite pas le nombre d’enregistrements qui sont supprimés avec deleteMultiple(). Tous les enregistrements renvoyés par la requête sont supprimés, quel que soit setLimit().

    La glide.db.forced.chunk.threshold propriété système définit le seuil au-dessus duquel force la suppression et la mise à jour d’enregistrements de blocs. Le découpage permet d’éviter que les suppressions de clés non primaires sur des tables volumineuses ne provoquent des problèmes de réplication. Pour plus d'informations, consultez Available system properties.

    Tableau 43. Paramètres
    Nom Type Description
    Néant
    Tableau 44. Renvoie
    Type Description
    Néant

    Cet exemple montre comment supprimer tous les enregistrements inactifs de la table Incident.

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('active','false');
    now_GR.query();
    now_GR.deleteMultiple();

    GlideRecord inclus dans le champ d’application : deleteRecord()

    Supprime l’enregistrement actuel.

    Tableau 45. Paramètres
    Nom Type Description
    Néant
    Tableau 46. Renvoie
    Type Description
    Booléen Marqueur indiquant si l’enregistrement a été supprimé avec succès.
    Valeurs valides :
    • vrai : l’enregistrement a été supprimé.
    • faux : aucun enregistrement trouvé à supprimer.

    Cet exemple montre comment supprimer un enregistrement spécifié de la table Incident.

    var now_GR = new GlideRecord('incident');
    //to delete one record
    if (now_GR.get('99ebb4156fa831005be8883e6b3ee4b9'))
        now_GR.deleteRecord();

    Cet exemple montre comment supprimer un enregistrement de la table Incident immédiatement après son insertion. Le GlideRecord d’incident doit être rechargé après l’insertion pour pouvoir être supprimé.

    var grTicket = new GlideRecord('incident');
    grTicket.initialize();
    grTicket.short_description = 'Example ticket';
    grTicket.work_notes = 'An update about the ticket';
    var ins_sys_id = grTicket.insert(); // Insert the record
    grTicket.get(ins_sys_id); // Reload the inserted record
    gs.info(grTicket.deleteRecord()); // Delete the record

    Sortie :

    true

    GlideRecord inclus dans le champ d’application : disableSysIdInOptimization()

    Désactive l’optimisation par défaut qui empêche l’exécution d’une requête de base de données supplémentaire lorsqu’un utilisateur transmet un grand nombre de sys_ids, tels que grIncident.addQuery('sys_id', 'IN', listOf200SysIds).

    Cette méthode affecte uniquement le GlideRecord sur lequel elle est appelée. Pour modifier l’optimisation de la limite de sys_id pour tous les GlideRecords, ajustez la valeur dans la glide.db.first_pass_sys_id_list_size.max propriété système (100 par défaut).

    Si vous n’appelez pas cette méthode ou ajustez la glide.db.first_pass_sys_id_list_size.max propriété système et transmettez une liste contenant plus d’entrées sys_id que défini dans glide.db.first_pass_sys_id_list_size.max, la valeur renvoyée par GlideRecord.getRowCount() peut être incorrecte.

    Tableau 47. Paramètres
    Nom Type Description
    Néant
    Tableau 48. Renvoie
    Type Description
    Néant

    L’exemple de code suivant montre comment utiliser la méthode disableSysIdInOptimiation() pour désactiver l’optimisation de la limite de sys_id lors du passage d’une liste de sys_id d’incidents contenant 200 entrées.

    var listOf200SysIds = [ ... ]; // 200 comma separated sys_ids
    var grIncident = new GlideRecord('incident');
    grIncident.addQuery('sys_id', 'IN', listOf200SysIds);
    grIncident.disableSysIdInOptimization(); // Rowcount could be incorrect without this method call
    grIncident.query();
    if (grIncident.next())
        gs.info("Rowcount: " + grIncident.getRowCount());

    Sortie :

    Rowcount: 200

    GlideRecord inclus dans le champ d’application : get(nom de l’objet, valeur d’objet)

    Renvoie l’enregistrement spécifié dans l’objet GlideRecord actuel.

    Cette méthode accepte un ou deux paramètres. Si un seul paramètre est transmis, la méthode suppose qu’il s’agit du sys_id de l’enregistrement souhaité. S’il est introuvable, il essaie alors de faire correspondre la valeur à la valeur d’affichage. Si deux paramètres sont transmis, le premier est le nom de la colonne dans le GlideRecord à rechercher. La seconde est la valeur à rechercher. Si plusieurs enregistrements sont trouvés, utilisez next() pour accéder aux enregistrements supplémentaires.

    Tableau 49. Paramètres
    Nom Type Description
    nom Objet Facultatif. Nom de la colonne GlideRecord instanciée pour rechercher le paramètre spécifié value . Si un seul paramètre est transmis, la méthode suppose que ce paramètre est la valeur sys_id ou d’affichage.
    valide Objet Valeur à faire correspondre. Pour les champs calculés, la valeur est mise en correspondance telle quelle plutôt que d’exécuter un calcul sur une valeur par défaut scriptée pour un champ de l’enregistrement.
    Tableau 50. Renvoie
    Type Description
    Booléen Indique si l’enregistrement demandé a été localisé :
    • vrai : enregistrement trouvé
    • Faux : enregistrement introuvable

    Cet exemple montre comment obtenir un enregistrement d’incident en transmettant le sys_id.

    var grIncident = new GlideRecord('incident');
    var returnValue = grIncident.get('99ebb4156fa831005be8883e6b3ee4b9');
    gs.info(returnValue); // logs true or false
    gs.info(grIncident.short_description); // logs Incident Short description

    Cet exemple montre comment obtenir un enregistrement d’incident en transmettant le champ à rechercher (caller_id.name) et la valeur à faire correspondre dans ce champ.

    var grIncident = new GlideRecord('incident');
    var returnValue = grIncident.get('caller_id.name','Sylivia Wayland');
    gs.info(returnValue); // logs true or false
    gs.info(grIncident.getValue('number')); // logs Incident Number

    GlideRecord dans le champ d’application : getAttribute(String fieldName)

    Renvoie les attributs de dictionnaire pour le champ spécifié.

    Tableau 51. Paramètres
    Nom Type Description
    Fieldname Chaîne Nom de champ pour lequel renvoyer les attributs de dictionnaire
    Tableau 52. Renvoie
    Type Description
    Chaîne Attributs du dictionnaire
    doit();
    function doit() {
      var now_GR = new GlideRecord('sys_user');
      now_GR.query("user_name","admin");
      if (now_GR.next()) {
        gs.info("we got one");
        gs.info(now_GR.location.getAttribute("tree_picker"));
      }
    }

    GlideRecord dans le champ d’application : getClassDisplayValue()

    Renvoie l’étiquette de la table actuelle.

    Tableau 53. Paramètres
    Nom Type Description
    Néant
    Tableau 54. Renvoie
    Type Description
    Chaîne Étiquette qui identifie la table.

    Cet exemple imprime l’étiquette de la table transmise.

    // Display the incident table label
    var now_GR = new GlideRecord("incident");
    var value = now_GR.getClassDisplayValue();
    gs.info("The table label is " + value + ".");

    Sortie :

    The table label is Incident.

    GlideRecord dans le champ d’application : getDisplayValue()

    Récupère la valeur d’affichage de l’enregistrement actuel.

    Les valeurs d’affichage sont manipulées en fonction de la valeur réelle dans la base de données et des paramètres et préférences de l’utilisateur ou du système.

    La valeur d’affichage renvoyée dépend du type de champ.
    • Champs de choix : la valeur de base de données peut être un nombre, mais la valeur d’affichage sera plus descriptive.
    • Champs de date : la valeur de base de données est au format UTC, tandis que la valeur d’affichage est basée sur le fuseau horaire de l’utilisateur.
    • Texte chiffré : la valeur de base de données est chiffrée, tandis que la valeur affichée n’est pas chiffrée en fonction du contexte de chiffrement de l’utilisateur.
    • Champs de référence : la valeur de base de données est sys_id, mais la valeur d’affichage est un champ d’affichage de l’enregistrement référencé.
    Tableau 55. Paramètres
    Nom Type Description
    Néant
    Tableau 56. Renvoie
    Type Description
    Chaîne Valeur d’affichage de l’enregistrement actuel.

    Cet exemple écrit la valeur d’affichage d’un enregistrement d’incident spécifié dans le journal.

    var now_GR = new GlideRecord('incident');
    now_GR.get('sys_id','<sys_id>');
    gs.info(now_GR.getDisplayValue());

    Sortie :

    INC0000050

    GlideRecord inclus dans le champ d’application : getED()

    Renvoie le descripteur de l’élément.

    Tableau 57. Paramètres
    Nom Type Description
    Néant
    Tableau 58. Renvoie
    Type Description
    GlideElementDescriptor Descripteur de l’élément.

    Cet exemple montre comment récupérer le champ de nom pour un GlideRecord d’incident.

    var grInc = new GlideRecord('incident');
    grInc.get('sys_id','ef43c6d40a0a0b5700c77f9bf387afe3');
    
    var field = grInc.getElement('priority');
    var ed = field.getED();
    
    var isEdge = ed.getLabel();
    gs.info("Label is - " + isEdge);
    Sortie :
    Label is - Priority

    GlideRecord dans le champ d’application : getElement(String fieldName)

    Récupère l’objet GlideElement pour le champ spécifié.

    La valeur renvoyée par cette méthode est un objet GlideElement complet. Les résultats sont l’équivalent d’une remontée pas à pas d’une valeur de champ. Par exemple, now_GR.getElement('short_description') fournit le même résultat que nowGR.short_description.

    Dans la plupart des cas, n’utilisez pas de remontée pas à pas pour obtenir des valeurs à partir d’un enregistrement. La remontée pas à pas récupère l’objet entier au lieu de la valeur du champ. La récupération de l’objet consomme plus de stockage et peut entraîner des résultats indésirables lorsqu’elle est utilisée dans des tableaux ou dans Portail de services.

    Au lieu de récupérer l’objet entier, vous pouvez utiliser l’une des méthodes suivantes pour copier les valeurs de champ :

    Si une remontée pas à pas dans un objet GlideElement est nécessaire, utilisez la méthode toString() pour récupérer les valeurs. Par exemple, vous aurez peut-être besoin de l’sys_id du gestionnaire de l’appelant actuel pour définir un autre champ de référence. L’exemple suivant montre comment obtenir la valeur de la chaîne au lieu de l’objet entier :
    var mgr = current.caller_id.manager.toString();
    Tableau 59. Paramètres
    Nom Type Description
    Fieldname Chaîne Nom de colonne pour lequel renvoyer l’objet GlideElement.
    Tableau 60. Renvoie
    Type Description
    Élément GlideÉlément GlideElement pour la colonne spécifiée de l’enregistrement actuel. Chaque objet décrit un champ dans le GlideRecord actuel.

    L’exemple suivant montre comment ajouter un nouvel enregistrement d’incident avec des détails dans le champ Brève description .

    var elementName = 'short_description'; 
    var now_GR = new GlideRecord('incident'); 
    now_GR.newRecord(); 
    now_GR.setValue(elementName, "My DB is not working");
    now_GR.insert();
     
    var sdesc = now_GR.getElement('short_description');
    gs.info(sdesc.getValue());

    Sortie :

    My DB is not working

    GlideRecord dans le champ d’application : getElements()

    Renvoie un tableau d’objets GlideElement. Chaque objet décrit un champ dans le GlideRecord actuel.

    Si une remontée pas à pas dans un objet GlideElement est nécessaire, utilisez la méthode toString() pour récupérer les valeurs. Par exemple, vous aurez peut-être besoin de l’sys_id du gestionnaire de l’appelant actuel pour définir un autre champ de référence. L’exemple suivant montre comment obtenir la valeur de la chaîne au lieu de l’objet entier :
    var mgr = current.caller_id.manager.toString();
    Tableau 61. Paramètres
    Nom Type Description
    Néant
    Tableau 62. Renvoie
    Type Description
    Tableau Tableau d’objets GlideElement . Chaque objet décrit un champ dans le GlideRecord actuel.

    L’exemple suivant affiche la valeur du champ Name (Nom) pour les cinq enregistrements les plus récents créés dans la table Question [question].

    var now_GR = new GlideRecord('question');
    var elementArr = now_GR.getElements();
    now_GR.orderByDesc('sys_created_on');
    now_GR.setLimit(5);
    now_GR.query();
    
    while (now_GR.next()){
      var qNames = now_GR.name.toString();
      elementArr.push(qNames);
      gs.info(qNames);
    }

    Sortie :

    delivery_time_var
    delivery_time
    sequence
    priority
    assigned_group

    GlideRecord inclus dans le champ d’application : getEncodedQuery()

    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.

    Tableau 63. Paramètres
    Nom Type Description
    Néant
    Tableau 64. Renvoie
    Type Description
    Chaîne Une chaîne de requête codée.
    var now_GR = new GlideRecord('incident'); 
    now_GR.addQuery('active', true);
    now_GR.addQuery('priority', 1); 
    now_GR.query(); 
    var encodedQuery = now_GR.getEncodedQuery(); 
    gs.info(encodedQuery);

    Sortie :

    active=true^priority=1

    GlideRecord inclus dans le champ d’application : getLabel()

    Renvoie l’étiquette du champ.

    Tableau 65. Paramètres
    Nom Type Description
    Néant
    Tableau 66. Renvoie
    Type Description
    Chaîne Étiquette du champ
    template.print("Summary of Requested items:\n");  
    var now_GR = new GlideRecord("sc_req_item");
    now_GR.addQuery("request", current.sysapproval);
    now_GR.query();
    while(now_GR.next()) {
    var nicePrice = now_GR.price.toString();
      if (nicePrice != '') {
        nicePrice = parseFloat(nicePrice);
        nicePrice = nicePrice.toFixed(2);
      }
      template.print(now_GR.number + ":  " + now_GR.quantity + " X " + now_GR.cat_item.getDisplayValue() 
        + " at $" + nicePrice + " each \n");
      template.print("    Options:\n");
      for (key in now_GR.variables) {
      var now_V = now_GR.variables[key];
        if(now_V.getGlideObject().getQuestion().getLabel() != '') {
          template.space(4);
          template.print('     ' +  now_V.getGlideObject().getQuestion().getLabel() + " = " 
            + now_V.getDisplayValue() + "\n");  
        }
      }
    }

    GlideRecord dans le champ d’application : getLastErrorMessage()

    Récupère le dernier message d’erreur. S’il n’y a pas de dernier message d’erreur, null est renvoyé.

    Tableau 67. Paramètres
    Nom Type Description
    Néant
    Tableau 68. Renvoie
    Type Description
    Chaîne Le dernier message d’erreur sous forme de chaîne.
    // Setup a data policy where short_description field in incident is mandatory
    var now_GR = new GlideRecord('incident');
    now_GR.insert(); // insert without data in mandatory field
    var errormessage = now_GR.getLastErrorMessage(); 
    gs.info(errormessage);

    Sortie :

    Data Policy Exception: Short description is mandatory

    GlideRecord inclus dans le champ d’application : getRecordClassName()

    Récupère le nom de classe de l’enregistrement actuel.

    Tableau 71. Paramètres
    Nom Type Description
    Néant
    Tableau 72. Renvoie
    Type Description
    Chaîne Nom de la classe.
    var now_GR = new GlideRecord('incident'); 
    var recordClassName = now_GR.getRecordClassName(); 
    gs.info(recordClassName);

    Sortie :

    incident

    GlideRecord inclus dans le champ d’application : getRowCount()

    Récupère le nombre de lignes (enregistrements) dans l’objet GlideRecord actuel.

    Remarque :
    GlideRecord renvoie les enregistrements correspondants, il peut donc ne pas être aussi efficace que GlideAggregate lorsque vous n’avez besoin que du nombre d’enregistrements. Si vous avez seulement besoin d’un nombre d’enregistrements et que vous n’itérez pas sur les enregistrements correspondants, utilisez GlideAggregate.
    Récupération du nombre d’enregistrements dans GlideRecord ou GlideAggregate
    Les API GlideRecord getRowCount() et GlideAggregate getAggregate() offrent des informations similaires. Utilisez les critères suivants pour déterminer l’option qui vous convient le mieux.
    • La méthode GlideRecord getRowCount() vous indique combien d’enregistrements ont été renvoyés par une requête avec les enregistrements eux-mêmes. Si vous avez besoin du nombre d’enregistrements dans le jeu de résultats avant ou après l’itération sur le jeu pour effectuer des actions sur les enregistrements, utilisez cette méthode.
    • La méthode GlideAggregate getAggregate() récupère uniquement le nombre d’enregistrements correspondant à la requête, à l’exclusion des enregistrements réels. L’agrégat doit être défini sur l’objet GlideAggregate avant d’émettre la requête.
    Récupération des enregistrements et du nombre avec GlideRecord getRowCount()
    L’exemple suivant montre comment obtenir le nombre total d’incidents actifs avec GlideRecord getRowCount() :
    var incident = new GlideRecord("incident");
    incident.addQuery("active", true);
    incident.query();
     
    gs.info("*** Total number of active incidents: {0}", incident.getRowCount());
    Récupération uniquement du nombre d’enregistrements avec GlideAggregate getAggregate()
    L’exemple suivant montre comment renvoyer uniquement le nombre d’enregistrements. Étant donné que cette méthode n’utilise pas les enregistrements correspondants, il est beaucoup plus efficace d’utiliser une requête agrégée et de renvoyer uniquement le nombre.
    var incident = new GlideAggregate("incident");
    incident.addQuery("active", true);
    incident.addAggregate("COUNT");
    incident.query();
     
    if (incident.next())
        gs.info("*** Total number of active incidents: {0}", incident.getAggregate("COUNT"));
    Choisir l’option la mieux adaptée à votre solution

    Si vous souhaitez uniquement récupérer le nombre d’enregistrements, la méthode GlideAggregate getAggregate() est la meilleure option. Pour utiliser les enregistrements individuels et récupérer le nombre de résultats, utilisez GlideRecord getRowCount(), car une seule requête fournit cette fonctionnalité.

    Remarque :
    Si vous souhaitez utiliser la méthode getRowCount() lors de l’utilisation de sys_id IN avec plus de 100 valeurs sys_id, telles que grIncident.addQuery('sys_id', 'IN', listOf200SysIds), vous devez :
    • Appelez la méthode disableSysIdInOptimization() sur GlideRecord.
    • Vous pouvez également ajuster la glide.db.first_pass_sys_id_list_size.max propriété système à une valeur supérieure au nombre de sys_ids dans la liste.
    De plus, assurez-vous d’appeler la méthode .next() avant d’appeler la méthode getRowCount( ).
    Tableau 73. Paramètres
    Nom Type Description
    Néant
    Tableau 74. Renvoie
    Type Description
    Numéro Nombre de lignes dans le GlideRecord actuel.

    L’exemple suivant montre comment obtenir le nombre d’incidents à partir de la table Incident [incident].

    var numberOfIncidents = new GlideRecord('incident');
    numberOfIncidents.query();
    gs.info("Records in incident table: " + numberOfIncidents.getRowCount());

    Sortie :

    Records in incident table: 6920

    L’exemple de code suivant montre comment utiliser la méthode disableSysIdInOptimiation() pour désactiver l’optimisation de la limite de sys_id lors du passage d’une liste de sys_id d’incidents contenant 200 entrées.

    var listOf200SysIds = [ ... ]; // 200 comma separated sys_ids
    var grIncident = new GlideRecord('incident');
    grIncident.addQuery('sys_id', 'IN', listOf200SysIds);
    grIncident.disableSysIdInOptimization(); // Rowcount could be incorrect without this method call
    grIncident.query();
    if (grIncident.next())
        gs.info("Rowcount: " + grIncident.getRowCount());

    Sortie :

    Rowcount: 200

    GlideRecord dans le champ d’application : getTableName()

    Récupère le nom de la table associée au GlideRecord.

    Tableau 75. Paramètres
    Nom Type Description
    Néant
    Tableau 76. Renvoie
    Type Description
    Chaîne Nom de la table
    var now_GR = new GlideRecord('incident');
    gs.info(now_GR.getTableName());

    GlideRecord dans le champ d’application : getUniqueValue()

    Obtient la clé principale de l’enregistrement, qui est généralement la sys_id sauf indication contraire.

    Tableau 77. Paramètres
    Nom Type Description
    Néant
    Tableau 78. Renvoie
    Type Description
    Chaîne Clé primaire unique sous forme de chaîne ou nulle si la clé est nulle.
    var now_GR = new GlideRecord('kb_knowledge');
    now_GR.query();
    now_GR.next();
    var uniqueid = now_GR.getUniqueValue();
    gs.info(uniqueid);

    GlideRecord dans le champ d’application : getValue (nom de chaîne)

    Récupère la valeur de chaîne d’un élément sous-jacent dans un champ.

    Remarque :
    Si le module d’extension Chiffrement de champ Enterprise est activé et que l’instance a accès à la clé, cette méthode renvoie les valeurs en texte clair des champs chiffrés. Si l’instance n’a pas accès à la clé, cette méthode renvoie la valeur chiffrée. Pour plus d’informations, consultez Chiffrement de la plateforme.
    Tableau 79. Paramètres
    Nom Type Description
    nom Chaîne Nom du champ à partir duquel obtenir la valeur.
    Tableau 80. Renvoie
    Type Description
    Chaîne Valeur de chaîne de l’élément sous-jacent. Renvoie null si le champ est vide ou s’il n’existe pas. Les valeurs booléennes sont renvoyées sous forme de valeurs de chaîne « 0 » et « 1 » au lieu de faux et vrai.
    var now_GR = new GlideRecord('incident'); 
    now_GR.orderBy('number');
    now_GR.query('active','true'); 
    now_GR.next(); 
    gs.info(now_GR.getValue('number'));

    Sortie :

    INC0000002

    GlideRecord dans le champ d’application : GlideRecord(String tableName)

    Crée une instance de la classe GlideRecord pour la table spécifiée.

    Tableau 81. Paramètres
    Nom Type Description
    tableName Chaîne La table à utiliser.
    var now_GR = new GlideRecord('incident');

    GlideRecord inclus dans le champ d’application : hasNext()

    Détermine s’il existe d’autres enregistrements dans l’objet GlideRecord.

    Tableau 82. Paramètres
    Nom Type Description
    Néant
    Tableau 83. Renvoie
    Type Description
    Booléen Vrai s’il existe d’autres enregistrements dans l’ensemble de résultats de la requête.
    var rec = new GlideRecord('incident'); 
    rec.query(); 
    if (rec.hasNext()) { 
      gs.info("Table is not empty"); 
    }

    GlideRecord inclus dans le champ d’application : insert()

    Insère un nouvel enregistrement à l’aide des valeurs de champ définies pour l’enregistrement actuel.

    Tableau 84. Paramètres
    Nom Type Description
    Néant
    Tableau 85. Renvoie
    Type Description
    Chaîne Sys_id de l’enregistrement inséré ou nul si l’enregistrement n’est pas inséré.
    var now_GR = new GlideRecord('incident');
    now_GR.initialize();
    now_GR.setValue('name', 'New Incident');
    now_GR.setValue('description', 'Incident description');
    now_GR.insert();

    Sortie :

    138fb4111b4d4d907cf30d03cd4bcb57

    GlideRecord inclus dans le champ d’application : initialize()

    Crée un enregistrement vide adapté au remplissage avant une insertion.

    Tableau 86. Paramètres
    Nom Type Description
    Néant
    Tableau 87. Renvoie
    Type Description
    nul
    var grIncident = new GlideRecord('incident');
    grIncident.initialize();
    grIncident.setValue('short_description', 'New Incident');
    grIncident.setValue('description', 'Incident description');
    grIncident.insert();

    GlideRecord dans le champ d’application : isActionAborted()

    Vérifie si l’action de base de données actuelle doit être abandonnée.

    isActionAborted() est initialisé (défini sur false) pour les nouveaux threads et par la méthode next().

    Tableau 88. Paramètres
    Nom Type Description
    Néant
    Tableau 89. Renvoie
    Type Description
    Booléen Marqueur indiquant si l’action de base de données actuelle doit être abandonnée.
    Valeurs valides :
    • true : l’action de base de données en cours doit être abandonnée.
    • false : l’action de base de données en cours ne doit pas être abandonnée.
    var now_GR = new GlideRecord('incident');
     
    gs.info(now_GR.isActionAborted());

    Sortie :

    false

    GlideRecord dans le champ d’application : isEncodedQueryValid (requête de chaîne)

    Vérifie si la requête codée spécifiée est valide.

    Si la requête codée spécifiée est valide, la requête est appliquée, comme si vous aviez appelé addEncodedQuery(). Si la requête codée spécifiée n’est pas valide, sys_idNotValidnull est ajoutée en tant que requête codée.

    Remarque :
    Cette méthode a été déconseillée et remplacée par la méthode isValidEncodedQuery() qui n’exécute pas la requête.
    Tableau 90. Paramètres
    Nom Type Description
    requête Chaîne Requête codée à valider. Voir Chaînes de requête codées.
    Tableau 91. Renvoie
    Type Description
    Booléen Marqueur indiquant si la requête codée spécifiée est valide.
    • vrai : la requête codée transmise est valide.
    • faux : la requête codée transmise n’est pas valide.

    Cet exemple de code montre comment valider une requête codée, puis exécuter la logique si la requête est valide.

    var now_GR = new GlideRecord('incident_sla');
    var isValidQuery = now_GR.isEncodedQueryValid('inc_impact=1^taskslatable_active=true');
    if (isValidQuery) {
      now_GR.query();
      .
      .
      .
    }

    GlideRecord dans le champ d’application : isNewRecord()

    Vérifie si l’enregistrement actuel est un nouvel enregistrement qui n’a pas encore été inséré dans la base de données.

    Tableau 92. Paramètres
    Nom Type Description
    Néant
    Tableau 93. Renvoie
    Type Description
    Booléen Vrai si l’enregistrement est nouveau et n’a pas été inséré dans la base de données.
    var now_GR = new GlideRecord("x_app_table"); 
    now_GR.newRecord(); // create a new record and populate it with default values
    gs.info(now_GR.isNewRecord());

    GlideRecord inclus dans le champ d’application : isValid()

    Détermine si la table actuelle est valide ou si l’enregistrement a été récupéré avec succès.

    Tableau 94. Paramètres
    Nom Type Description
    Néant
    Tableau 95. Renvoie
    Type Description
    Booléen Marqueur indiquant si la table est valide ou si l’enregistrement a été récupéré avec succès.
    Valeurs possibles :
    • vrai : la table est valide ou l’enregistrement a été récupéré avec succès.
    • faux : la table n’est pas valide ou l’enregistrement n’a pas été récupéré avec succès.
    var comment_GR = new GlideRecord('cf_comment');
    var commentId = '99ebb4156fa831005be8883e6b3ee4b9';
    comment_GR.get(commentId);
    gs.info(comment_GR.isValid());

    GlideRecord dans le champ d’application : isValidEncodedQuery(String query)

    Vérifie si la syntaxe de la requête codée est correcte.

    Lors de la transmission d’une chaîne vide («  ») en tant que requête de fourniture :
    • La chaîne vide («  ») représente l’absence de requête et renvoie la valeur false.
    • L’appel de GlideRecord.addEncodedQuery(«  ») suivi de GlideRecord.query() renvoie toutes les lignes. La méthode de requête est similaire à une instruction SQL SELECT. En SQL, lorsque vous utilisez « SELECT * FROM foo WHERE X », la valeur X représente la requête. Si aucune valeur de requête n’est fournie, tous les enregistrements sont renvoyés (par exemple, SELECT * FROM foo).
    Tableau 96. Paramètres
    Nom Type Description
    requête Chaîne Requête codée à valider. Voir Chaînes de requête codées.
    Tableau 97. Renvoie
    Type Description
    Booléen Marqueur indiquant si la requête codée spécifiée est valide.
    • vrai : la requête codée transmise est valide.
    • faux : la requête codée transmise n’est pas valide.

    Cet exemple de code montre comment vérifier si la requête codée est valide.

    var queryString = "priority=1^ORpriority=2";
    var now_GR = new GlideRecord('incident');
    var isValidQuery = now_GR.isValidEncodedQuery(queryString);
    if (isValidQuery) {
      now_GR.addEncodedQuery(queryString);
      now_GR.query();
      .
      .
      .
    }

    GlideRecord dans le champ d’application : isValidField(String columnName)

    Détermine si le champ spécifié est défini dans la table active.

    Tableau 98. Paramètres
    Nom Type Description
    columnName Chaîne Le nom du champ.
    Tableau 99. Renvoie
    Type Description
    Booléen Vrai si le champ est défini pour la table actuelle.
    var now_GR = new GlideRecord('incident'); 
    now_GR.initialize(); 
    gs.info(now_GR.isValidField("short_description"));

    GlideRecord dans le champ d’application : isValidRecord()

    Détermine si un enregistrement a réellement été renvoyé par l’opération de requête/d’obtention d’enregistrement.

    Tableau 100. Paramètres
    Nom Type Description
    Néant
    Tableau 101. Renvoie
    Type Description
    Booléen Marqueur indiquant si un enregistrement a réellement été renvoyé par l’opération requête/obtention.
    Valeurs valides :
    • vrai : enregistrement renvoyé par l’opération de requête/d’obtention.
    • faux : fin de l’ensemble d’enregistrements, aucun enregistrement renvoyé.
    var rec = new GlideRecord('incident');
    rec.query();
    while (rec.next()) { 
      gs.info(rec.number + ' exists');
    }
    gs.info(rec.isValidRecord());

    GlideRecord inclus dans le champ d’application : isView()

    Vérifie si l’enregistrement a été créé dans une vue ou une table.

    Tableau 102. Paramètres
    Nom Type Description
    Néant
    Tableau 103. Renvoie
    Type Description
    Booléen Marqueur indiquant si l’enregistrement a été créé dans une table qui est une vue.
    • vrai : l’enregistrement a été créé dans une vue.
    • faux : l’enregistrement a été créé dans une table.

    Cet exemple de code montre comment déterminer si un GlideRecord a été créé dans une vue ou une table.

    var mySLA = new GlideRecord('incident_sla');
    
    if (mySLA.isView() == true){
       gs.info('This record was created in a view.');
    } else {
       gs.info('This record was created in a table.');
    }

    Sortie :

    This record was created in a view.

    GlideRecord inclus dans le champ d’application : newRecord()

    Crée un nouvel enregistrement GlideRecord, définit les valeurs par défaut des champs et affecte un ID unique à l’enregistrement.

    Tableau 104. Paramètres
    Nom Type Description
    Néant
    Tableau 105. Renvoie
    Type Description
    nul
    var now_GR = new GlideRecord("x_app_table"); 
    now_GR.newRecord(); 
    gs.info(now_GR.isNewRecord());

    Sortie :

    true

    GlideRecord inclus dans le champ d’application : next()

    Passe à l’enregistrement suivant dans l’objet GlideRecord.

    Remarque :
    Cette méthode échoue s’il existe un champ dans la table appelé « suivant ». Si c’est le cas, utilisez la méthode _next().
    Tableau 106. Paramètres
    Nom Type Description
    Néant
    Tableau 107. Renvoie
    Type Description
    Booléen Marqueur indiquant s’il existe un enregistrement « suivant » dans GlideRecord.
    Valeurs valides :
    • vrai : le passage à l’enregistrement suivant a réussi.
    • faux : aucun autre enregistrement dans l’ensemble de résultats.
    var rec = new GlideRecord('incident');
    rec.query();
    while (rec.next()) {
     gs.info(rec.getValue('number') + ' exists');
    }
    Sortie :
    INC0010112 exists
    INC0010114 exists
    INC0010119 exists
    INC0010127 exists

    GlideRecord inclus dans le champ d’application : _next()

    Passe à l’enregistrement suivant dans le GlideRecord. Fournit la même fonctionnalité que next(), utilisez cette méthode si le GlideRecord comporte une colonne nommée next.

    Tableau 108. Paramètres
    Nom Type Description
    Néant
    Tableau 109. Renvoie
    Type Description
    Booléen Marqueur indiquant s’il existe d’autres enregistrements dans l’ensemble de requêtes.
    Valeurs possibles :
    • vrai : plus d’enregistrements dans l’ensemble de requêtes.
    • faux : plus aucun enregistrement dans le jeu de requêtes.

    L’exemple suivant montre comment répertorier chaque enregistrement dans la table Incidents [incident].

    var rec = new GlideRecord('incident');
    rec.query();
    while (rec._next()) {
      gs.info(rec.getValue('number') + ' exists');
    }

    Sortie :

    INC0000060 exists
    INC0009002 exists
    INC0000009 exists
    INC0000010 exists
    INC0000011 exists
    INC0000012 exists
    ...

    GlideRecord inclus dans le champ d’application : operation()

    Détermine si une opération est insérer, mettre à jour ou supprimer.

    Connaître l’opération permet d’utiliser current.operation() pour créer une règle métier générique capable de gérer chaque opération de manière unique.

    Pour plus d’informations sur l’utilisation de la variable globale current, reportez-vous à Variables globales dans les règles métier.

    Tableau 110. Paramètres
    Nom Type Description
    Néant
    Tableau 111. Renvoie
    Type Description
    Chaîne L’opération en cours.
    Valeurs possibles :
    • supprimer
    • insérer
    • mettre à jour

    L’exemple suivant montre comment utiliser cette méthode dans une règle métier. La méthode operation() détecte quelle opération a déclenché un événement et effectue une action différente en fonction des opérations de mise à jour et d’insertion.

    if(current.operation() == "update") {
      current.updates ++; } 
    if(current.operation() == "insert") {
      current.updates = 0; }

    GlideRecord dans le champ d’application : orderBy(nom de la chaîne)

    Spécifie une colonne orderBy.

    Appelez cette méthode plusieurs fois pour la classer par plusieurs colonnes. Les résultats sont classés par ordre croissant. Pour organiser les enregistrements par ordre décroissant, reportez-vous à la section GlideRecord dans le champ d’application : orderByDesc(nom de la chaîne).

    Remarque :
    Pour appliquer l’accès aux requêtes en fonction de l’utilisateur, utilisez addUserOrderBy().
    Tableau 112. Paramètres
    Nom Type Description
    nom Chaîne Nom de colonne à utiliser pour ordonner les enregistrements dans cet objet GlideRecord.
    Tableau 113. Renvoie
    Type Description
    nul

    L’exemple suivant montre comment trier les enregistrements d’incidents par ordre croissant par description brève.

    var queryString = "priority=2";
    var now_GR = new GlideRecord('incident');
    now_GR.orderBy('short_description'); // Ascending Order
    now_GR.addEncodedQuery(queryString);
    now_GR.query();
    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

    Sortie :

    Can't launch 64-bit Windows 7 virtual machine
    Can't log into SAP from my laptop today
    Network storage unavailable
    Please remove the latest hotfix from my PC

    GlideRecord dans le champ d’application : orderByDesc(nom de la chaîne)

    Spécifie une colonne orderBy décroissante.

    Appelez cette méthode plusieurs fois pour la classer par plusieurs colonnes. Les résultats sont classés par ordre décroissant. Pour organiser les enregistrements par ordre croissant, reportez-vous à la section GlideRecord dans le champ d’application : orderBy(nom de la chaîne).

    Remarque :
    Pour appliquer l’accès aux requêtes en fonction de l’utilisateur, utilisez addUserOrderByDesc().
    Tableau 114. Paramètres
    Nom Type Description
    nom Chaîne Nom de colonne à utiliser pour ordonner les enregistrements dans un objet GlideRecord.
    Tableau 115. Renvoie
    Type Description
    nul

    L’exemple suivant montre comment trier les enregistrements d’incidents par ordre décroissant par description brève.

    var queryString = "priority=2";
    var now_GR = new GlideRecord('incident');
    now_GR.orderByDesc('short_description'); //Descending Order
    now_GR.addEncodedQuery(queryString);
    now_GR.query();
    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

    Sortie :

    Please remove the latest hotfix from my PC
    Network storage unavailable
    Can't log into SAP from my laptop today
    Can't launch 64-bit Windows 7 virtual machine

    GlideRecord dans le champ d’application : query(champ de chaîne, valeur de chaîne)

    Exécute une requête sur la table en fonction des filtres spécifiés dans les méthodes de requête telles que addQuery() et addEncodedQuery().

    Cette méthode interroge la table GlideRecord ainsi que toutes les références de la table. Pour plus d’informations, consultez Interrogation de tables dans un script.

    Remarque :
    Cette méthode échoue s’il existe un champ dans la table appelé « requête ». Si c’est le cas, utilisez plutôt la méthode _query().

    Consultez l’article GlideRecord pour plus de détails sur la création et l’exécution de requêtes.

    Tableau 116. Paramètres
    Nom Type Description
    nom Chaîne Facultatif : doit également spécifier un paramètre de valeur. Nom du champ dans lequel rechercher la valeur spécifiée dans le paramètre de valeur.
    Remarque :
    Cette méthode est généralement exécutée sans arguments, mais vous pouvez spécifier une paire nom-valeur pour filtrer les enregistrements contenant les valeurs spécifiées. Si les paramètres sont spécifiés, la condition « nom=valeur » est ajoutée à la requête.
    valide Chaîne Facultatif : doit également spécifier un paramètre de champ. Valeur à rechercher dans le paramètre de champ spécifié.
    Tableau 117. Renvoie
    Type Description
    nul

    L’exemple suivant montre comment analyser le dictionnaire système [sys_dictionary] pour les tables comportant un champ de requête.

    var tableArr = [];
    
    var now_GR = new GlideRecord('sys_dictionary');
    now_GR.addQuery('element', 'query');
    now_GR.setLimit(6);
    
    now_GR.query();
    
    while(now_GR.next()){
       tableArr.push(now_GR.name.getValue());
    };
    
    gs.info('The following tables have a field column called "query":');
    
    for (i = 0; i < tableArr.length; i++) {
       gs.info(tableArr[i]);
    };

    Sortie :

    The following tables have a field column called "query":
    cmdb_convert_bulk_services
    cmdb_multisource_query_status
    cmdb_qb_result_base
    cmdb_qb_table_mapping
    discovery_probes_cim_query
    kb_feedback

    GlideRecord dans le champ d’application : _query(champ de chaîne, valeur de chaîne)

    Exécute une requête sur la table en fonction des filtres spécifiés dans les méthodes de requête telles que addQuery() et addEncodedQuery(). Cette méthode est destinée à être utilisée sur les tables dans lesquelles il y a une colonne nommée « query », ce qui peut entraîner des erreurs lors de l’exécution de la méthode query().

    Cette méthode interroge la table GlideRecord ainsi que toutes les références de la table. Pour plus d’informations, consultez Interrogation de tables dans un script.

    Consultez l’article GlideRecord pour plus de détails sur la création et l’exécution de requêtes.

    Tableau 118. Paramètres
    Nom Type Description
    nom Chaîne Facultatif : doit également spécifier un paramètre de valeur. Nom du champ dans lequel rechercher la valeur spécifiée dans le paramètre de valeur.
    Remarque :
    Cette méthode est généralement exécutée sans arguments, mais vous pouvez spécifier une paire nom-valeur pour filtrer les enregistrements contenant les valeurs spécifiées. Si les paramètres sont spécifiés, la condition « nom=valeur » est ajoutée à la requête.
    valide Chaîne Facultatif : doit également spécifier un paramètre de champ. Valeur à rechercher dans le paramètre de champ spécifié.
    Tableau 119. Renvoie
    Type Description
    nul

    L’exemple suivant montre comment interroger la table Commentaires de la base de connaissances [kb_feedback] et répertorier les articles de la base de connaissances avec des commentaires incluant Excel.

    var rec = new GlideRecord('kb_feedback');
    rec.addQuery('comments', 'CONTAINS', 'Excel');
    rec._query();
    while (rec.next()) { 
     gs.info(rec.getDisplayValue('article') + " comment: " + rec.getValue('comments'));
    }

    Sortie :

    KB0000005 comment: 
    	     Can you please add the version of Excel this applies to? All?
    		
    KB0000005 comment: 
    	     Does this work for all Excel versions? OSX and Windows alike?

    GlideRecord dans le champ d’application : setAbortAction(booléen b)

    Définit un marqueur pour indiquer si la prochaine action de base de données (insérer, mettre à jour, supprimer) doit être abandonnée. Ceci est souvent utilisé dans les règles métier.

    Utilisez une règle métier onBefore pour empêcher l’action de base de données. La règle métier continue de s’exécuter après l’appel de setAbortAction(). L’appel de setAbortAction() n’empêche pas les règles métier suivantes de s’exécuter. L’appel de cette méthode empêche uniquement l’action de base de données de se produire.

    Tableau 120. Paramètres
    Nom Type Description
    b Booléen Vrai pour abandonner l’action suivante. Faux si l’action doit être autorisée.
    Tableau 121. Renvoie
    Type Description
    nul
    // Often used in business rule to check whether the current operation should be aborted.
    if (current.size > 16) {
      current.setAbortAction(true);
    }

    GlideRecord dans le champ d’application : setLimit(Number, maxNumRecords)

    Définit la limite du nombre d’enregistrements récupérés par la requête GlideRecord.

    Utilisation de setLimit() avec chooseWindow()
    La méthode setLimit() appelle implicitement la méthode chooseWindow() et peut entraîner des résultats inattendus lorsqu’elle est utilisée avec chooseWindow() dans une requête.
    • Si la méthode chooseWindow() est appelée en premier, sa fenêtre d’enregistrement est écrasée par la méthode setLimit( ).
      L’utilisation des lignes suivantes dans une requête renvoie 100 enregistrements commençant à la ligne 1 :
      grIncident.chooseWindow(20,30);
      grIncident.setLimit(100);
    • Si la méthode setLimit() est appelée en premier, la fenêtre définie par chooseWindow() est utilisée et la limite est écrasée.
      L’utilisation des lignes suivantes dans une requête renvoie 10 enregistrements commençant à la ligne 21 :
      grIncident.setLimit(5);
      grIncident.chooseWindow(20,30);
      Remarque :
      L’exécution de query() avec la méthode chooseWindow() déclenche une requête COUNT(*), ce qui peut entraîner des performances lentes sur les tables avec un grand nombre d’enregistrements. Vous pouvez utiliser setLimit() avant chooseWindow() pour ignorer l’exécution de la requête COUNT(*), mais le même avantage en termes de performances est réalisable en utilisant setNoCount().
    Voir aussi :
    Tableau 122. Paramètres
    Nom Type Description
    maxNumRecords Numéro Nombre maximal d’enregistrements à extraire.
    Tableau 123. Renvoie
    Type Description
    nul
    var now_GR = new GlideRecord('incident');
    now_GR.orderByDesc('sys_created_on');
    now_GR.setLimit(10);
    now_GR.query(); // this retrieves latest 10 incident records created

    GlideRecord dans le champ d’application : setNewGuidValue(GUID de chaîne)

    Définit la valeur sys_id pour l’enregistrement actuel.

    Tableau 124. Paramètres
    Nom Type Description
    GUID Chaîne GUID à affecter à l’enregistrement actuel.
    Tableau 125. Renvoie
    Type Description
    nul
    var now_GR = new GlideRecord('incident');
    now_GR.setValue('short_description', 'The third floor printer is broken');
    now_GR.setNewGuidValue('eb4636ca6f6d31005be8883e6b3ee333');
    now_GR.insert();
    gs.info(now_GR.getValue('sys_id'));

    GlideRecord inclus dans le champ d’application : setNoCount()

    Empêche une requête GlideRecord d’exécuter une requête COUNT(*).

    L’exécution de query() avec certaines méthodes déclenche une requête COUNT(*), telle que les méthodes chooseWindow() et getRowCount(). La requête COUNT(*) peut entraîner une lenteur des performances sur les tables d’un million d’enregistrements ou plus. Pour plus d’informations, consultez l’article Amélioration des performances - Supprimer le nombre de paginations [KB0817996] dans la base de connaissances Now Support.
    Remarque :
    La méthode setLimit() arrête également un COUNT(*). L’utilisation de setNoCount() n’est pas nécessaire si la méthode setLimit() est incluse dans la requête.
    Tableau 126. Paramètres
    Nom Type Description
    Néant
    Tableau 127. Renvoie
    Type Description
    nul

    L’exemple de code suivant montre comment utiliser setNoCount() pour ignorer la requête COUNT(*) sur un jeu de requêtes fenêtré à l’aide de la méthode chooseWindow( ).

    var  grIncident = new GlideRecord('incident');
    
    grIncident.chooseWindow(6915, 6920, true);
    grIncident.setNoCount();
    grIncident.query();
    
    while (grIncident.next()) { // Iterate through the returned records
        gs.info('Incident Number: ' + grIncident.number + ', Short Description: ' + grIncident.short_description);
    };

    Sortie :

    Incident Number: INC0006811, Short Description: Request an account to be created for Fidelity 401(k) Plans
    Incident Number: INC0006918, Short Description: Please grant me additional roles in Oracle Fin Collections
    Incident Number: INC0006812, Short Description: Taxware Value-added Tax crashes when I try to launch it
    Incident Number: INC0006919, Short Description: Unable to Access SuccessFactors Learning
    Incident Number: INC0010004, Short Description: Incident for assessment not generating

    GlideRecord dans le champ d’application : setValue (nom de chaîne, valeur d’objet)

    Définit la valeur du champ avec le nom spécifié sur la valeur spécifiée.

    Normalement, le script fait une now_GR.catégorie = valeur. Toutefois, si le nom de l’élément est lui-même une variable, vous pouvez utiliser now_GR.setValue(elementName, value). Lors de la définition d’une valeur, assurez-vous que le type de données du champ correspond au type de données de la valeur que vous entrez.

    Remarque :
    Si le module d’extension Chiffrement de champ Enterprise est activé et que l’instance a accès à la clé, cette méthode peut insérer des données chiffrées dans des champs chiffrés. Si l’instance n’a pas accès à la clé, cette méthode renvoie une erreur. Pour plus d’informations, consultez Chiffrement de la plateforme.
    Pas pour l’authentification avec les champs password2
    La méthode setValue() transmet les données password2 sous forme de texte clair, ce qui entraîne une erreur concernant l’attente de données chiffrées. De plus, l’utilisation de la méthode setValue() pour les champs password2 expose des données qui doivent être chiffrées.

    Pour l’authentification password2, utilisez plutôt la méthode setDisplayValue().

    Tableau 128. Paramètres
    Nom Type Description
    nom Chaîne Nom du champ.
    valide Objet Valeur à affecter au champ.
    Tableau 129. Renvoie
    Type Description
    Néant
    var elementName = 'short_description'; 
    var now_GR = new GlideRecord('incident'); 
    now_GR.initialize(); 
    now_GR.setValue(elementName, "My DB is not working");
    now_GR.insert();

    GlideRecord dans le champ d’application : setWorkflow(booléen activé)

    Active ou désactive l’exécution de règles métier, de moteurs de script ou d’audits.

    Remarque :
    La méthode setWorkflow() est ignorée lors de l’utilisation ultérieure des méthodes deleteProblem() ou deleteMultiple() pour supprimer en cascade.
    Avertissement :
    La désactivation de l’exécution des règles métier, des moteurs de script et de l’audit peut avoir un impact significatif sur votre ServiceNow® instance et son fonctionnement. Assurez-vous de tester soigneusement ce changement avant de le déployer en production.
    Remarque :
    Cette méthode ne peut pas être définie pour les applications multi-périmètres. Pour plus d’informations, consultez l’article https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0820691 de la base de connaissances suivant.
    Tableau 130. Paramètres
    Nom Type Description
    activer Booléen Marqueur indiquant s’il faut activer ou désactiver l’exécution des règles métier, des moteurs de script et de l’audit.
    Valeurs valides :
    • vrai : active l’exécution de règles métier, de moteurs de script ou d’audits.
    • faux : désactive l’exécution de règles métier, de moteurs de script ou d’audits.

    Par défaut : true

    Tableau 131. Renvoie
    Type Description
    Néant
    //Enable business rules, scripts engines for x_app_table
    var now_GR = new GlideRecord("x_app_table"); 
    now_GR.setWorkflow(true);

    GlideRecord dans le champ d’application : update(motif de chaîne)

    Met à jour le GlideRecord avec tous les changements qui ont été apportés. Si l’enregistrement n’existe pas déjà, il est inséré.

    Tableau 132. Paramètres
    Nom Type Description
    motif Chaîne Facultatif. Motif de la mise à jour. Le motif apparaît dans l’enregistrement d’audit.
    Tableau 133. Renvoie
    Type Description
    Chaîne Sys_id de l’enregistrement nouveau ou mis à jour. Renvoie null si la mise à jour échoue.

    L’exemple suivant montre comment mettre à jour le champ Description brève d’un incident.

    var now_GR = new GlideRecord('incident');
    now_GR.get('99ebb4156fa831005be8883e6b3ee4b9');
    now_GR.setValue('short_description', 'Update the short description');
    now_GR.update();
    gs.info(now_GR.getElement('short_description'));

    Sortie :

    Update the short description.

    GlideRecord inclus dans le champ d’application : updateMultiple()

    Met à jour chaque GlideRecord dans une requête indiquée avec un ensemble spécifié de changements.

    Cette méthode ne prend pas en charge l’ajout de plusieurs écritures de journal.

    La glide.db.forced.chunk.threshold propriété système définit le seuil au-dessus duquel force la suppression et la mise à jour d’enregistrements de blocs. Le découpage permet d’éviter que les suppressions de clés non primaires sur des tables volumineuses ne provoquent des problèmes de réplication. Pour plus d'informations, consultez Available system properties.

    Remarque :
    Pour garantir les résultats attendus, utilisez la méthode setValue() au lieu d’affectations directes. En d’autres termes, utilisez gr_Now.setValue('<field_name>', '4')) ; au lieu de gr_Now,<field_name> = 4.
    Remarque :
    N’utilisez pas cette méthode avec les méthodes chooseWindow() ou setLimit() lorsque vous travaillez avec des tables volumineuses.

    Cette méthode définit de nouvelles valeurs et n’efface pas les valeurs existantes. Pour effacer une valeur existante, utilisez la méthode setValue() et définissez le champ sur « NULL ». Pour plus d'informations, consultez Définition d’une variable GlideRecord sur « NULL ».

    Tableau 134. Paramètres
    Nom Type Description
    Néant
    Tableau 135. Renvoie
    Type Description
    Néant

    Cet exemple montre comment mettre à jour l’état de tous les incidents actifs sur 4 : « En attente d’infos utilisateur ».

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('active', true);
    now_GR.setValue('state',  4);
    now_GR.updateMultiple();
    Cet exemple montre comment effacer les valeurs existantes du champ Description pour les incidents de priorité 1.
    var test = new GlideRecord('incident');
    test.addEncodedQuery('priority=1');
    test.query();
     
    test.setValue('description','NULL');
    test.updateMultiple();

    GlideRecord dans le champ d’application : updateWithReferences(motif de l’objet)

    Met à jour un enregistrement et insère ou met à jour tout enregistrement connexe avec les informations fournies.

    Tableau 136. Paramètres
    Nom Type Description
    motif Objet Motif des mises à jour. Le motif est affiché dans l’enregistrement d’audit.
    Tableau 137. Renvoie
    Type Description
    Chaîne La sys_id de l’enregistrement en cours de mise à jour.

    Dans le cas du traitement d’un incident où l’ID de l’appelant est défini pour référencer sys_user enregistrement « Jean Dupont », le code suivant met à jour l’enregistrement utilisateur de Jean Dupont. Si vous traitez un incident pour lequel aucun ID d’appelant n’est spécifié, le code suivant crée un nouvel enregistrement de sys_user avec les informations fournies (first_name, last_name) et définit la valeur de l’ID de l’appelant sur l’enregistrement de sys_user nouvellement créé.

    var inc = new GlideRecord('incident');
    inc.get(inc_sys_id);  // Looking up an existing incident record where 'inc_sys_id' represents the sys_id of a incident record
    inc.caller_id.first_name = 'John';
    inc.caller_id.last_name = 'Doe';
    inc.updateWithReferences();
    }