GlideScopedEvaluator : dans le champ d’application
L’API GlideScopedEvaluator vous permet d’évaluer les scripts dans un champ GlideRecord à partir de scripts serveur inclus dans le champ d’application et globaux.
Cette API évalue les enregistrements avec des champs de script définis. Le champ d’application du script est défini par le champ d’application de l’enregistrement.
GlideScopedEvaluator : GlideScopedEvaluator()
Instancie un objet GlideScopedÉvaluateurr.
| Nom | Type | Description |
|---|---|---|
| Néant |
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. |
| Champ script | Chaîne | Facultatif. Nom du champ contenant l’expression du 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 GlideScopedÉvaluateurator.
| 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 d’objet)
Définit une variable dans l’objet GlideScopedEvaluator. Ces variables sont disponibles pour le script que cet objet GlideScopedEvaluator exécute.
| Nom | Type | Description |
|---|---|---|
| nom | Chaîne | Nom de la variable. |
| valide | Objet | Valeur de la variable. |
| Type | Description |
|---|---|
| Néant |
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);