GlideScopedEvaluator : dans le champ d’application

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 2 minutes de lecture
  • 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.

    Tableau 1. Paramètres
    Nom Type Description
    Aucun

    GlideScopedEvaluator : evaluateScript(GlideRecord grObj, String, 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 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.
    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 GlideScopedÉvaluateurator.

    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
    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);