GlideRecord – Client

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 8 Minuten Lesedauer
  • Die GlideRecord Die API stellt Methoden bereit, die Datenbankvorgänge ausführen. Diese API ermöglicht die Verwendung einiger GlideRecord-Funktionen in clientseitigen Skripts, z. B. Client-Skripts und UI-Richtlinienskripts.

    Ein GlideRecord enthält sowohl Datensätze als auch Felder. Abfragen mit Client-Seite GlideRecord Methoden werden auf dem Server ausgeführt. Daher wird vom Client-Browser eine Anforderung zum Abrufen der Datensatzdaten gestellt.

    Die Client-Seite GlideRecord API wird in bereichsbezogenen Anwendungen nicht unterstützt. Erstellen Sie stattdessen eine Skripteinbindung, und verwenden Sie GlideAJAX API, oder verwenden Sie die REST-APIs. Darüber hinaus wendet diese API Zugriffssteuerungslisten (ACLs) basierend auf den Anmeldeinformationen des Anwenders an, der das Skript ausführt. Verwenden Sie zum Ausführen des Codes auf dem Server ohne ACLs GlideAjax API.

    Client-Seite GlideRecord – GlideRecord(Zeichenfolge tableName)

    Erstellt eine Instanz der GlideRecord-Klasse für die angegebene Tabelle.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    tableName Zeichenfolge Die zu verwendende Tabelle.
    var now_GR = new GlideRecord('incident');

    Client-Seite GlideRecord – addOrderBy(Zeichenfolgenspalte)

    Fügt eine Spalte hinzu, nach der in der Abfrage sortiert werden soll.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    Spalte Zeichenfolge Die Spalte, nach der der Ergebnissatz sortiert werden soll.
    Tabelle : 3. Rückgaben
    Typ Beschreibung
    Ungültig

    Client-Seite GlideRecord – addQuery(Zeichenfolgenname, Objektwert)

    Fügt eine Abfrage hinzu, um Datensätze zurückzugeben, bei denen der angegebene Feldname einem angegebenen Wert entspricht (oder sich in einer Werteliste befindet).

    Wenn Sie mit SQL vertraut sind, ähnelt diese Methode der Klausel „Where“. Sie können eine oder mehrere Abfragen für einen einzelnen Filter erstellen, indem Sie diese Methode mehrmals aufrufen. Für diese Methode sind die Abfragen UND'ed. Sobald Sie alle gewünschten Abfragen definiert haben, rufen Sie auf Client-Seite GlideRecord – Abfrage (Zeichenfolgenname, Funktion responseFunction, Zeichenfolgenwert)Zum Ausführen der angegebenen Abfrageklausel (Filter).

    Um einen anderen Vorgang als UND auszuführen, verwenden Sie entweder AddQuery(Zeichenfolgenname, Objektanbieter, Objektwert) Methode oder SetEncodedQuery() Methode.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    name Zeichenfolge Name des zu überprüfenden Felds.
    Wert Objekt Der Wert oder die Liste der Werte, die abgefragt werden sollen.
    Tabelle : 5. Rückgaben
    Typ Beschreibung
    Ungültig

    Beispiel, das mehrere Abfragen zeigt.

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('priority', 4); // Priority is 4 – Low and,
    now_GR.addQuery('state', 3); // State is On Hold
    now_GR.query(response);
     
    function response(result) {
        while(result.next()) {
           // Print all INC with priority 4 – Low AND state is On Hold
            console.log(result.getValue('number')); 
        }
    }

    Beispiel, das zeigt, wie ein Zeichenfolgenobjekt übergeben wird.

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('short_description', new String('USB device not working')); // string object
    now_GR.addQuery('priority', 4); //number
    now_GR.query(response);
     
    function response(result) {
        while(result.next()) {
           // Print all INC with priority 4 – Low AND short description contains 'USB device not working'
            console.log(result.getValue('number')); 
        }
    }

    Client-Seite GlideRecord – addQuery (Zeichenfolgenname, Objektaktor, Objektwert)

    Fügt einen Filter hinzu, um Datensätze zurückzugeben, bei denen das Feld die angegebene Bedingung (Feld, Operator, Wert) erfüllt.

    Wenn Sie mit SQL vertraut sind, ähnelt diese Methode der Klausel „Where“. Sie können eine oder mehrere Abfragen für einen einzelnen Filter erstellen, indem Sie diese Methode mehrmals aufrufen. Sobald Sie alle gewünschten Abfragen definiert haben, rufen Sie auf Client-Seite GlideRecord – Abfrage (Zeichenfolgenname, Funktion responseFunction, Zeichenfolgenwert)Zum Ausführen der angegebenen Abfrageklausel (Filter).

    Verwenden Sie zum Erstellen komplexerer Abfragen SetEncodedQuery() Methode.

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    name Zeichenfolge Name des zu überprüfenden Felds.
    operator Objekt Abfrageoperator. Die verfügbaren Werte hängen vom Datentyp von ab Wert Parameter.
    Nummern:
    • =
    • !=
    • >
    • >=
    • <
    • <=
    Zeichenfolgen (muss in Großbuchstaben angegeben werden):
    • =
    • !=
    • IN
    • NICHT IN
    • STARTSWITH
    • ENDSWITH
    • ENTHÄLT
    • ENTHÄLT NICHT
    • INSTANZ VON
    Hinweis:
    Verwenden Sie nicht den Operator „GEFÄLLT MIR“. Verwenden Sie stattdessen ENTHÄLT.
    Wert Objekt Wert, für den abgefragt werden soll (Groß-/Kleinschreibung wird nicht beachtet).
    Tabelle : 7. Rückgaben
    Typ Beschreibung
    Ungültig

    Beispiel, das zeigt, wie einem Filter mehrere Abfragen hinzugefügt werden.

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('priority', '<=', 2); // Priority is 2 or higher and,
    now_GR.addQuery('short_description', 'CONTAINS', 'crash'); // Short description contains the word crash
    now_GR.query(response);
     
    function response(result) {
        while(result.next()) {
           // Print all INC with priority of 2 or higher AND short description contains "crash"
            console.log(result.getValue('number')); 
        }
    }

    Beispiel, das zeigt, wie ein Array übergeben wird, um mehrere Bedingungen in einer einzelnen Abfrage zu verifizieren.

    var priorities = [4,2]; 
    var now_GR = new GlideRecord('incident'); 
    now_GR.addQuery('priority', 'IN', priorities); 
    now_GR.query(response); 
    
    function response(result) {
      while(result.next()) {
        console.log(result.getValue('number')); 
      } 
    }

    Client-Seite GlideRecord – deleteRecord(function responseFunction)

    Löscht den aktuellen Datensatz und ruft die angegebene Antwortfunktion nach Abschluss auf.

    Tabelle : 8. Parameter
    Name Typ Beschreibung
    ResponseFunction Funktion Antwortfunktion für den Rückruf.
    Tabelle : 9. Rückgaben
    Typ Beschreibung
    Keine

    Dieses Beispiel löscht einen Datensatz und ruft dann die Antwortfunktion auf Antwort Dient zum Protokollieren einer Warnungsnachricht.

    var recordGR = new GlideRecord('incident');
    if (recordGR.get('99ebb4156fa831005be8883e6b3ee4b9')) {
      recordGR.deleteRecord(response);
    }
    
    function response(result) {
      alert('Deleted record sys_id: ' + result.getValue('sys_id'));
    }

    Ausgabe:

    Deleted record sys_id: 99ebb4156fa831005be8883e6b3ee4b9

    Client-Seite GlideRecord – GET(Zeichenfolge sys_ID)

    Führt eine GlideRecord-Abfrage für einen Datensatz mit der angegebenen sys_ID aus Diese Methode wird voraussichtlich zum Abfragen einzelner Datensätze verwendet, daher wird vor der Rückgabe ein nächster Vorgang ausgeführt.

    Tabelle : 10. Parameter
    Name Typ Beschreibung
    sys_id Zeichenfolge Die sys_ID des zu suchenden Datensatzes.
    Tabelle : 11. Rückgaben
    Typ Beschreibung
    Boolean „Wahr“, wenn mindestens ein übereinstimmender Datensatz gefunden wurde. Falsch, wenn keine Datensätze gefunden wurden.

    Client-Seite GlideRecord – getEncodedQuery()

    Ruft die Abfragebedingung des aktuellen Ergebnissatzes als codierte Abfragezeichenfolge ab.

    Tabelle : 12. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 13. Rückgaben
    Typ Beschreibung
    Zeichenfolge Eine codierte Abfragezeichenfolge, die alle Bedingungen enthält, die der Abfrage hinzugefügt wurden.

    Client-Seite GlideRecord – getLimit()

    Gibt den Grenzwert für Datensätze zurück, die von der GlideRecord-Abfrage zurückgegeben werden sollen.

    Tabelle : 14. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 15. Rückgaben
    Typ Beschreibung
    Nummer Der Grenzwert für Datensätze, die von der GlideRecord-Abfrage zurückgegeben werden sollen.

    Client-Seite GlideRecord – getTableName()

    Ruft den Namen der Tabelle ab, die diesem GlideRecord zugeordnet ist.

    Tabelle : 16. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 17. Rückgaben
    Typ Beschreibung
    Zeichenfolge Tabellenname
    var item = new GlideRecord('sc_request'); 
    item.addQuery('sys_id', current.request); 
    item.query(itemResponse); 
     
    function itemResponse(item) {
       alert('The table is ' + item.getTableName());
    }

    Client-Seite GlideRecord – hasNext()

    Bestimmt, ob der GlideRecord weitere Datensätze enthält.

    Tabelle : 18. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 19. Rückgaben
    Typ Beschreibung
    Boolean „Wahr“, wenn der Abfragesatz weitere Datensätze enthält.

    Client-Seite GlideRecord – INSERT(function responseFunction)

    Fügt einen neuen Datensatz mithilfe der Feldwerte ein, die für den aktuellen Datensatz festgelegt wurden.

    Tabelle : 20. Parameter
    Name Typ Beschreibung
    ResponseFunction Funktion Funktion, die ausgeführt werden soll, sobald der Datensatz eingefügt wurde.
    Tabelle : 21. Rückgaben
    Typ Beschreibung
    Zeichenfolge SYS_ID des eingefügten Datensatzes oder null, wenn der Datensatz nicht eingefügt wurde.
    var now_GR = new GlideRecord('incident');
    now_GR.short_description = 'Learn about GlideRecord';
    var recResponse = now_GR.insert(handleResponse);
    
    function handleResponse(recResponse, answer) {
    // Answer will be the sys_id of the created record or null
    alert('Newly created sys_id is - ' + answer + ' exists');
    }

    Client-Seite GlideRecord – Next()

    Wechselt zum nächsten Datensatz im GlideRecord.

    Tabelle : 22. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 23. Rückgaben
    Typ Beschreibung
    Boolean „Falsch“, wenn der Abfragesatz keine weiteren Datensätze enthält.
    var rec = new GlideRecord('incident');
    rec.query(recResponse);
     
    function recResponse(rec) {
      while (rec.next()) { 
        alert(rec.number + ' exists');
      }
    }

    Client-Seite GlideRecord – orderBy(Zeichenfolgenspalte)

    Gibt eine orderBy-Spalte an. Kann mehrmals aufgerufen werden, um nach mehreren Spalten zu sortieren.

    Tabelle : 24. Parameter
    Name Typ Beschreibung
    Spalte Zeichenfolge Der Spaltenname, der zum Sortieren des Ergebnissatzes verwendet werden soll.
    Tabelle : 25. Rückgaben
    Typ Beschreibung
    Ungültig
    function UpdateProjectWBS(project) {
      var count = 0;
      var child = new GlideRecord('pm_project_task');
      child.addQuery('parent', project.sys_id);
      child.orderBy('order');
      child.orderBy('number');
      child.query(childResponse);
      g_form.addInfoMessage(count + ' Project Tasks updated');
    }
     
    function childResponse(child) {
      var len = child.getRowCount().toString().length;
      var seq = 0;
      while (child.next()) {
        count += UpdateProjectTaskWBS(child, 1, ++seq, len, '');
      }
    }

    Client-Seite GlideRecord – Abfrage (Zeichenfolgenname, Funktion responseFunction, Zeichenfolgenwert)

    Führt die Abfrage zum Server anhand der Tabelle basierend auf dem Filter „addQuery()“ aus. Diese Methode fragt die GlideRecord-Tabelle sowie alle Referenzen der Tabelle ab.

    Führen Sie keine synchronen Abfrageaufrufe durch. Durch das Ausführen einer Abfrage ohne Antwortfunktion wird der Aufruf synchron, d. h. die Anzeige wartet auf die Abfrageantwort, bevor fortgefahren wird.

    Tabelle : 26. Parameter
    Name Typ Beschreibung
    name Zeichenfolge Optional. Der Name eines abzufragenden Felds.
    ResponseFunction Funktion Die Funktion, die aufgerufen wird, wenn die Abfrageergebnisse verfügbar sind.
    Wert Zeichenfolge Optional. Der Feldwert, nach dem abgefragt werden soll. Jedes Literalpaar wird als Abfragepaar betrachtet (Feld: Wert).
    Tabelle : 27. Rückgaben
    Typ Beschreibung
    Ungültig

    Das folgende ist ein einfaches Beispiel mit einer Antwortfunktion.

    var rec = new GlideRecord('incident');
    rec.query(recResponse);
     
    function recResponse(rec) {
      while (rec.next()) { 
       alert(rec.number + ' exists');
      } 
    }

    Das folgende Beispiel zeigt den Unterschied zwischen synchroner und asynchroner Syntax mit einem asynchronen Beispiel.

    // synchronous call syntax (no response function): DO NOT USE
            query();
            
            // asynchronous call syntax
            // performs query with current conditions, calls responseFunction when done
            query(responseFunction)
            
            // synchronous call syntax (no response function): DO NOT USE
            // adds "category=hardware" to current query conditions and performs query
            query('category', 'hardware')
            
            // asynchronous call syntax
            // adds "category=hardware" to current query conditions, performs query, and calls responseFunction when done
            query('category', 'hardware', responseFunction)
            
            // asynchronous call example
            // adds "user_name=abel.tuter" to current query conditions, performs query, and calls defined response function when done
            function onLoad() {
            var now_GR = new GlideRecord("sys_user");
            now_GR.query("user_name", "abel.tuter", function(now_GR) {
            if (now_GR.next()) {
            alert("You can access fields by name from the client API, just like in the server API:\n now_GR.name = " + now_GR.name);
            alert("You can also access fields using getValue():\n now_GR.getValue(\"email\") = " + now_GR.getValue("email"));
            if (now_GR.getDisplayValue) {
            alert("In Service Portal, Mobile, and Agent Workspace, you can access a field's display value:\n now_GR.getDisplayValue(\"company\") = " + now_GR.getDisplayValue("company"));
            } else {
            alert("On the desktop, you cannot access a field's display value, but can get its sys_id:\n now_GR.company = " + now_GR.company);
            }
            alert("You cannot dot-walk in the client API:\n now_GR.company.name = " + now_GR.company.name);
            }
            });
            }

    Client-Seite GlideRecord – setEncodedQuery(Zeichenfolge encodedQuery)

    Fügt der aktuellen Abfrageklausel eine angegebene codierte Abfragezeichenfolge hinzu.

    Mit dieser Methode können Sie im Gegensatz zu anderen clientseitigen Filtern (codierte Abfragezeichenfolgen) in einem einzelnen Abfrageaufruf angeben AddQuery() Methoden. Sobald Sie alle gewünschten Abfragen definiert haben, rufen Sie auf Client-Seite GlideRecord – Abfrage (Zeichenfolgenname, Funktion responseFunction, Zeichenfolgenwert)Zum Ausführen der angegebenen Abfrageklausel (Filter). Weitere Informationen zu codierten Abfragezeichenfolgen finden Sie unter Codierte Abfragezeichenfolgen .

    Wenn Sie diese Methode mehrmals aufrufen, bevor Sie die query()-Methode aufrufen, werden die Abfragen zusammen gestellt.

    Tabelle : 28. Parameter
    Name Typ Beschreibung
    encodedQuery Zeichenfolge Codierte Abfragezeichenfolge, die der aktuellen Abfrageklausel hinzugefügt werden soll.
    Tabelle : 29. Rückgaben
    Typ Beschreibung
    Ungültig
    var now_GR = new GlideRecord('incident');
    now_GR.setEncodedQuery('priority=4^ORstate=3');
    now_GR.query(response);
     
    function response(result) {
        while(result.next()) {
            console.log(result.getValue('number'));
        }
    }
    

    Client-Seite GlideRecord – setLimit(Number maxQuery)

    Legt den Grenzwert für die Anzahl der Datensätze im GlideRecord fest.

    Tabelle : 30. Parameter
    Name Typ Beschreibung
    MaxQuery Nummer Der Grenzwert für die Anzahl der abzurufenden Datensätze.
    Tabelle : 31. Rückgaben
    Typ Beschreibung
    Ungültig