GlideScopedEvaluator - Com escopo
. GlideScopedEvaluator A API permite avaliar scripts em um campo GlideRecord a partir de scripts de servidor com escopo e globais.
Esta API avalia registros com campos de script definidos. O escopo do script é definido pelo escopo do registro.
GlideScopedEvaluator - GlideScopedEvaluator()
Instancia um objeto GlideScopedEvaluator.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
GlideScopedEvaluator - evaluateScript(GlideRecord grObj, cadeia de caracteres scriptField, variáveis de objeto)
Avalia um script que reside em um campo GlideRecord.
| Nome | Tipo | Descrição |
|---|---|---|
| Obj | GlideRecord | GlideRecord que contém uma expressão de script. |
| ScriptField | Cadeia de caracteres | Opcional. Nome do campo que contém a expressão de script. |
| variáveis | Objeto | Opcional. Mapa de variáveis com pares nome-valor. Essas variáveis estão disponíveis para o script durante a execução deste método. |
| Tipo | Descrição |
|---|---|
| Objeto | Resultado da execução do 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'));
Saída:
300
GlideScopedEvaluator - getVariable (nome da cadeia de caracteres)
Retorna uma variável especificada de um objeto GlideScopedEvaluator.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome da variável a ser retornada. |
| Tipo | Descrição |
|---|---|
| Objeto | Valor da variável especificada. |
O exemplo a seguir mostra como chamar GetVariable() método para verificar o valor de resposta variável.
(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(nome da cadeia de caracteres, valor do objeto)
Define uma variável no objeto GlideScopedEvaluator. Essas variáveis estão disponíveis para o script executado por este objeto GlideScopedEvaluator.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome da variável. |
| valor | Objeto | Valor da variável. |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo a seguir mostra como chamar PutVariable() método para definir resposta variável como verdadeira.
(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);