GlideElement : délimité

L’API GlideElement incluse dans le champ d’application fournit un certain nombre de méthodes de script pratiques pour gérer les champs et leurs valeurs. Les méthodes GlideElement incluses dans le champ d’application sont disponibles pour les champs de l’enregistrement Glide actuel.

GlideElement dans le champ d’application : canCreate()

Détermine si le rôle de l’utilisateur autorise la création de nouvelles entrées dans le champ associé.

Tableau 1. Paramètres
Nom Type Description
Néant
Tableau 2. Renvoie
Type Description
Booléen Marqueur indiquant si l’utilisateur actuel a les autorisations nécessaires pour créer de nouvelles entrées dans le champ associé.
Valeurs possibles :
  • vrai : l’utilisateur peut créer de nouvelles entrées.
  • faux : l’utilisateur ne peut pas créer de nouvelles entrées.

L’exemple suivant montre comment déterminer si l’utilisateur dispose des autorisations nécessaires pour créer des entrées pour les trois enregistrements les plus récents de la table Problème [problem].

var gr = new GlideRecord('problem');

// Get records in new state in Problem Table
gr.addQuery('state','101');

// Sort records in order of recent to earlier Created Date
gr.orderByDesc('sys_created_on');

// Limit the query to three records
gr.setLimit(3); 
gr.query();

while(gr.next()){
  if(gr.short_description.canCreate()){ ///check to see if the current user is allowed to create the record
  gs.info("I can create new records for the field Problem statement for - " + gr.number);
  }
}

Sortie :

I can create new records for the field Problem statement for - PRB0000004
I can create new records for the field Problem statement for - PRB0001000
I can create new records for the field Problem statement for - PRB0001001

Équivalent dans le champ d’application

Pour utiliser la méthode canCreate() dans une application incluse dans le champ d’application, utilisez la méthode correspondante : canCreate().

GlideElement dans le champ d’application : canRead()

Indique si le rôle de l’utilisateur lui permet de lire le GlideRecord associé.

Tableau 3. Paramètres
Nom Type Description
Néant
Tableau 4. Renvoie
Type Description
Booléen Vrai si le champ est lisible, faux dans les autres cas.

L’exemple suivant montre comment obtenir une liste des enregistrements d’incidents actifs avec un champ Description brève lisible.

var grIncident = new GlideRecord('incident');
grIncident.addEncodedQuery("active=true"); //Query the Incident table for active incidents
grIncident.orderByDesc('number');
grIncident.setLimit(3); // limit to three results for example
grIncident.query();

while (grIncident.next()) {
    if (grIncident.short_description.canRead()) { //check to see if the current user is allowed to read the record
        gs.info('You have permission to read the short description of: ' + grIncident.number + ' ' + grIncident.short_description);
    }
}

Sortie :

*** Script: You have permission to read the short description of: INC0009009 Unable to access the shared folder.
*** Script: You have permission to read the short description of: INC0009005 Email server is down.
*** Script: You have permission to read the short description of: INC0009001 Unable to post content on a Wiki page

GlideElement dans le champ d’application : canWrite()

Détermine si le rôle de l’utilisateur lui permet d’écrire dans le GlideRecord associé.

Tableau 5. Paramètres
Nom Type Description
Néant
Tableau 6. Renvoie
Type Description
Booléen Vrai si l’utilisateur sait écrire dans le champ, faux dans les autres cas.

L’exemple suivant montre comment obtenir une liste d’enregistrements d’incidents actifs avec un champ Description brève accessible en écriture.

var grIncident = new GlideRecord('incident');
grIncident.addEncodedQuery("active=true"); //Query the Incident table for active incidents
grIncident.orderByDesc('number');
grIncident.setLimit(3); // limit to three results for example
grIncident.query();

while (grIncident.next()) {
    if (grIncident.short_description.canWrite()) { //check to see if the current user is allowed to write to the record
        gs.info('You have permission to write to the short description of: ' + grIncident.number + ' ' + grIncident.short_description);
    }
}

Sortie :

*** Script: You have permission to write to the short description of: INC0009009 Unable to access the shared folder.
*** Script: You have permission to write to the short description of: INC0009005 Email server is down.
*** Script: You have permission to write to the short description of: INC0009001 Unable to post content on a Wiki page

GlideElement dans le champ d’application : changes()

Détermine si le champ actuel a été modifié. Cette fonctionnalité est disponible pour tous les types de données disponibles, à l’exception des champs journal.

Remarque :
La méthode changes() n’est pas prise en charge dans les scripts ACL.
Remarque :
Si le GlideRecord sur lequel vous effectuez cette méthode a seulement été initialisé et lu, et n’a pas été écrit, les valeurs avant et après sous-jacentes sont identiques. Dans ce cas, la méthode renvoie la valeur « false », car aucune modification n’a été apportée au magasin de données.
Exécution de la règle métier
Invoque ServiceNow AI Platform les règles métier (BEFORE ou AFTER) avant de réinitialiser les valeurs internes précédentes pour les colonnes (objets GlideElement ) aux valeurs actuelles.
Cette séquence active les actions suivantes :
  • Déclenchement d’une AFTER règle métier sur les conditions <column>.changes.
  • Accès à l’objet GlideRecord précédent dans la section Script.
Même dans les AFTER règles métier, current.<field>.changes() renvoie la valeur true , car les valeurs internes précédentes n’ont pas encore été réinitialisées. La condition current.<field>.value != previous.<field>.value renvoie également la valeur true.
Les valeurs précédentes ne sont réinitialisées qu’après les activités suivantes :
  • La mise à jour de la base de données est terminée.
  • Toutes les AFTER règles métier ont été traitées.

À l’intérieur d’une règle métier AFTER, la méthode changes() renvoie toujours la valeur true si la valeur du champ a été modifiée, même si la règle s’exécute après la mise à jour.

Tableau 7. Paramètres
Nom Type Description
Néant
Tableau 8. Renvoie
Type Description
Booléen Vrai si les champs ont été modifiés, faux si le champ ne l’a pas été.

L’exemple suivant, tiré d’une règle métier, montre comment créer un événement dans EventQueue si la valeur du champ assigned_to change. Pour un exemple complet, reportez-vous à .Sample scripts from the change events business rule

if (!current.assigned_to.nil() && current.assigned_to.changes()) {
  gs.eventQueue('incident.assigned', current, current.assigned_to.getDisplayValue(), previous.assigned_to.getDisplayValue());
}

GlideElement dans le champ d’application : changesFrom(objet o)

Détermine si la valeur précédente du champ actuel correspond à l’objet indiqué.

Remarque :
Si le GlideRecord sur lequel vous effectuez cette méthode a seulement été initialisé et lu, et n’a pas été écrit, les valeurs avant et après sous-jacentes sont identiques. Dans ce cas, la méthode renvoie la valeur « false », car aucune modification n’a été apportée au magasin de données.
Tableau 9. Paramètres
Nom Type Description
o Objet Valeur d’objet à vérifier par rapport à la valeur précédente du champ actuel.
Tableau 10. Renvoie
Type Description
Booléen Vrai si la valeur précédente correspond, faux dans le cas contraire.
// The following example shows that in a business rule, if "active" field is changed from true, 
// insert a event in the EventQueue.
if (current.active.changesFrom(true)) {
  gs.eventQueue("incident.inactive", current, current.incident_state, previous.incident_state);
}

GlideElement dans le champ d’application : changesTo(Objet o)

Détermine si la nouvelle valeur d’un champ, après un changement, correspond à l’objet indiqué.

Remarque :
La méthode changesTo() n’est pas prise en charge dans les scripts ACL.
Remarque :
Si le GlideRecord sur lequel vous effectuez cette méthode a seulement été initialisé et lu, et n’a pas été écrit, les valeurs avant et après sous-jacentes sont identiques. Dans ce cas, la méthode renvoie la valeur « false », car aucune modification n’a été apportée au magasin de données.
Tableau 11. Paramètres
Nom Type Description
o Objet Valeur d’objet à vérifier par rapport à la nouvelle valeur du champ actuel.
Tableau 12. Renvoie
Type Description
Booléen Vrai si la valeur précédente correspond, faux dans le cas contraire.
// The following example shows that in a business rule, if "active" field is changed to false, 
// insert a event in the EventQueue.
if (current.active.changesTo(false)) {
  gs.eventQueue("incident.inactive", current, current.incident_state, previous.incident_state);
}

GlideElement dans le champ d’application : dateNumericValue()

Renvoie le nombre de millisecondes depuis le 1er janvier 1970 à 00:00:00 GMT pour un champ de durée. Ne nécessite pas la création d’un objet GlideDateTime, car le champ de durée est déjà un objet GlideDateTime.

Tableau 13. Paramètres
Nom Type Description
Néant
Tableau 14. Renvoie
Type Description
Numéro Nombre de millisecondes depuis le 1er janvier 1970 à 00:00:00 GMT.
var inc = new GlideRecord('incident');
inc.get('17c90efb13418700cc36b1422244b05d');
gs.info(inc.calendar_duration.dateNumericValue());

Sortie :

98000

GlideElement dans le champ d’application : getAttribute(String attributeName)

Renvoie la valeur de l’attribut spécifié à partir du dictionnaire.

Pour les attributs booléens, vous pouvez utiliser la méthode getBooleanAttribute() pour renvoyer la valeur sous forme de booléen au lieu d’une chaîne.

Tableau 15. Paramètres
Nom Type Description
attributeName Chaîne Nom de l’attribut. Le nom de l’attribut est répertorié dans la table Entrées du dictionnaire [sys_dictionary].
Tableau 16. Renvoie
Type Description
Chaîne Valeur de l’attribut spécifié.

L’exemple suivant montre comment obtenir la valeur de l’attribut tree_picker dans la colonne de la location table User [sys_user] en tant que chaîne.

var now_GR = new GlideRecord('sys_user');
now_GR.query("user_name","admin");

if (now_GR.next()) {
   gs.info("The value of the tree_picker attribute in the location column is " + now_GR.location.getAttribute("tree_picker"));
}

Sortie :

The value of the tree_picker attribute in the location column is true

GlideElement dans le champ d’application : getBooleanAttribute(String attributeName)

Renvoie un attribut de type booléen spécifié du dictionnaire comme valeur booléenne.

Pour retourner la valeur de l’attribut sous forme de chaîne, utilisez la méthode getAttribute( ).

Tableau 17. Paramètres
Nom Type Description
attributeName Chaîne Nom de l’attribut. Le nom de l’attribut est répertorié dans la table Entrées du dictionnaire [sys_dictionary].
Tableau 18. Renvoie
Type Description
Booléen Spécifie la valeur de l’attribut sous forme de valeur booléenne vrai ou faux.

L’exemple suivant montre comment obtenir des valeurs booléennes de l’attribut ignore_filter_on_new pour deux champs.

var inc = new GlideRecord('incident');
inc.query();

if (inc.next())
 {
   // opened_by field has attribute "ignore_filter_on_new = true"
   gs.info(inc.opened_by.getBooleanAttribute("ignore_filter_on_new"));

  // short_description field does not have attribute ignore_filter_on_new
   gs.info(inc.short_description.getBooleanAttribute("ignore_filter_on_new"));
 }

Sortie :

true
false

GlideElement dans le champ d’application : getChoices(String dependent)

Renvoie la liste de choix pour un champ spécifié.

Le champ pour lequel renvoyer la liste de choix est spécifié dans l’appel de méthode. Par exemple : var choices = glideRecord.urgency.getChoices() ;. Pour plus d’informations sur les types de champs de liste de choix et leurs options associées, voir Type de champ de liste de choix.

Tableau 19. Paramètres
Nom Type Description
Dépendant de Chaîne Facultatif. Champ de l’enregistrement associé dont le champ de liste de choix dépend.
Tableau 20. Renvoie
Type Description
Tableau Liste des valeurs possibles pour la liste de choix, qui sont les valeurs de la table Choice (Choix) [sys_choice]. Si le dependent paramètre est transmis, les résultats renvoyés reflètent uniquement les choix disponibles pour le champ dépendant spécifié.
var glideRecord = new GlideRecord('incident'); 
glideRecord.query('priority','1'); 
glideRecord.next(); 
 
// urgency has choice list: 1 - High, 2 - Medium, 3 - Low, with value: 1, 2, 3
var choices = glideRecord.urgency.getChoices();

GlideElement dans le champ d’application : getChoiceValue()

Renvoie l’étiquette de choix pour le choix actuel.

Un choix a une valeur (nombre) et une étiquette (chaîne). Cette méthode renvoie l’étiquette.

Tableau 21. Paramètres
Nom Type Description
Néant
Tableau 22. Renvoie
Type Description
Chaîne Étiquette du choix sélectionné.
var glideRecord = new GlideRecord('incident'); 
glideRecord.query('priority','1'); 
glideRecord.next(); 
 
// urgency has choice list: 1 - High, 2 - Medium, 3 - Low, with value: 1, 2, 3
var choiceLabel = glideRecord.urgency.getChoiceValue(); 
gs.info(choiceLabel);

Sortie :

1 - High

GlideElement dans le champ d’application : getDecryptedValue()

Renvoie la valeur en texte clair pour les champs de mot de passe (chiffré dans 2 sens) dans les applications incluses dans le périmètre.

Tableau 23. Paramètres
Nom Type Description
Néant
Tableau 24. Renvoie
Type Description
Chaîne Mot de passe en texte clair.
var tablename = 'x_scoped_app_table'
var CI = new GlideRecord(tablename);  
CI.addQuery('number', '0001002'); 
CI.query(); 
CI.next(); 

var password = CI.password_field
var decrypted = password.getDecryptedValue(); 
gs.info(decrypted);
Sortie :
x_scoped_app: cleartextpassword

GlideElement dans le champ d’application : getDisplayValue(Number maxCharacters)

Renvoie la valeur d’affichage formaté d’un champ spécifié à partir d’un objet GlideRecord associé.

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é.

Pour plus d’informations sur les valeurs d’affichage, voir Valeurs d’affichage.

Tableau 25. Paramètres
Nom Type Description
maxCharacters Numéro Facultatif. Nombre maximal de caractères désirés.

Par défaut : Tous

Tableau 26. Renvoie
Type Description
Chaîne Valeur d’affichage du champ spécifié.

L’exemple suivant montre comment récupérer la valeur d’affichage du champ de priorité dans un enregistrement d’incident.

var glideRecord = new GlideRecord('incident');
glideRecord.query('priority','1');
glideRecord.next();
gs.info(glideRecord.priority.getDisplayValue());

Sortie :

1 - Critical

L’exemple suivant montre comment récupérer à la fois la valeur d’affichage et la valeur interne des champs spécifiés dans la base de données d’incidents.

var now_GR = new GlideRecord('incident');
now_GR.get('9c573169c611228700193229fff72400'); //INC0000001
gs.info('Display Values:');
gs.info('Opened at ' + now_GR.opened_at.getDisplayValue());
gs.info('Opened by ' + now_GR.opened_by.getDisplayValue());
gs.info('Priority ' + now_GR.priority.getDisplayValue());
gs.info('Values:');
gs.info('Opened at ' + now_GR.opened_at.getValue());
gs.info('Opened by ' + now_GR.opened_by.getValue());
gs.info('Priority ' + now_GR.priority.getValue());

Sortie :

Display Values:
Opened at 2022-02-01 15:09:51
Opened by Joe Employee
Priority 1 - Critical
Values:
Opened at 2022-02-01 23:09:51
Opened by 681ccaf9c0a8016400b98a06818d57c7
Priority 1

GlideElement dans le champ d’application : getDisplayValueLang(String language)

Obtient la valeur d’affichage du champ dans la langue transmise en paramètre.

Le résultat ne s’applique qu’aux types de champs traduisibles tels que Choix, Champ traduit et Texte traduit. Pour les autres types de champs, le résultat par défaut est getDisplayValue().

Vous devez disposer du module d’extension de la langue correspondante pour récupérer une valeur traduite. (pour en savoir plus, consultez Activate a language) ;

Voir aussi GlideElement dans le champ d’application : getLabelLang(String language).

Tableau 27. Paramètres
Nom Type Description
language Chaîne Balise de langue conforme à la norme IETF BCP-47.
Tableau 28. Renvoie
Type Description
Chaîne Valeur d’affichage du champ dans la langue transmise. Si aucune traduction n’est disponible, la méthode récupère une valeur traduite dans la langue de l’utilisateur actuel. Si aucune traduction n’est disponible, le résultat est en anglais par défaut.

L’exemple suivant montre comment obtenir le texte d’origine et le texte traduit en allemand à partir du champ de titre Accepter (vue de l’interface utilisateur).

var uiView = new GlideRecord("sys_ui_view");
uiView.get("fa776f6d97700100f309124eda2975bc");

gs.info("getDisplayValue: " + uiView.getElement("title").getDisplayValue());
gs.info("getDisplayValueLang: " + uiView.getElement("title").getDisplayValueLang("de"));

Sortie :

getDisplayValue: Accept
getDisplayValueLang: Akzeptieren

GlideElement dans le champ d’application : getED()

Renvoie le descripteur d’élément du champ.

Tableau 29. Paramètres
Nom Type Description
Néant
Tableau 30. Renvoie
Type Description
GlideElementDescriptor Descripteur d’élément du champ.
var grInc = new GlideRecord('incident');
grInc.query('priority', '1');
 
var field = grInc.getElement('priority');
var ed = field.getED();

GlideElement dans le champ d’application : getGlideObject()

Récupère l’objet de plateforme associé à la valeur du champ.

Tableau 31. Paramètres
Nom Type Description
Néant
Tableau 32. Renvoie
Type Description
Objet Objet de plateforme correspondant au type de données du champ, tel que GlideDateTime. Vous pouvez utiliser cet objet pour des opérations spécifiques au type sur la valeur. Par exemple, l’arithmétique de la date, le formatage et les conversions de fuseau horaire qui ne sont pas disponibles lors de l’accès à la valeur du champ en tant que chaîne brute.

L’exemple suivant montre comment calculer la durée entre la date d’ouverture et la date d’échéance de l’accord sur les niveaux de service (SLA) d’un enregistrement d’incident.

// Query an incident record with both opened_at and sla_due populated
var incGr = new GlideRecord('incident');
incGr.addQuery('opened_at', '!=', '');
incGr.addQuery('sla_due', '!=', '');
incGr.setLimit(1);
incGr.query();

if (incGr.next()) {
    gs.info("Incident: " + incGr.getValue('number'));
    gs.info("Opened at: " + incGr.getValue('opened_at'));
    gs.info("SLA due: " + incGr.getValue('sla_due'));

    var duration = calcDateDelta(incGr.opened_at, incGr.sla_due);
    if (duration) {
        gs.info("Duration in seconds: " + duration.getNumericValue() / 1000);
        gs.info("Duration display value: " + duration.getDisplayValue());
    }
}

function calcDateDelta(start, end) {
    var realStart = start.getGlideObject();
    var realEnd = end.getGlideObject();

    // Use GlideDuration to calculate the difference between two GlideDateTime objects
    var startMS = realStart.getNumericValue();
    var endMS = realEnd.getNumericValue();
    var deltaMS = endMS - startMS;

    // Create a GlideDuration from the millisecond difference
    var duration = new GlideDuration(deltaMS);
    return duration;
}

Sortie :

Incident: INC0000031
Opened at: 2025-03-06 00:18:03
SLA due: 2025-03-06 08:18:03
Duration in seconds: 28800
Duration display value: 8 Hours

GlideElement dans le champ d’application : getGlobalDisplayValue()

Renvoie le numéro de téléphone au format international.

Tableau 33. Paramètres
Nom Type Description
Néant
Tableau 34. Renvoie
Type Description
Chaîne Numéro de téléphone au format international.

L’exemple suivant montre comment obtenir le numéro de téléphone d’un emplacement de visite. Cet exemple nécessite le module d’extension Expérience de visite .

// Passing walkup location name and closed phone number in parameters
setWalkupLocPhone('Santa Clara Tech Lounge','phone_number');

function setWalkupLocPhone(locName, field) {
  var walkupLoc = new GlideRecord('wu_location_queue');
  walkupLoc.addQuery('name',locName);
  walkupLoc.query();
  walkupLoc.next();

  // Returns the phone number of walk-up location queue in international format
  gs.info(walkupLoc[field].getGlobalDisplayValue());
}

Sortie :

+91 98124 56789

GlideElement dans le champ d’application : getHTMLValue(Number maxChars)

Renvoie la valeur HTML d’un champ.

Tableau 35. Paramètres
Nom Type Description
maxChars Numéro Facultatif. Nombre maximum de caractères à renvoyer.
Tableau 36. Renvoie
Type Description
Chaîne Valeur HTML pour le champ.
var inccause = new GlideRecord("incident");
inccause.short_description = current.short_description;
inccause.comments = current.comments.getHTMLValue();
inccause.insert();

GlideElement dans le champ d’application : getJournalEntry(Number mostRecent)

Renvoie soit l’écriture de journal la plus récente, soit toutes les écritures de journal.

Tableau 37. Paramètres
Nom Type Description
le plus récent Numéro Si 1, renvoie l’entrée la plus récente. Si -1, renvoie toutes les écritures de journal.
Tableau 38. Renvoie
Type Description
Chaîne

Pour l’entrée la plus récente, renvoie une chaîne qui contient l’étiquette de champ, l’horodatage et le nom d’affichage de l’utilisateur de l’entrée de journal.

Pour toutes les écritures de journal, renvoie les mêmes informations pour toutes les entrées de journal saisies sous la forme d’une seule chaîne, chaque entrée étant délimitée par « \n\n ».

//gets all journal entries as a string where each entry is delimited by '\n\n'
var notes = current.work_notes.getJournalEntry(-1); 
//stores each entry into an array of strings
var na = notes.split("\n\n");  
                      
for (var i = 0; i < na.length; i++)                 
  gs.info(na[i]);

GlideElement dans le champ d’application : getLabel()

Renvoie l’étiquette de l’objet.

Tableau 39. Paramètres
Nom Type Description
Néant
Tableau 40. Renvoie
Type Description
Chaîne Étiquette d’objet
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");
    var variables = now_GR.variables.getElements();    
    for (var key in variables) {
      var now_V = variables[key];
      if(now_V.getQuestion().getLabel() != ) {
         template.space(4);
         template.print('     ' +  now_V.getQuestion().getLabel() + " = " + now_V.getDisplayValue() + "\n");  
      }
    }
}

GlideElement dans le champ d’application : getLabelLang(String language)

Obtient la valeur d’étiquette du champ dans la langue transmise en tant que paramètre.

Vous devez disposer du module d’extension de la langue correspondante pour récupérer une valeur traduite. (pour en savoir plus, consultez Activate a language) ;

Tableau 41. Paramètres
Nom Type Description
language Chaîne Balise de langue conforme à la norme IETF BCP-47.
Tableau 42. Renvoie
Type Description
Chaîne Valeur de l’étiquette de champ dans la langue transmise. Si aucune traduction n’est disponible, la méthode récupère une valeur traduite dans la langue de l’utilisateur actuel. Si aucune traduction n’est disponible, le résultat est en anglais par défaut.

L’exemple suivant montre comment obtenir le texte de l’étiquette d’origine et sa traduction allemande du titre Accepter (vue de l’interface utilisateur).

var uiView = new GlideRecord("sys_ui_view");
uiView.get("fa776f6d97700100f309124eda2975bc");

gs.info("getLabel: " + uiView.getElement("title").getLabel());
gs.info("getLabelLang: " + uiView.getElement("title").getLabelLang("de"));

Sortie :

getLabel: Title
getLabelLang: Titel

GlideElement dans le champ d’application : getName()

Renvoie le nom du champ.

Tableau 43. Paramètres
Nom Type Description
Néant
Tableau 44. Renvoie
Type Description
Chaîne Nom de champ.

L’exemple suivant montre comment obtenir le nom et d’autres valeurs de chaque champ dans un enregistrement sys_user.

var userRec = new GlideRecord("sys_user"); // GlideRecord to sys_user table

userRec.get("5137153cc611227c000bbd1bd8cd2005"); // Sys Id of user: Fred Luddy

var fields = userRec.getFields();

for (var i = 0; i < fields.size(); i++) {

    var field = fields.get(i);
    var name = field.getName(); // Name of the field
    var label = field.getLabel(); // Label of the field
    var value = field.getDisplayValue(); // Value of the field

    gs.info((Number(i) + 1) + ".\n" + "Field Label: " + label + "\n" + "Field Name: " + name + "\n" + "Field Value: " + value);

};

Sortie. Les résultats comprennent 62 champs et ont été tronqués avec des points de suspension (...) pour économiser de l’espace.

*** Script: 1.
Field Label: Country code
Field Name: country
Field Value: 
*** Script: 2.
Field Label: Calendar integration
Field Name: calendar_integration
Field Value: Outlook
...
*** Script: 47.
Field Label: First name
Field Name: first_name
Field Value: Fred
...
*** Script: 54.
Field Label: Last name
Field Name: last_name
Field Value: Luddy
...

GlideElement dans le champ d’application : getReferenceTable()

Obtient le nom de table pour un élément de référence.

Tableau 45. Paramètres
Nom Type Description
Néant
Tableau 46. Renvoie
Type Description
Chaîne Nom de la table de la référence.
var grINC = new GlideRecord('incident');
grINC.query('number','INC0010041'); // record assignment group assigned to "CAB Approval"
if (grINC.next()) { 
  // Get the table name 
  var tableName = grINC.assignment_group.getReferenceTable();
  gs.info( tableName ); 
}

GlideElement dans le champ d’application : getRefRecord()

Renvoie un objet GlideRecord pour un élément de référence donné.

Pour les champs calculés, cette méthode extrait l’enregistrement référencé et exécute un calcul sur une valeur par défaut scriptée.

Avertissement :
Si l’élément de référence ne contient pas de valeur, il renvoie un objet GlideRecord vide, et non un objet NULL.
Tableau 47. Paramètres
Nom Type Description
Néant
Tableau 48. Renvoie
Type Description
GlideRecord Un objet GlideRecord

var grINC = new GlideRecord('incident'); 
grINC.addNotNullQuery('caller_id'); 
grINC.query(); 
if (grINC.next()) { 

// Get a GlideRecord object for the referenced sys_user record 
var grUSER = grINC.caller_id.getRefRecord(); 
if (grUSER.isValidRecord()) 
  gs.info(grUSER.getValue('name')); 

} 

GlideElement dans le champ d’application : getTableName()

Renvoie le nom de la table qui contient le champ.

Tableau 49. Paramètres
Nom Type Description
Néant
Tableau 50. Renvoie
Type Description
Chaîne Nom de la table qui contient le champ appelé. La valeur renvoyée peut être différente de la classe de table dans laquelle se trouve l’enregistrement. Pour plus d'informations, consultez Table extension and classes.
if (current.approver.getTableName() == "sysapproval_approver") {
    if (current.approver == email.from_sys_id) {
        current.comments = "reply from: " + email.from + "\n\n" + email.body_text;

        // if it's been cancelled, it's cancelled.
        var doit = true;
        if (current.state == 'cancelled')
            doit = false;

        if (email.body.state != undefined)
            current.state = email.body.state;

        if (doit)
            current.update();
    } else {
        gs.log("Approval for task " + current.sysapproval.getDisplayValue() +
            " rejected because user sending email " + email.from +
            " does not match the approver " + current.approver.getDisplayValue());
    }
}

GlideElement dans le champ d’application : nil()

Détermine si un champ est nul.

Tableau 51. Paramètres
Nom Type Description
Néant
Tableau 52. Renvoie
Type Description
Booléen Marqueur indiquant si le champ est nul.
Valeurs possibles :
  • vrai : le champ est nul.
  • faux : le champ n’est pas nul.
var glideRecord = new GlideRecord('incident'); 
glideRecord.query('priority','1'); 
glideRecord.next(); 
gs.info(glideRecord.state.nil());

Sortie :

false

GlideElement dans le champ d’application : setDateNumericValue(nombre de millisecondes)

Définit la valeur d’un élément date/heure sur le nombre spécifié de millisecondes depuis le 1er janvier 1970 00:00:00 GMT.

Lorsqu’il est appelé, setDateNumericValue() crée automatiquement l’objet GlideDateTime/GlideDate/GlideDuration nécessaire, puis définit l’élément sur la valeur spécifiée.

Remarque :
Avant d’appeler cette méthode, l’élément doit déjà exister en interrogeant un enregistrement existant ou en utilisant la méthode now_GR.initialize() pour initialiser un nouvel enregistrement.
Tableau 53. Paramètres
Nom Type Description
millisecondes Numéro Nombre de millisecondes depuis le 01/01/1970
Tableau 54. Renvoie
Type Description
nul
var now_GR = new GlideRecord("incident");
now_GR.initialize();
now_GR.opened_at.setDateNumericValue(10000);

GlideElement dans le champ d’application : setDisplayValue(valeur d’objet)

Définit la valeur d’affichage du champ.

Tableau 55. Paramètres
Nom Type Description
valide Objet La valeur à définir pour le champ.
Tableau 56. Renvoie
Type Description
nul
var glideRecord = new GlideRecord('incident'); 
glideRecord.query('priority','1'); 
glideRecord.next();
 
//change the urgency to 3 
glideRecord.urgency.setDisplayValue('3 - Low');
gs.info(glideRecord.urgency);

GlideElement dans le champ d’application : setError(String, errorMessage)

Ajoute un message d’erreur au champ associé.

Tableau 57. Paramètres
Nom Type Description
errorMessage Chaîne Le message d’erreur.
Tableau 58. Renvoie
Type Description
Néant

L’exemple suivant montre comment définir un message d’erreur sur les incidents de priorité 1 avec des brèves descriptions vides.

var now_GR = new GlideRecord('incident');
now_GR.addQuery('priority', '1');
now_GR.query();

if (now_GR.next()) {
    var shortDesc = now_GR.short_description.toString();

    if (!shortDesc || shortDesc.trim() === '') {
        now_GR.short_description.setError(
            'A short description is required for all Priority 1 incidents. Please provide a brief summary of the issue.'
        );
    }
}

GlideElement dans le champ d’application : setPhoneNumber(Object phoneNumber, booléen strict)

Définit le champ sur le numéro de téléphone spécifié.

Cette méthode n’est disponible que sur un numéro de téléphone GlideElement.

Tableau 59. Paramètres
Nom Type Description
phoneNumber Objet Le numéro de téléphone à définir. Cela peut être au format international ou local.
strict Booléen Si vrai, spécifie que le numéro spécifié doit correspondre au format correct. Si la valeur est faux, le système tente de corriger un numéro de téléphone mal formaté.
Tableau 60. Renvoie
Type Description
Booléen Marqueur indiquant si la valeur du numéro de téléphone a été définie.

Valeurs possibles :

  • vrai : la valeur a été définie.
  • faux : la valeur n’a pas été définie.

L’exemple suivant montre comment définir le numéro de téléphone d’un emplacement de visite. Cet exemple nécessite le module d’extension Expérience de visite .

setWalkupLocPhone('Santa Clara Tech Lounge','+91 9812456789'); 

function setWalkupLocPhone(locName, phoneNumber) {
  var walkupLoc = new GlideRecord('wu_location_queue');
  walkupLoc.addQuery('name', locName);
  walkupLoc.query();
  walkupLoc.next();
  
  // Set phone number of walk-up location
  var isPhoneNumberSet = walkupLoc.phone_number.setPhoneNumber(phoneNumber, true);
  walkupLoc.update();
  gs.info('Phone Number: ' + walkupLoc.phone_number);
  gs.info('Is phone number specified match the correct format: ' + isPhoneNumberSet);
}

Sortie :

Phone Number: +919812456789
Is phone number specified match the correct format: true

GlideElement dans le champ d’application : setValue(valeur d’objet)

Définit la valeur d’un champ.

Remarque :
Avant d’appeler cette méthode, l’élément doit déjà exister en interrogeant un enregistrement existant ou en utilisant la méthode now_GR.initialize() pour initialiser un nouvel enregistrement.
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 61. Paramètres
Nom Type Description
valide Objet Valeur d’objet pour définir le champ.
Tableau 62. Renvoie
Type Description
Néant

Définir la valeur en transmettant une chaîne.

var glideRecord = new GlideRecord('incident');
glideRecord.query('priority','1');
glideRecord.next();
glideRecord.short_description.setValue('Network failure');

Définissez la valeur transmettant un objet.

var now_GR  = new GlideRecord('student');
now_GR.initialize();
now_GR.setValue('first_name', 'Joe');
now_GR.setValue('last_name', 'Smith');
now_GR.insert();

GlideElement dans le champ d’application : toString()

Convertit la valeur d’un champ GlideRecord en chaîne.

Tableau 63. Paramètres
Nom Type Description
Néant
Tableau 64. Renvoie
Type Description
Chaîne Valeur sous forme de chaîne.
var glideRecord = new GlideRecord('incident');
glideRecord.query('priority','1');
glideRecord.next();
gs.info(glideRecord.opened_at.toString());

Sortie :

2019-08-31 23:09:51