GlideElement : global
L’API GlideElement fournit un certain nombre de méthodes de script pratiques pour traiter les champs et leurs valeurs. Des méthodes GlideElement sont disponibles pour les champs du GlideRecord actuel.
GlideElement - canCreate()
Détermine si le rôle de l’utilisateur autorise la création de nouvelles entrées dans le champ associé.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| 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 :
|
L’exemple suivant montre comment déterminer si l’utilisateur a les 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 périmètre, utilisez la méthode correspondante dans le périmètre : canCreate().
GlideElement - canRead()
Détermine si le rôle de l’utilisateur lui permet de lire le GlideRecord associé.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Booléen | Vrai si le champ peut être lu, faux dans les autres cas. |
L’exemple suivant montre comment obtenir une liste d’enregistrements d’incidents actifs avec un champ Brève description 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
Équivalent dans le champ d’application
Pour utiliser la méthode canRead() dans une application incluse dans le périmètre, utilisez la méthode correspondante dans le périmètre : canRead().
GlideElement - canWrite()
Détermine si le rôle de l’utilisateur lui permet d’écrire dans le GlideRecord associé.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Booléen | Vrai si l’utilisateur peut é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 Brève description 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
Équivalent dans le champ d’application
Pour utiliser la méthode canWrite() dans une application incluse dans le périmètre, utilisez la méthode correspondante dans le périmètre : canWrite().
GlideElement - 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.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Booléen | Vrai si le champ a changé, faux dans les autres cas. |
L’exemple suivant tiré d’une règle métier montre comment créer un événement dans l’EventQueue si la valeur du champ assigned_to change.
if (!current.assigned_to.nil() && current.assigned_to.changes()) {
gs.eventQueue('incident.assigned', current, current.assigned_to.getDisplayValue(), previous.assigned_to.getDisplayValue());
}
Équivalent dans le champ d’application
Pour utiliser la méthode changes() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : changes().
GlideElement - changesFrom(valeur de l’objet)
Détermine si la valeur précédente du champ actuel correspond à l’objet spécifié.
| Nom | Type | Description |
|---|---|---|
| valide | Objet | Une valeur d’objet à vérifier par rapport à la valeur précédente du champ actuel. |
| Type | Description |
|---|---|
| Booléen | Vrai si la valeur précédente correspond au paramètre, faux si ce n’est pas le cas. |
if (theState.changesTo(resolvedState)) {
operation = 4; //Resolved
}
else if (theState.changesTo(closedState)) {
operation = 11; //Resolution Accepted
}
else if (theState.changesFrom(resolvedState) || theState.changesFrom(closedState)) {
operation = 10; //Re-open
}
else {
operation = 6; //Update
}
Équivalent dans le champ d’application
Pour utiliser la méthode changesFrom() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : changesFrom().
GlideElement - changesTo(valeur de l’objet)
Détermine si la nouvelle valeur d’un champ, après un changement, correspond à l’objet spécifié.
| Nom | Type | Description |
|---|---|---|
| valide | Objet | Une valeur d’objet à vérifier par rapport à la nouvelle valeur du champ actuel. |
| Type | Description |
|---|---|
| Booléen | Vrai si la nouvelle valeur correspond au paramètre, faux si ce n’est pas le cas. |
if (theState.changesTo(resolvedState)) {
operation = 4; //Resolved
}
else if (theState.changesTo(closedState)) {
operation = 11; //Resolution Accepted
}
else if (theState.changesFrom(resolvedState) || theState.changesFrom(closedState)) {
operation = 10; //Re-open
}
else {
operation = 6; //Update
}
Équivalent dans le champ d’application
Pour utiliser la méthode changesTo() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : changesTo().
GlideElement : dateNumericValue()
Renvoie le nombre de millisecondes écoulées 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.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Numéro | Nombre de millisecondes écoulées 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
Équivalent dans le champ d’application
Pour utiliser la méthode dateNumericValue() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : dateNumericValue().
GlideElement - debug(Object o)
Débogue l’objet et ajoute des messages de débogage à l’aide de setError(String).
| Nom | Type | Description |
|---|---|---|
| O | Objet | Un objet à déboguer. |
| Type | Description |
|---|---|
| nul |
GlideElement : getAttribute(String attributeName)
Renvoie la valeur de l’attribut spécifié à partir du dictionnaire.
Si l’attribut est un attribut booléen, utilisez getBooleanAttribute(String) pour obtenir la valeur en tant que booléen plutôt qu’en tant que chaîne.
| Nom | Type | Description |
|---|---|---|
| attributeName | Chaîne | Nom d'attribut |
| Type | Description |
|---|---|
| Chaîne | Valeur d'attribut |
doit();
function doit() {
var now_GR = new GlideRecord('sys_user');
now_GR.query("user_name","admin");
if (now_GR.next()) {
gs.print("we got one");
gs.print(now_GR.location.getAttribute("tree_picker"));
}
}
Équivalent dans le champ d’application
Pour utiliser la méthode getAttribute() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : getAttribute().
GlideElement : getBaseTableName()
Obtient la table de base du champ.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Nom de la table de base. Ce nom peut être différent de celui de la table sur laquelle le champ est défini. Reportez-vous à la section Extensions et classes de table dans la documentation du produit. |
L’exemple suivant montre comment utiliser la table de base pour le champ Groupe d’affectation d’un enregistrement d’incident.
var gr = new GlideRecord('incident');
//query the Incident Records which have category as Inquiry/Help
gr.addQuery('category','inquiry');
// sort them in the order of earlier to recent created date
gr.orderBy('sys_created_on');
gr.query();
if(gr.next()){ //If at least any one record exists matching this query
//Print the base table for the Assignment Group field
gs.print("The Base Table for the field Assignment Group is - " + gr.assignment_group.getBaseTableName());
};
Sortie :
The Base Table for the field Assignment Group is - task
GlideElement : getBooleanAttribute(String attributeName)
Renvoie la valeur booléenne de l’attribut spécifié à partir du dictionnaire.
Pour obtenir la valeur sous forme de chaîne, utilisez getAttribute(string).
| Nom | Type | Description |
|---|---|---|
| attributeName | Chaîne | Nom d'attribut |
| Type | Description |
|---|---|
| Booléen | Valeur booléenne de l’attribut. Renvoie la valeur false si l’attribut n’existe pas. |
L’exemple suivant montre comment obtenir les 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
Équivalent dans le champ d’application
Pour utiliser la méthode getBooleanAttribute() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : getBooleanAttribute().
GlideElement : getChoices(dépendant de la chaîne)
Génère une liste de choix pour un champ. Renvoie les valeurs de choix de la table de base uniquement, et non de la table étendue.
| Nom | Type | Description |
|---|---|---|
| Dépendant | Chaîne | Facultatif. Champ dans l’enregistrement associé dont le champ de liste de choix dépend. |
| Type | Description |
|---|---|
| liste de tableaux | Valeurs de choix pour le champ. |
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();
Équivalent dans le champ d’application
Pour utiliser la méthode getChoices() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : getChoices().
GlideElement : getChoiceValue()
Obtient l’étiquette de choix pour la valeur de choix actuelle.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | L’étiquette de choix. |
L’exemple suivant montre comment obtenir l’étiquette de choix pour les enregistrements de demande de changement dont la valeur de priorité est Normal.
var gr = new GlideRecord('change_request');
//query for the change records with change type as "Normal"
gr.addQuery('type','normal');
// sort them in the order of recent to earlier Created Date
gr.orderByDesc('sys_created_on');
// limit the query to 4 records
gr.setLimit(4);
gr.query();
while(gr.next()){
//Printing the choice label for those records
gs.print("The label of the current priority '"+ gr.priority+"' for the change request - " + gr.number + " is - "+ gr.priority.getChoiceValue());
}
Sortie :
The label of the current priority '4' for the change request - CHG0000014 is - 4 - Low
The label of the current priority '4' for the change request - CHG0000013 is - 4 - Low
The label of the current priority '4' for the change request - CHG0000012 is - 4 - Low
The label of the current priority '4' for the change request - CHG0000011 is - 4 - Low
Équivalent dans le champ d’application
Pour utiliser la méthode getChoiceValue() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : getChoiceValue().
GlideElement : getDebugCount()
Obtient le nombre de messages de débogage consignés par debug().
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Numéro | Nombre de messages de débogage. |
GlideElement : getDependent()
Renvoie le champ (élément) dont dépend un champ spécifié.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Nom du champ dont dépend le champ actuel. Null s’il n’y a aucune dépendance. |
L’exemple suivant montre comment trouver le champ parent du champ Élément de configuration à l’aide de la méthode getDependent( ).
var inc_gr = new GlideRecord('incident');
inc_gr.get('985f53d82fab301032e8808cf699b6e8'); // Get a particular Incident
var field_element = inc_gr.getElement('cmdb_ci'); // Get the Configuration Item element
var dependent_field = field_element.getDependent(); // Read the dependent field
gs.info("Dependent field: " + dependent_field);
if(dependent_field)
{
var dependent_field_value = inc_gr.getValue(dependent_field);
if(!dependent_field_value)
{
var base_table = field_element.getRefRecord(); // Retrieve the reference record
var dependent_field_value = base_table.getValue(dependent_field); // Read the parent field value
}
inc_gr.setValue(dependent_field, dependent_field_value); // Update the parent field on the Incident
inc_gr.update();
}
Sortie :
company
GlideElement : getDependentTable()
Obtient la table dont dépend la table actuelle.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Le nom de la table. |
GlideElement : getDisplayValue(Number maxChar)
Renvoie la valeur d’affichage formatée du champ.
Les valeurs d'affichage sont manipulées en fonction de la valeur réelle dans la base de données, ainsi que des paramètres et préférences système ou utilisateur.
- 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 d'affichage 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, tandis que la valeur d'affichage est un champ d'affichage de l'enregistrement référencé.
| Nom | Type | Description |
|---|---|---|
| Caractère max. | Numéro | Facultatif. Nombre maximal de caractères à renvoyer. |
| Type | Description |
|---|---|
| Chaîne | Valeur d’affichage du champ. |
var fields = current.getFields();
for (var i = 0; i < fields.size(); i++) {
var field = fields.get(i);
var name = field.getName();
var value = field.getDisplayValue();
gs.print(i + ". " + name + "=" + value);
}
Équivalent dans le champ d’application
Pour utiliser la méthode getDisplayValue() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : getDisplayValue().
GlideElement : getDisplayValueExt(Number maxChar, String nullSub)
Renvoie la valeur d’affichage formatée d’un champ ou une valeur de remplacement spécifiée si la valeur d’affichage est nulle ou vide.
Les valeurs d'affichage sont manipulées en fonction de la valeur réelle dans la base de données, ainsi que des paramètres et préférences système ou utilisateur.
- 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 d'affichage 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, tandis que la valeur d'affichage est un champ d'affichage de l'enregistrement référencé.
| Nom | Type | Description |
|---|---|---|
| Caractère max. | Numéro | Facultatif. Nombre maximal de caractères à renvoyer. Par défaut : Toutes |
| Compartiment nul | Chaîne | Valeur à renvoyer si la valeur d’affichage est nulle ou vide. |
| Type | Description |
|---|---|
| Chaîne | Valeur d’affichage formatée du champ ou valeur de remplacement spécifiée. |
L’exemple suivant montre comment afficher les deux enregistrements actifs les plus récents dans la table Incident [incident].
var gr = new GlideRecord('incident');
gr.addQuery('active', true); // get the active records
gr.orderByDesc('sys_updated_on'); // sort the records from most recent to oldest updated date
gr.setLimit(2); // limit the query to 2 records
gr.query();
while(gr.next()){ // Printing the Display Value of the Configuration Item field.
// If the Display Value is Null/Empty, then it will be substituted with Default value "I with Null/Empty Display Value"
gs.info("The Display Value of the Configuration Item for the incident - "+ gr.number+ " is " + gr.cmdb_ci.getDisplayValueExt(40, " CI with Null/Empty Display Value"));
}
Sortie :
The Display Value of the Configuration Item for the incident - INC0007001 is CI with Null/Empty Display Value
The Display Value of the Configuration Item for the incident - INC0000069 is NYC RAC
GlideElement – getDisplayValueLang(langue de chaîne)
Obtient la valeur d’affichage du champ dans la langue passée 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 langue correspondant pour récupérer une valeur traduite. (pour en savoir plus, consultez Activate a language) ;
Voir aussi GlideElement inclus dans le périmètre : getLabelLang(langue de chaîne).
| Nom | Type | Description |
|---|---|---|
| langue | Chaîne | Balise de langue conforme à la norme IETF BCP-47. |
| Type | Description |
|---|---|
| Chaîne | Valeur d’affichage du champ dans la langue transmise. Si une traduction n’est pas 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 défini par défaut en anglais. |
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
Équivalent dans le champ d’application
Pour utiliser la méthode getDisplayValueLang() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : getDisplayValueLang().
GlideElement : getED()
Renvoie un descripteur d’élément, qui fournit des informations sur des champs spécifiques, plutôt que les données à l’intérieur de ces champs.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| ElementDescriptor (Descripteur d’élément) | Descripteur d’élément du champ. |
Cet exemple permet d’obtenir les champs et les descripteurs de champ pour l’enregistrement actuel.
var fields = current.getFields();
for (i=0; i<fields.size(); i++) {
var field = fields.get(i);
var descriptor = field.getED();
gs.print("type=" + descriptor.getType() +
" internalType=" + descriptor.getInternalType());
}
Équivalent dans le champ d’application
Pour utiliser la méthode getED() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : getED().
GlideElement : getElementValue(valeur de chaîne)
Renvoie la valeur de l’élément spécifié.
| Nom | Type | Description |
|---|---|---|
| valide | Chaîne | Élément dont vous souhaitez que la valeur soit retournée. |
| Type | Description |
|---|---|
| Chaîne | Valeur de l’élément. |
var fields = current.getFields();
for (var i = 0; i < fields.size(); i++) {
var field = fields.get(i);
var name = field.getName();
// Returns the unformatted value of the element
var value = field.getElementValue(name);
var disValue = field.getDisplayValue();
gs.print(i + ". " + name + " = " + value + ' display value = ' + disValue);
}
Sortie
1. cmdb_ci = 109562a3c611227500a7b7ff98cc0dc7 display value = Storage Area Network 001
2. impact = 2 display value = 2 - Medium
GlideElement : getError()
Renvoie tout message d’erreur associé à l’élément spécifié.
Utilisez la méthode setError() pour définir une erreur sur un champ (élément) spécifique.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Message d’erreur actuellement défini pour l’élément spécifié. |
Cet exemple montre comment définir une erreur sur l’élément short_description, puis lire l’erreur.
var incidentGR = new GlideRecord('incident');
incidentGR.setLimit(1);
incidentGR.query();
if (incidentGR.next()) {
incidentGR.short_description.setError('The description is too short.');
gs.info(incidentGR.short_description.getError()); // 'The description is too short.'
}
Sortie :
The description is too short.
Cet exemple montre comment l’utiliser getError() dans un appel de fonction.
// Before query business rule (order = 100)
(function executeRule(current, previous /*null when async*/) {
var shortDescription = current.getValue('short_description');
if (shortDescription.length < 10) {
current.short_description.setError('The description is too short.');
current.setAbortAction(true);
}
})(current, previous);
// Before query business rule (order = 200)
(function executeRule(current, previous /*null when async*/) {
var shortDescriptionErrMsg = current.short_description.getError();
if (shortDescriptionErrMsg) {
// Some error was set in one of the previous business rules.
}
})(current, previous);
GlideElement : getEscapedValue()
Obtient la valeur d’échappement de l’élément actuel.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Valeur d’échappement de l’élément actuel. |
L’exemple suivant montre comment utiliser la méthode getEscapedValue() pour afficher le contenu d’un champ de brève description d’incident avec des caractères d’échappement.
/*** Overview - Update incident short description with escape characters and printing ***/
var inc = new GlideRecord('incident');
inc.query();
inc.next();
inc.short_description = 'Can\'t log into SAP from my laptop today';
inc.update();
gs.info("Short Description: "+inc.getElement('short_description').toString()); //without escape characters
gs.info("Escaped Short Description: "+inc.getElement('short_description').getEscapedValue()); // with escape characters
Sortie :
Short Description: Can't log into SAP from my laptop today
Escaped Short Description: Can\'t log into SAP from my laptop today
GlideElement : getFieldStyle()
Obtient le style CSS pour le champ.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Style CSS pour le champ. |
var fields = current.getFields();
for (var i = 0; i < fields.size(); i++) {
var field = fields.get(i);
var css_style = field.getFieldStyle();
gs.print("CSS style" + "=" + css_style);
}
GlideElement : getGlideObject()
Obtient un objet Glide.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Un objet Glide. |
function calcDateDelta(start, end, calendar) {
var cal = GlideCalendar.getCalendar(calendar);
if (!cal.isValid())
return null;
var realStart = start.getGlideObject();
var realEnd = end.getGlideObject();
var duration = cal.subtract(realStart, realEnd);
return duration;
}
GlideElement : getGlideRecord()
Obtient un enregistrement Glide.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| GlideRecord | Un objet d’enregistrement Glide. |
var grInc = new GlideRecord('incident');
grInc.get('sys_id','ef43c6d40a0a0b5700c77f9bf387afe3');
gs.info("Initial grInc - " + grInc.getDisplayValue());
var caller = grInc.getElement("caller_id");
doit(caller);
function doit(caller) {
var now_GR = caller.getGlideRecord();
gs.info("doit gr is - " + now_GR.getDisplayValue());
}
Sortie
*** Script: Initial grInc - INC0000050
*** Script: doit gr is - INC0000050
GlideElement : getHTMLValue(Nombre maxChars)
Renvoie la valeur HTML d’un champ.
| Nom | Type | Description |
|---|---|---|
| Caractères maxChars | Numéro | Facultatif. Nombre maximal de caractères à renvoyer. |
| Type | Description |
|---|---|
| Chaîne | Valeur HTML pour le champ. |
L’exemple suivant montre comment obtenir le contenu HTML d’une note de réunion.
/*
getHTMLValueExt() This Function is used to get HTML Value of a field. It accepts 2 Parameters
a. maxChar- Number - The maximum number of characters to return.
b. nullSub - String - The value to return if the HTML value is null or empty.
*/
// get a cab meeting record by its sys_id
var gr = new GlideRecord('cab_meeting');
gr.addQuery('sys_id','7777777b6d2a20100sys70id534330f6');
gr.query();
if(gr.next()){
var substituteString = 'Meeting Notes Unavailable';
var maxLength = 50;
gs.print(gr.meeting_notes.getHTMLValueExt(maxLength, substituteString));
}
Équivalent dans le champ d’application
Pour utiliser la méthode getHTMLValue() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : getHTMLValue().
GlideElement : getHTMLValueExt(Number maxChar, String nullSub)
Renvoie la valeur HTML d’un champ, ou une valeur de remplacement spécifiée si la valeur HTML est nulle ou vide.
| Nom | Type | Description |
|---|---|---|
| Caractère max. | Numéro | Nombre maximal de caractères à renvoyer. |
| Compartiment nul | Chaîne | Valeur à renvoyer si la valeur HTML est nulle ou vide. |
| Type | Description |
|---|---|
| Chaîne | Valeur HTML ou valeur de remplacement spécifiée. |
L’exemple suivant montre comment obtenir le contenu HTML d’une note de réunion.
// get a cab meeting record by its sys_id
var gr = new GlideRecord('cab_meeting');
gr.addQuery('sys_id','7777777b6d2a20100sys70id534330f6');
gr.query();
if(gr.next()){
var substituteString = 'Meeting Notes Unavailable';
var maxLength = 50;
gs.print(gr.meeting_notes.getHTMLValueExt(maxLength, substituteString));
}
<p>Meeting note content.</p>GlideElement : getJournalEntry(Number mostRecent)
Renvoie soit l’entrée de journal la plus récente, soit toutes les écritures de journal.
| Nom | Type | Description |
|---|---|---|
| mostRecent | Numéro | Si 1, renvoie l’entrée la plus récente. Si -1, renvoie toutes les entrées de journal. |
| Type | Description |
|---|---|
| Chaîne | Pour l’entrée la plus récente, renvoie une chaîne contenant l’étiquette de champ, l’horodatage et le nom d’affichage de l’utilisateur de l’entrée de journal. Pour toutes les entrées 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.print(na[i]);
Équivalent dans le champ d’application
Pour utiliser la méthode getJournalEntry() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : getJournalEntry().
GlideElement : getLabel()
Renvoie l’étiquette de l’objet.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Étiquette de l’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");
}
}
}
Équivalent dans le champ d’application
Pour utiliser la méthode getLabel() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : getLabel().
GlideElement : getLabelLang (langue de chaîne)
Obtient la valeur d’étiquette du champ dans la langue transmise en paramètre.
Vous devez disposer du module d’extension de langue correspondant pour récupérer une valeur traduite. (pour en savoir plus, consultez Activate a language) ;
| Nom | Type | Description |
|---|---|---|
| langue | Chaîne | Balise de langue conforme à la norme IETF BCP-47. |
| Type | Description |
|---|---|
| Chaîne | Valeur de l’étiquette de champ dans la langue transmise. Si une traduction n’est pas 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 défini par défaut en anglais. |
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
Équivalent dans le champ d’application
Pour utiliser la méthode getLabelLang() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : getLabelLang().
GlideElement : getName()
Renvoie le nom du champ.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Nom de champ. |
L’exemple suivant montre comment obtenir le nom et d’autres valeurs pour chaque champ d’un enregistrement de 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
...
Équivalent dans le champ d’application
Pour utiliser la méthode getName() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : getName().
GlideElement : getRefRecord()
Renvoie un objet GlideRecord pour un élément de référence donné.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| GlideRecord | Un objet GlideRecord |
var grINC = new GlideRecord('incident');
grINC.notNullQuery('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.print( grUSER.getValue('name') );
}
Équivalent dans le champ d’application
Pour utiliser la méthode getRefRecord() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : getRefRecord().
GlideElement : getStyle()
Obtenez le style CSS pour la valeur.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Style CSS pour la valeur. |
// Get string of style field from Field Style record
var cssStyle = now_GR.state.getStyle();
GlideElement : getTableName()
Renvoie le nom de la table du champ.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Nom de la table. Elle peut être différente de la classe de table dans laquelle se trouve l’enregistrement. Voir Tables et classes dans la documentation du produit. |
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()+")");
}
}
Équivalent dans le champ d’application
Pour utiliser la méthode getTableName() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : getTableName().
GlideElement : getTextAreaDisplayValue()
Récupère la valeur d’affichage du champ associé et échappe le code HTML.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | HTML de valeur d’affichage avec échappement pour le champ associé. |
L’exemple suivant récupère la valeur d’affichage d’un article de la base de connaissances.
var grh = new GlideRecord('kb_knowledge');
grh.get('c85cd2519f77230088aebde8132e70c2'); // Knowledge record sys_id
var t = grh.text.getTextAreaDisplayValue(); // Text is HTML type field
var d = GlideXMLUtil.parseHTML(t); // Parse the HTML
var b = d.getDocumentElement().getTextContent().trim();
gs.info(b);
Sortie :
This article explains how to use automatic replies in Outlook 2010 for Exchange accounts.
Setting Up Automatic Replies
Click the
File tab.
Click
Automatic Replies.
Select
Send automatic replies.
If desired, select the
Only send during this time range check box to schedule when your out of office replies are active. If you do not specify a start and end time, auto-replies will be sent until you select the
Do not send automatic replies check box.
On the
Inside My Organization tab, type the response that you want to send to colleagues while you are out of the office.
On the
Outside My Organization tab, select the
Auto-reply to people outside my organization check box, and then type the response that you want to send while you are out of the office. Select whether you want replies sent to
My contacts only or to
Anyone outside my organization who sends you messages.
NOTE:
If you select
My Contacts only in step 6, replies will be sent
only to contacts that exist in your Contacts folder.
Using Rules With Automatic Replies
It is also possible to use rules to manage your messages while you are out of office. For example, you can create rules to automatically move or copy messages to other folders, to delete messages, to send custom replies, and so on.
Click the
File tab.
Click
Automatic Replies.
Click
Rules, and then click
Add Rule.
Under
When a message arrives that meets the following conditions, specify the conditions that the message must meet for the rule to be applied. If you want to specify more conditions, click
Advanced, enter or select the options that you want, and then click
OK.
If you want to specify that this rule must be applied last, select the
Do not process subsequent rules check box.
Under
Perform these actions, select the actions that you want. You can select more than one action.
Click
OK three times.
NOTES:
Automatic Replies rules can also be edited by following the above procedure.
To turn Automatic Replies rules on or off, in the Automatic Reply Rules dialog box, select or clear the check box of the rule that you want to turn on or off.
GlideElement : getValue()
Renvoie la valeur du champ dans la base de données.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | La valeur du champ. |
L’exemple suivant récupère la valeur d’un champ spécifié dans la base de données.
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 : getXHTMLValue()
Récupère la valeur XHTML d’un champ.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | La valeur XHTML |
GlideElement : getXMLValue()
Obtient la valeur XML d’un champ sous forme de chaîne.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Valeur XML |
GlideElement – hasAttribute(String attributeName)
Détermine si un champ possède un attribut particulier.
| Nom | Type | Description |
|---|---|---|
| attributeName | Chaîne | Attribut à rechercher |
| Type | Description |
|---|---|
| Booléen | Vrai si le champ possède l’attribut, faux dans les autres cas. |
var totalCritical = 0;
var filledCritical = 0; var fields = current.getFields(); gs.print(fields); for (var num = 0; num < fields.size(); num++) {
gs.print("RUNNING ARRAY VALUE " + num);
var ed = fields.get(num).getED();
if(ed.hasAttribute("tiaa_critical")) {
gs.print("CRITICAL FIELD FOUND");
totalCritical ++;
if (!fields.get(num).isNil()) {
filledCritical ++;
}
}
} var answer = 0; gs.print("TOTAL - " + totalCritical); gs.print("FILLED - " + filledCritical); if (filledCritical > 0 && totalCritical > 0){
var pcnt = (filledCritical/totalCritical)*100;
answer = pcnt.toFixed(2);;
} answer;
GlideElement : hasRightsTo(String operationName)
Détermine si l’utilisateur a le droit d’effectuer une opération particulière.
| Nom | Type | Description |
|---|---|---|
| Nom de l’opération | Chaîne | Nom de l’opération à vérifier |
| Type | Description |
|---|---|
| Booléen | Vrai si l’utilisateur a l’autorisation d’effectuer l’opération, faux dans les autres cas. Marqueur indiquant si un utilisateur a l’autorisation d’effectuer une opération. Valeurs valides :
|
L’exemple suivant montre comment déterminer si un utilisateur a les droits de lecture d’une table spécifique.
// Pass table name and userId to check if user has read access against given table name
checkAccess('incident', 'adela.cervantsz');
function checkAccess(tableName, userID) {
var inc = new GlideRecordSecure(tableName);
inc.get('$[sys_id]');
var secureManager = GlideSecurityManager.get();
//fetch a different user, using user_name field on the target user record
var userObj = gs.getUser().getUserByID(userID);
secureManager.setUser(userObj);
var access = 'record/incident/read';
//check if user has right to access
var canRead = secureManager.hasRightsTo(access, inc);
gs.info('canRead: ' + canRead);
}
Sortie :
canRead: false
GlideElement - hasValue()
Détermine si le champ a une valeur.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Booléen | Vrai si le champ a une valeur, faux dans les autres cas. |
GlideElement - nil()
Détermine si le champ est nul.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Booléen | Vrai si le champ est nul ou une chaîne vide, faux dans les autres cas. |
if (current.start_date.changes() || current.end_date.changes() || current.assigned_to.changes()) {
if (!current.start_date.nil() && !current.end_date.nil() && !current.assigned_to.nil()) {
gs.eventQueue("change.calendar.notify", current, current.assigned_to, previous.assigned_to);
}
Équivalent dans le champ d’application
Pour utiliser la méthode nil() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : nil().
GlideElement : setDateNumericValue(Nombre en millisecondes)
Définit le champ de durée sur un 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.
| Nom | Type | Description |
|---|---|---|
| millisecondes | Numéro | Nombre de millisecondes couvertes par la durée. |
| Type | Description |
|---|---|
| nul |
var inc = new GlideRecord('incident');
inc.get('17c90efb13418700cc36b1422244b05d');
var timems = inc.calendar_duration.dateNumericValue();
timems = timems + 11*1000;
inc.calendar_duration.setDateNumericValue(timems)
gs.info(inc.calendar_duration.getValue());
Sortie : 1970-01-01 00 :01 :38
Équivalent dans le champ d’application
Pour utiliser la méthode setDateNumericValue() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : setDateNumericValue().
GlideElement : setDisplayValue(Object displayValue)
Définit la valeur d’affichage du champ.
| Nom | Type | Description |
|---|---|---|
| displayValue | Objet | Valeur à afficher. |
| Type | Description |
|---|---|
| nul |
Équivalent dans le champ d’application
Pour utiliser la méthode setDisplayValue() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : setDisplayValue().
GlideElement : setError(message de chaîne)
Ajoute un message d’erreur au champ (élément) associé.
Vous pouvez récupérer le message d’erreur à l’aide de la méthode getError().
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Néant |
if ((!current.u_date1.nil()) && (!current.u_date2.nil())) {
var start = current.u_date1.getGlideObject().getNumericValue();
var end = current.u_date2.getGlideObject().getNumericValue();
if (start > end) {
gs.addInfoMessage('start must be before end');
current.setAbortAction(true);
current.u_date1.setError('start must be before end');
}
}
Équivalent dans le champ d’application
Pour utiliser la méthode setError() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : setError().
GlideElement : setInitialValue (valeur de l’objet)
Définit la valeur initiale d’un champ.
Cette méthode avait été dépréciée. À utiliser GlideElement - setValue(valeur de l’objet) pour cette fonctionnalité.
| Nom | Type | Description |
|---|---|---|
| valide | Objet | Valeur initiale pour le champ. |
| Type | Description |
|---|---|
| nul |
GlideElement – setJournalEntry(String entry, String userName)
Ajoute une entrée de journal et un auteur comme note de travail ou champ de commentaire.
| Nom | Type | Description |
|---|---|---|
| entry | Chaîne | Contenu de l’entrée de journal. |
| userName | Chaîne | Facultatif. Utilisateur auquel attribuer l’entrée de journal. Ne définit pas le champ Créé par de l’entrée de journal. |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment ajouter une note de travail et son auteur à un enregistrement.
var now_GR = new GlideRecord("incident");
now_GR.addQuery("sys_id", "<sys_id_value>");
now_GR.query();
if(now_GR.next()){
now_GR.work_notes.setJournalEntry("Content of the journal entry.", "abel.tuter");
now_GR.update();
}
GlideElement - setValue(valeur de l’objet)
Définit la valeur d’un champ.
| Nom | Type | Description |
|---|---|---|
| valide | Objet | La valeur que le champ doit prendre. |
| Type | Description |
|---|---|
| nul |
Définissez 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 qui passe 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();
Équivalent dans le champ d’application
Pour utiliser la méthode setValue() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : setValue().
GlideElement - toString()
Convertit la valeur du champ en chaîne.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Valeur du champ en tant que chaîne. |
doit();
function doit() {
var now_GR = new GlideRecord('sys_user');
now_GR.query();
while (now_GR.next()) {
if ((now_GR().length != now_GR.first_name.toString().trim().length) || (now_GR.last_name.toString().length
!= now_GR.last_name.toString().trim().length)) {
now_GR.first_name = now_GR.first_name.toString().trim();
now_GR.last_name = now_GR.last_name.toString().trim();
now_GR.autoSysFields(false);
now_GR.update();
}
}
}
Équivalent dans le champ d’application
Pour utiliser la méthode toString() dans une application incluse dans le périmètre, utilisez la méthode correspondante dans le périmètre : toString().