GlideRecord – Client
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.
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Spalte | Zeichenfolge | Die Spalte, nach der der Ergebnissatz sortiert werden soll. |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| name | Zeichenfolge | Name des zu überprüfenden Felds. |
| Wert | Objekt | Der Wert oder die Liste der Werte, die abgefragt werden sollen. |
| 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.
| 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):
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). |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| ResponseFunction | Funktion | Antwortfunktion für den Rückruf. |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| sys_id | Zeichenfolge | Die sys_ID des zu suchenden Datensatzes. |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| ResponseFunction | Funktion | Funktion, die ausgeführt werden soll, sobald der Datensatz eingefügt wurde. |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Spalte | Zeichenfolge | Der Spaltenname, der zum Sortieren des Ergebnissatzes verwendet werden soll. |
| 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.
| 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). |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| encodedQuery | Zeichenfolge | Codierte Abfragezeichenfolge, die der aktuellen Abfrageklausel hinzugefügt werden soll. |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| MaxQuery | Nummer | Der Grenzwert für die Anzahl der abzurufenden Datensätze. |
| Typ | Beschreibung |
|---|---|
| Ungültig |