GlideScopedEvaluator – Umfang

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 2 Minuten Lesedauer
  • Die GlideScopedEvaluator Mit der API können Sie Skripts in einem GlideRecord-Feld sowohl aus bereichsbezogenen als auch globalen Serverskripts auswerten.

    Diese API wertet Datensätze mit definierten Skriptfeldern aus. Der Bereich des Skripts wird durch den Bereich des Datensatzes definiert.

    GlideScopedEvaluator – GlideScopedEvaluator()

    Instanziiert ein GlideScopedEvaluator-Objekt.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine

    GlideScopedEvaluator – evaluateScript(GlideRecord grObj, String scriptField, Object variables)

    Wertet ein Skript aus, das sich in einem GlideRecord-Feld befindet.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    grObj GlideRecord GlideRecord mit einem Skriptausdruck.
    scriptField Zeichenfolge Optional. Name des Felds, das den Skriptausdruck enthält.
    Variablen Objekt Optional. Zuordnung von Variablen zu Name-Wert-Paaren. Diese Variablen stehen dem Skript während der Ausführung dieser Methode zur Verfügung.
    Tabelle : 3. Ergebnisse
    Typ Beschreibung
    Objekt Ergebnis der Skriptausführung.
    // 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'));

    Ausgabe:

    300

    GlideScopedEvaluator – getVariable(String name)

    Gibt eine angegebene Variable aus einem GlideScopedEvaluator-Objekt zurück.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Name der zurückzugebenden Variable.
    Tabelle : 5. Rückgaben
    Typ Beschreibung
    Objekt Wert der angegebenen Variable.

    Das folgende Beispiel zeigt, wie Sie aufrufen GetVariable() Methode zum Überprüfen des Werts von Antwort Variable.

    (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(String name, Object value)

    Legt eine Variable im GlideScopedEvaluator-Objekt fest. Diese Variablen sind für das Skript verfügbar, das dieses GlideScopedEvaluator-Objekt ausführt.

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Name der Variable.
    Wert Objekt Wert der Variablen
    Tabelle : 7. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie Sie aufrufen PutVariable() Methode zum Festlegen von Antwort Variable auf „wahr“.

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