GlideScopedEvaluator – Umfang

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 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 Umfang des Skripts wird durch den Umfang des Datensatzes definiert.

    GlideScopedEvaluator – GlideScopedEvaluator()

    Instanziiert ein GlideScopedEvaluator-Objekt.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine

    GlideScopedEvaluator – evaluateScript (GlideRecord grObj, ZeichenfolgenskriptField, Objektvariablen)

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

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    GrObj GlideRecord GlideRecord, der einen Skriptausdruck enthält.
    ScriptField Zeichenfolge Optional. Name des Felds, das den Skriptausdruck enthält.
    Variablen Objekt Optional. Zuordnung von Variablen mit Name-Wert-Paaren. Diese Variablen sind während der Ausführung dieser Methode für das Skript verfügbar.
    Tabelle : 3. Rückgaben
    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(Zeichenfolgenname)

    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 aufgerufen wird 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 (Zeichenfolgenname, Objektwert)

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

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

    Das folgende Beispiel zeigt, wie aufgerufen wird 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);