GlideScopedEvaluator : délimité

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 2 minutes de lecture
  • L’API GlideScopedEvaluator vous permet d’évaluer les scripts dans un champ GlideRecord à partir des scripts serveur inclus dans le champ d’application et des scripts serveur 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Évaluateur.

    Tableau 1. Paramètres
    Nom Type Description
    Néant

    GlideScopedEvaluator : evaluateScript(GlideRecord grObj, chaîne scriptField, variables d’objet)

    Évalue un script qui réside dans un champ GlideRecord.

    Tableau 2. Paramètres
    Nom Type Description
    grObj GlideRecord GlideRecord contenant une expression de script.
    Champ script 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.
    Tableau 3. Renvoie
    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.

    Tableau 4. Paramètres
    Nom Type Description
    nom Chaîne Nom de la variable à renvoyer.
    Tableau 5. Renvoie
    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.

    Tableau 6. Paramètres
    Nom Type Description
    nom Chaîne Nom de la variable.
    valide Objet Valeur de la variable.
    Tableau 7. Renvoie
    Type Description
    Néant

    L’exemple suivant montre comment appeler la méthode putVariable() pour définir la variable de réponse 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);