GlideScopedEvaluator - Dans le champ d’application
L’API GlideScopedEvaluator vous permet d’évaluer les scripts dans un champ GlideRecord à partir des scripts serveur inclus dans le champ d’application et globaux.
Cette API évalue les enregistrements pour lesquels des champs de script sont définis. Le champ d’application du script est défini par le champ d’application de l’enregistrement.
Évaluateur GlideScoped : GlideScopedEvaluator()
Instancie un objet GlideScopedEvaluator.
| Nom | Type | Description |
|---|---|---|
| Aucun |
GlideScopedEvaluator : evaluateScript(GlideRecord grObj, String scriptField, variables d’objet)
Évalue un script qui réside dans un champ GlideRecord.
| Nom | Type | Description |
|---|---|---|
| grObj | GlideRecord | GlideRecord contenant une expression de script. |
| scriptField (en anglais seulement) | Chaîne | Facultatif. Nom du champ contenant l’expression de script. |
| variables | Objet | Facultatif. Carte de variables avec des paires nom-valeur. Ces variables sont disponibles pour le script lors de l’exécution de cette méthode. |
| Type | Description |
|---|---|
| Objet | Résultat de l’exécution du script. |
// Setting up a record that contains the script to be executed.
var now_GR = new GlideRecord('u_global_table');
now_GR.u_short_description = 'Calculate Addition';
now_GR.u_test_script = "result = x + y";
now_GR.insert();
var evaluator = new GlideScopedEvaluator();
evaluator.putVariable('x', 100);
evaluator.putVariable('y', 200);
gs.info(evaluator.evaluateScript(now_GR, 'u_test_script'));
Sortie :
300
GlideScopedEvaluator : getVariable(nom de chaîne)
Renvoie une variable spécifiée à partir d’un objet GlideScopedEvaluator.
| Nom | Type | Description |
|---|---|---|
| nom | Chaîne | Nom de la variable à renvoyer. |
| Type | Description |
|---|---|
| Objet | Valeur de la variable spécifiée. |
L’exemple suivant montre comment appeler la méthode getVariable() pour vérifier la valeur de la variable de réponse .
(function executeRule(current, previous /*null when async*/) {
var grAG = current.assignment_group.getRefRecord(); // Get the GlideRecord of the assignment group
if (grAG.isValidRecord()) {
var ge = new GlideScopedEvaluator();
ge.putVariable("current", current); // Pass through the "current" variable as "current"
ge.putVariable("group", grAG); // Pass through the "grAG" variable as "group"
ge.putVariable("answer", true); // default "answer" to TRUE
ge.evaluateScript(grAG, "u_assignment_condition"); // Run the script
// Abort the transaction if the "answer" variable was set to FALSE explicitly (undefined doesn't count)
if (ge.getVariable("answer") === false) {
gs.addErrorMessage("Assignment rule did not pass");
current.setAbortAction(true);
}
}
})(current, previous);
GlideScopedEvaluator : putVariable(nom de chaîne, valeur de l’objet)
Définit une variable dans l’objet GlideScopedEvaluator. Ces variables sont disponibles pour le script exécuté par cet objet GlideScopedEvaluator.
| Nom | Type | Description |
|---|---|---|
| nom | Chaîne | Nom de la variable. |
| valide | Objet | Valeur de la variable. |
| Type | Description |
|---|---|
| Aucun |
L’exemple suivant montre comment appeler la méthode putVariable() pour définir la variable answer sur true.
(function executeRule(current, previous /*null when async*/) {
var grAG = current.assignment_group.getRefRecord(); // Get the GlideRecord of the assignment group
if (grAG.isValidRecord()) {
var ge = new GlideScopedEvaluator();
ge.putVariable("current", current); // Pass through the "current" variable as "current"
ge.putVariable("group", grAG); // Pass through the "grAG" variable as "group"
ge.putVariable("answer", true); // Set default "answer" to TRUE
ge.evaluateScript(grAG, "u_assignment_condition"); // Run the script
// Abort the transaction if the "answer" variable was set to FALSE explicitly (undefined doesn't count)
if (ge.getVariable("answer") === false) {
gs.addErrorMessage("Assignment rule did not pass");
current.setAbortAction(true);
}
}
})(current, previous);