GlideScopedEvaluator - com escopo
A API GlideScopedEvaluator permite que você avalie scripts em um campo GlideRecord 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 - assessmentScript(GlideRecord grObj, String 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 do script. |
| variáveis | Objeto | Opcional. Mapa de variáveis com pares de 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);
evaluator.evaluateScript(now_GR, 'u_test_script', null);
gs.info(evaluator.getVariable('result'));
Saída:
300
GlideScopedEvaluator - getVariable(cadeia de caracteres name)
Retorna uma variável especificada de um objeto GlideScopedEvaluator.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome da variável a retornar. |
| Tipo | Descrição |
|---|---|
| Objeto | Valor da variável especificada. |
O exemplo a seguir mostra como chamar o método getVariable() para verificar o valor da variável de resposta.
(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 - GlideScopedEvaluator()
Instancia um objeto GlideScopedEvaluator.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
GlideScopedEvaluator - putVariable(cadeia de caracteres nome, valor do objeto)
Define uma variável no objeto GlideScopedEvaluator. Essas variáveis estão disponíveis para o script que este objeto GlideScopedEvaluator executa.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome da variável. |
| valor | Objeto | Valor da variável. |
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo a seguir mostra como chamar o método putVariable() para definir a variável de resposta 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);