GlideRecord – Umfang
Der Umfang ist festgelegt GlideRecord API wird für Datenbankvorgänge verwendet.
Die GlideRecord API ist das primäre Mittel für die Verbindung mit der Datenbank auf dem serverseitigen Code. Ein GlideRecord ist ein Objekt, das Datensätze aus einer einzelnen Tabelle enthält. Verwenden Sie die API, um ein GlideRecord-Objekt zu instanziieren und Abfrageparameter, Filter, Grenzwerte und Reihenfolge hinzuzufügen.
Siehe GlideRecord artikel mit Details zum Erstellen und Ausführen von Abfragen.
Für Informationen zu einer Klasse, die dieselben Funktionen wie ausführt GlideRecord Und erzwingt ACLs, siehe Mit GlideRecordSecure .
Testen Sie Abfragen immer auf einer Subproduktionsinstanz, bevor Sie sie in einer Produktionsinstanz bereitstellen. Eine falsch konstruierte codierte Abfrage, z. B. das Hinzufügen eines ungültigen Feldnamens, erzeugt eine ungültige Abfrage. Wenn die ungültige Abfrage ausgeführt wird, wird der ungültige Teil der Abfragebedingung verworfen, und die Ergebnisse basieren auf dem gültigen Teil der Abfrage, der möglicherweise alle Datensätze aus der Tabelle zurückgibt. Mit Einfügen() , Aktualisieren () , DeleteRecord() , Oder DeleteMultiple() Die Methode für fehlerhafte Abfrageergebnisse kann zu Datenverlust führen.
Sie können festlegen glide.invalid_query.returns_no_rowsSystemeigenschaft auf „wahr“, damit Abfragen mit ungültigen codierten Abfragen keine Datensätze zurückgeben. In einigen Fällen kann die Abfrage weiterhin Datensätze in API-Ergebnissen zurückgeben, auch wenn glide.invalid_query.returns_no_rowsIst auf „wahr“ festgelegt. Dies geschieht in Abfragen, bei denen ein ungültiger Abfragebegriff mit einem WHERE-Operator verwendet wird. In solchen Abfragen ignoriert der WHERE-Operator die ungültigen Begriffe, interpretiert jedoch den Rest der Abfrageanweisung und gibt ihn zurück. Weitere Informationen zu dieser Systemeigenschaft und ihrer Funktionalität finden Sie unter Available system properties.
Ruft Werte aus Datensätzen ab
Verwenden Sie in den meisten Fällen kein Dot-Walking, um Werte aus einem Datensatz abzurufen. DOT-Walking ruft das gesamte Objekt anstelle des Feldwerts ab. Das Abrufen des Objekts verwendet mehr Speicher und kann bei Verwendung in Arrays oder zu unerwünschten Ergebnissen führen Serviceportal.
Anstatt das gesamte Objekt abzurufen, können Sie eine der folgenden Methoden verwenden, um die Feldwerte zu kopieren:
var mgr = current.caller_id.manager.toString();Bereichsbezogener GlideRecord – addActiveQuery()
Fügt einen Filter hinzu, um aktive Datensätze zurückzugeben.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| GlideQueryCondition | Filter, um aktive Datensätze zurückzugeben. |
var inc = new GlideRecord('incident');
inc.addActiveQuery();
inc.query();
Bereichsbezogener GlideRecord – addEncodedQuery(Zeichenfolgenabfrage, boolescher enforceFieldACL)
Fügt anderen Abfragen, die möglicherweise festgelegt wurden, eine codierte Abfrage hinzu.
Testen Sie Abfragen immer auf einer Subproduktionsinstanz, bevor Sie sie in einer Produktionsinstanz bereitstellen. Eine falsch konstruierte codierte Abfrage, z. B. das Hinzufügen eines ungültigen Feldnamens, erzeugt eine ungültige Abfrage. Wenn die ungültige Abfrage ausgeführt wird, wird der ungültige Teil der Abfragebedingung verworfen, und die Ergebnisse basieren auf dem gültigen Teil der Abfrage, der möglicherweise alle Datensätze aus der Tabelle zurückgibt. Mit Einfügen() , Aktualisieren () , DeleteRecord() , Oder DeleteMultiple() Die Methode für fehlerhafte Abfrageergebnisse kann zu Datenverlust führen.
Sie können festlegen glide.invalid_query.returns_no_rowsSystemeigenschaft auf „wahr“, damit Abfragen mit ungültigen codierten Abfragen keine Datensätze zurückgeben. In einigen Fällen kann die Abfrage weiterhin Datensätze in API-Ergebnissen zurückgeben, auch wenn glide.invalid_query.returns_no_rowsIst auf „wahr“ festgelegt. Dies geschieht in Abfragen, bei denen ein ungültiger Abfragebegriff mit einem WHERE-Operator verwendet wird. In solchen Abfragen ignoriert der WHERE-Operator die ungültigen Begriffe, interpretiert jedoch den Rest der Abfrageanweisung und gibt ihn zurück. Weitere Informationen zu dieser Systemeigenschaft und ihrer Funktionalität finden Sie unter Available system properties.
| Name | Typ | Beschreibung |
|---|---|---|
| query | Zeichenfolge | Ein Codierte Abfragezeichenfolge . |
| EnforceFieldACL | Boolean | Optional. Kennzeichnung, die angibt, ob Feld-ACL-Regeln (Zugriffssteuerungsliste) erzwungen werden sollen. Gültige Werte:
Standardwert: false |
| Typ | Beschreibung |
|---|---|
| Ungültig |
var queryString = "priority=1^ORpriority=2";
var now_GR = new GlideRecord('incident');
now_GR.addEncodedQuery(queryString);
now_GR.query();
while (now_GR.next()) {
gs.addInfoMessage(now_GR.getValue('number'));
}
Bereichsbezogener GlideRecord – addFunction(Objektfunktion)
Wendet ein vordefiniertes GlideDBFunctionBuilder-Objekt auf einen Datensatz an.
Verwenden Sie GlideDBFunctionBuilder Bereichsbezogene Klasse zum Definieren einer Funktion. Nachdem die Funktion definiert wurde, verwenden Sie AddFunction (Objektfunktion) Methode zum Anwenden der Funktion auf einen Datensatz.
| Name | Typ | Beschreibung |
|---|---|---|
| Funktion | Objekt | GlideDBFunctionBuilder-Objekt, das einen SQL-Vorgang definiert. |
| Typ | Beschreibung |
|---|---|
| Ungültig |
var functionBuilder = new GlideDBFunctionBuilder();
var myAddingFunction = functionBuilder.add();
myAddingFunction = functionBuilder.field('order');
myAddingFunction = functionBuilder.field('priority');
myAddingFunction = functionBuilder.build();
// Query incidents in which order + priority is less than 5 and display that added value
var now_GR = new GlideRecord('incident');
now_GR.addFunction(myAddingFunction);
now_GR.addQuery(myAddingFunction, '<', 5);
now_GR.query();
while(now_GR.next())
gs.info(now_GR.getValue(myAddingFunction));
Ausgabe:
1
4
3
1
1
2
1
Bereichsbezogener GlideRecord – addJoinQuery (Zeichenfolge verknüpfungTabelle, Zeichenfolge primaryField, Zeichenfolge verknüpfungTableField)
Fügt einen Filter hinzu, um Datensätze basierend auf einer Beziehung in einer Tabelle zurückzugeben, die sich auf den aktuellen GlideRecord bezieht.
Sie können diese Methode verwenden, um alle Anwender in der Datenbankgruppe über die Tabelle „Gruppenmitglied“ [sys_user_grmember] zu finden, oder um alle Probleme zu finden, denen ein Incident über die Beziehung „incident.problem_id zugewiesen ist.
Dies ist kein echter Datenbank-Join. AddJoinQuery() Fügt eine Unterabfrage hinzu. Obwohl der Ergebnissatz basierend auf dem Join eingeschränkt ist, haben Sie Zugriff auf die einzigen Felder in der Basistabelle (diejenigen, die sich in der Tabelle befinden, mit der der GlideRecord initialisiert wurde).
Testen Sie Abfragen immer auf einer Subproduktionsinstanz, bevor Sie sie in einer Produktionsinstanz bereitstellen. Eine falsch konstruierte codierte Abfrage, z. B. das Hinzufügen eines ungültigen Feldnamens, erzeugt eine ungültige Abfrage. Wenn die ungültige Abfrage ausgeführt wird, wird der ungültige Teil der Abfragebedingung verworfen, und die Ergebnisse basieren auf dem gültigen Teil der Abfrage, der möglicherweise alle Datensätze aus der Tabelle zurückgibt. Mit Einfügen() , Aktualisieren () , DeleteRecord() , Oder DeleteMultiple() Die Methode für fehlerhafte Abfrageergebnisse kann zu Datenverlust führen.
Sie können festlegen glide.invalid_query.returns_no_rowsSystemeigenschaft auf „wahr“, damit Abfragen mit ungültigen codierten Abfragen keine Datensätze zurückgeben. In einigen Fällen kann die Abfrage weiterhin Datensätze in API-Ergebnissen zurückgeben, auch wenn glide.invalid_query.returns_no_rowsIst auf „wahr“ festgelegt. Dies geschieht in Abfragen, bei denen ein ungültiger Abfragebegriff mit einem WHERE-Operator verwendet wird. In solchen Abfragen ignoriert der WHERE-Operator die ungültigen Begriffe, interpretiert jedoch den Rest der Abfrageanweisung und gibt ihn zurück. Weitere Informationen zu dieser Systemeigenschaft und ihrer Funktionalität finden Sie unter Available system properties.
| Name | Typ | Beschreibung |
|---|---|---|
| JoinTable | Zeichenfolge | Name der Tabelle, die im Join verwendet werden soll, z. B. 'incident'. |
| PrimaryField | Zeichenfolge | Optional. Name des Felds im GlideRecord, das zum Verbinden des in angegebenen Felds verwendet werden soll joinTableFieldParameter. Standard: sys_ID |
| Feld „JoinTableField“ | Zeichenfolge | Optional. Name des Felds in der in angegebenen Tabelle joinTableZur Verwendung zum Verbinden der Tabellen. Standard: Erstes Feld in der in angegebenen Tabelle joinTableDies ist ein Referenzfeld zur aktuellen GlideRecord-Tabelle. |
| Typ | Beschreibung |
|---|---|
| GlideQueryCondition | Filter, der Datensätze auflistet, bei denen die Beziehungen übereinstimmen. |
Suchen Sie nach Problemen, an die ein Incident angehängt ist. Dieses Beispiel gibt Probleme zurück, denen Incidents zugeordnet sind. Es werden jedoch keine Werte aus den Incidents abgerufen, die als Teil der Abfrage zurückgegeben werden.
var prob = new GlideRecord('problem');
prob.addJoinQuery('incident');
prob.query();
Suchen Sie inaktive Probleme mit zugehörigen Incidents.
// Look for Problem records that have associated Incident records
var now_GR = new GlideRecord('problem');
var grSQ = now_GR.addJoinQuery('incident');
// Where the Problem records are "active=false"
now_GR.addQuery('active', 'false');
// And the Incident records are "active=true"
grSQ.addCondition('active', 'true');
// Query
now_GR.query();
// Iterate and output results
while (now_GR.next()) {
gs.info(now_GR.getValue('number'));
}
Suchen Sie Probleme, denen Incidents zugeordnet sind, denen der Incident zugeordnet ist caller_idDer Feldwert stimmt mit dem des Problems überein opened_byFeld.
var now_GR = new GlideRecord('problem');
now_GR.addJoinQuery('incident', 'opened_by', 'caller_id');
now_GR.query();
Bereichsbezogener GlideRecord – addNotNullQuery(String fieldName)
Ein Filter, der Datensätze angibt, bei denen der Wert des im Parameter übergebenen Felds nicht null ist.
Testen Sie Abfragen immer auf einer Subproduktionsinstanz, bevor Sie sie in einer Produktionsinstanz bereitstellen. Eine falsch konstruierte codierte Abfrage, z. B. das Hinzufügen eines ungültigen Feldnamens, erzeugt eine ungültige Abfrage. Wenn die ungültige Abfrage ausgeführt wird, wird der ungültige Teil der Abfragebedingung verworfen, und die Ergebnisse basieren auf dem gültigen Teil der Abfrage, der möglicherweise alle Datensätze aus der Tabelle zurückgibt. Mit Einfügen() , Aktualisieren () , DeleteRecord() , Oder DeleteMultiple() Die Methode für fehlerhafte Abfrageergebnisse kann zu Datenverlust führen.
Sie können festlegen glide.invalid_query.returns_no_rowsSystemeigenschaft auf „wahr“, damit Abfragen mit ungültigen codierten Abfragen keine Datensätze zurückgeben. In einigen Fällen kann die Abfrage weiterhin Datensätze in API-Ergebnissen zurückgeben, auch wenn glide.invalid_query.returns_no_rowsIst auf „wahr“ festgelegt. Dies geschieht in Abfragen, bei denen ein ungültiger Abfragebegriff mit einem WHERE-Operator verwendet wird. In solchen Abfragen ignoriert der WHERE-Operator die ungültigen Begriffe, interpretiert jedoch den Rest der Abfrageanweisung und gibt ihn zurück. Weitere Informationen zu dieser Systemeigenschaft und ihrer Funktionalität finden Sie unter Available system properties.
| Name | Typ | Beschreibung |
|---|---|---|
| fieldName | Zeichenfolge | Der Name des zu prüfenden Felds. |
| Typ | Beschreibung |
|---|---|
| GlideQueryCondition | Ein Filter, der Datensätze angibt, bei denen der Wert des im Parameter übergebenen Felds nicht null ist. |
var target = new GlideRecord('incident');
target.addNotNullQuery('short_description');
target.query(); // Issue the query to the database to get all records where short_description is not null
while (target.next()) {
// add code here to process the incident record
}
Bereichsbezogener GlideRecord – addNullQuery(String fieldName)
Fügt einen Filter hinzu, um Datensätze zurückzugeben, bei denen der Wert des angegebenen Felds null ist.
Testen Sie Abfragen immer auf einer Subproduktionsinstanz, bevor Sie sie in einer Produktionsinstanz bereitstellen. Eine falsch konstruierte codierte Abfrage, z. B. das Hinzufügen eines ungültigen Feldnamens, erzeugt eine ungültige Abfrage. Wenn die ungültige Abfrage ausgeführt wird, wird der ungültige Teil der Abfragebedingung verworfen, und die Ergebnisse basieren auf dem gültigen Teil der Abfrage, der möglicherweise alle Datensätze aus der Tabelle zurückgibt. Mit Einfügen() , Aktualisieren () , DeleteRecord() , Oder DeleteMultiple() Die Methode für fehlerhafte Abfrageergebnisse kann zu Datenverlust führen.
Sie können festlegen glide.invalid_query.returns_no_rowsSystemeigenschaft auf „wahr“, damit Abfragen mit ungültigen codierten Abfragen keine Datensätze zurückgeben. In einigen Fällen kann die Abfrage weiterhin Datensätze in API-Ergebnissen zurückgeben, auch wenn glide.invalid_query.returns_no_rowsIst auf „wahr“ festgelegt. Dies geschieht in Abfragen, bei denen ein ungültiger Abfragebegriff mit einem WHERE-Operator verwendet wird. In solchen Abfragen ignoriert der WHERE-Operator die ungültigen Begriffe, interpretiert jedoch den Rest der Abfrageanweisung und gibt ihn zurück. Weitere Informationen zu dieser Systemeigenschaft und ihrer Funktionalität finden Sie unter Available system properties.
| Name | Typ | Beschreibung |
|---|---|---|
| fieldName | Zeichenfolge | Der Name des zu prüfenden Felds. |
| Typ | Beschreibung |
|---|---|
| GlideQueryCondition | Die Abfragebedingung, die dem GlideRecord hinzugefügt wurde. |
var target = new GlideRecord('incident');
target.addNullQuery('short_description');
target.query(); // Issue the query to the database to get all records where short_description is null
while (target.next()) {
// add code here to process the incident record
}
Bereichsbezogener GlideRecord – addQuery(Zeichenfolgenname, Objektwert)
Erstellen Sie eine Suchabfrage, und geben Sie die Zeilen zurück, die der Anforderung entsprechen.
Wenn Sie mit SQL vertraut sind, ähnelt diese Methode der Klausel „Where“. Mindestens eins AddQuery() Aufrufe können in einer einzelnen Abfrage erfolgen. In diesem Fall sind die Abfragen UND'ed. Wenn eine der Abfrageanweisungen ODER sein muss, verwenden Sie GlideQueryCondition Methode AddOrCondition() .
Wann AddQuery() Wird mit nur zwei Parametern aufgerufen, Tabellenname und Vergleichswert, z. B. MyObj.addQuery('category','Hardware'); , Der Operator wird als „gleich“ angenommen.
Testen Sie Abfragen immer auf einer Subproduktionsinstanz, bevor Sie sie in einer Produktionsinstanz bereitstellen. Eine falsch konstruierte codierte Abfrage, z. B. das Hinzufügen eines ungültigen Feldnamens, erzeugt eine ungültige Abfrage. Wenn die ungültige Abfrage ausgeführt wird, wird der ungültige Teil der Abfragebedingung verworfen, und die Ergebnisse basieren auf dem gültigen Teil der Abfrage, der möglicherweise alle Datensätze aus der Tabelle zurückgibt. Mit Einfügen() , Aktualisieren () , DeleteRecord() , Oder DeleteMultiple() Die Methode für fehlerhafte Abfrageergebnisse kann zu Datenverlust führen.
Sie können festlegen glide.invalid_query.returns_no_rowsSystemeigenschaft auf „wahr“, damit Abfragen mit ungültigen codierten Abfragen keine Datensätze zurückgeben. In einigen Fällen kann die Abfrage weiterhin Datensätze in API-Ergebnissen zurückgeben, auch wenn glide.invalid_query.returns_no_rowsIst auf „wahr“ festgelegt. Dies geschieht in Abfragen, bei denen ein ungültiger Abfragebegriff mit einem WHERE-Operator verwendet wird. In solchen Abfragen ignoriert der WHERE-Operator die ungültigen Begriffe, interpretiert jedoch den Rest der Abfrageanweisung und gibt ihn zurück. Weitere Informationen zu dieser Systemeigenschaft und ihrer Funktionalität finden Sie unter Available system properties.
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Name des abzufragenden Tabellenfelds oder einer der folgenden reservierten Namen:
Hinweis: Weitere Informationen zur Verwendung der reservierten Namen finden Sie unter Tabellen im Skript werden abgefragt. |
| Wert | Objekt | Wert, für den abgefragt werden soll (Groß-/Kleinschreibung wird nicht beachtet). |
| Typ | Beschreibung |
|---|---|
| GlideQueryCondition | Abfragebedingung wurde dem GlideRecord hinzugefügt. |
Dieses Codebeispiel zeigt, wie die aktiven Datensätze in der Incident-Tabelle abgefragt und dann alle auf „inaktiv“ festgelegt werden.
var rec = new GlideRecord('incident');
rec.addQuery('active', true);
rec.query();
while (rec.next()) {
rec.setValue('active', false);
rec.update();
}
Dieses Codebeispiel fügt eine Abfrage für Datensätze hinzu, die mit „E-Mail-Server“ in der Tabelle „kb_Knowledge“ übereinstimmen, wobei Suchergebnisrelevanzwerte anhand von Einstellungen aus der Portaltextindexgruppe berechnet werden.
var now_GR = new GlideRecord("kb_knowledge);
now_GR.addQuery("123TEXTQUERY321", "email server");
now_GR.addQuery("123TEXTINDEXGROUP321", "portal");
now_GR.query();
Bereichsbezogener GlideRecord – addQuery(Zeichenfolgenname, Zeichenfolgenoperator, Objektwert)
Bietet die Möglichkeit, eine Anforderung zu erstellen, die bei Ausführung die Zeilen aus der angegebenen Tabelle zurückgibt, die der Anforderung entsprechen.
Wenn Sie mit SQL vertraut sind, ähnelt diese Methode der Klausel „Where“. Mindestens eins AddQuery() Aufrufe können in einer einzelnen Abfrage erfolgen. In diesem Fall sind die Abfragen UND'ed. Wenn eine der Abfrageanweisungen ODER sein muss, verwenden Sie GlideQueryCondition Methode AddOrCondition() .
Testen Sie Abfragen immer auf einer Subproduktionsinstanz, bevor Sie sie in einer Produktionsinstanz bereitstellen. Eine falsch konstruierte codierte Abfrage, z. B. das Hinzufügen eines ungültigen Feldnamens, erzeugt eine ungültige Abfrage. Wenn die ungültige Abfrage ausgeführt wird, wird der ungültige Teil der Abfragebedingung verworfen, und die Ergebnisse basieren auf dem gültigen Teil der Abfrage, der möglicherweise alle Datensätze aus der Tabelle zurückgibt. Mit Einfügen() , Aktualisieren () , DeleteRecord() , Oder DeleteMultiple() Die Methode für fehlerhafte Abfrageergebnisse kann zu Datenverlust führen.
Sie können festlegen glide.invalid_query.returns_no_rowsSystemeigenschaft auf „wahr“, damit Abfragen mit ungültigen codierten Abfragen keine Datensätze zurückgeben. In einigen Fällen kann die Abfrage weiterhin Datensätze in API-Ergebnissen zurückgeben, auch wenn glide.invalid_query.returns_no_rowsIst auf „wahr“ festgelegt. Dies geschieht in Abfragen, bei denen ein ungültiger Abfragebegriff mit einem WHERE-Operator verwendet wird. In solchen Abfragen ignoriert der WHERE-Operator die ungültigen Begriffe, interpretiert jedoch den Rest der Abfrageanweisung und gibt ihn zurück. Weitere Informationen zu dieser Systemeigenschaft und ihrer Funktionalität finden Sie unter Available system properties.
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Tabellenfeldname. |
| operator | Zeichenfolge | Abfrageoperator. Die verfügbaren Werte hängen vom Datentyp von ab Wert Parameter. Nummern:
Zeichenfolgen (muss in Großbuchstaben angegeben werden):
Hinweis: Verwenden Sie „ENTHÄLT“ anstelle des „GEFÄLLT MIR“-Operators. |
| Wert | Objekt | Wert, für den abgefragt werden soll (Groß-/Kleinschreibung wird nicht beachtet). |
| Typ | Beschreibung |
|---|---|
| GlideQueryCondition | Dem GlideRecord hinzugefügte Abfragebedingung. |
var rec = new GlideRecord('incident');
rec.addQuery('active',true);
rec.addQuery('sys_created_on', ">", "2010-01-19 04:05:00");
rec.query();
while (rec.next()) {
rec.setValue('active', false);
gs.info('Active incident ' + rec.getValue('number') + ' closed');
rec.update();
}
Mit dem Operator IN.
var now_GR = new GlideRecord('incident');
now_GR.addQuery('number','IN','INC00001,INC00002');
now_GR.query();
while(now_GR.next()) {
//do something....
}
Bereichsbezogener GlideRecord – addSystemEncodedQuery (Zeichenfolgenabfrage)
Fügt eine Abfrage mithilfe einer codierten Abfragezeichenfolge hinzu. Verwenden Sie diese Methode, um den Abfragezugriff zu umgehen.
Verwenden Sie diese Methode, wenn Zugriff auf Systemebene beabsichtigt ist, damit die Durchsetzung der Abfrage-ACL für den Anwender explizit umgangen wird. Verwenden AddUserEncodedQuery() Dient zum Erzwingen des Abfragezugriffs.
Für Informationen zur Verwendung dieser Methode mit GlideRecordSecure , Siehe Abfrage-ACLs werden erzwungen.
Testen Sie Abfragen immer auf einer Subproduktionsinstanz, bevor Sie sie in einer Produktionsinstanz bereitstellen. Eine falsch konstruierte codierte Abfrage, z. B. das Hinzufügen eines ungültigen Feldnamens, erzeugt eine ungültige Abfrage. Wenn die ungültige Abfrage ausgeführt wird, wird der ungültige Teil der Abfragebedingung verworfen, und die Ergebnisse basieren auf dem gültigen Teil der Abfrage, der möglicherweise alle Datensätze aus der Tabelle zurückgibt. Mit Einfügen() , Aktualisieren () , DeleteRecord() , Oder DeleteMultiple() Die Methode für fehlerhafte Abfrageergebnisse kann zu Datenverlust führen.
Sie können festlegen glide.invalid_query.returns_no_rowsSystemeigenschaft auf „wahr“, damit Abfragen mit ungültigen codierten Abfragen keine Datensätze zurückgeben. In einigen Fällen kann die Abfrage weiterhin Datensätze in API-Ergebnissen zurückgeben, auch wenn glide.invalid_query.returns_no_rowsIst auf „wahr“ festgelegt. Dies geschieht in Abfragen, bei denen ein ungültiger Abfragebegriff mit einem WHERE-Operator verwendet wird. In solchen Abfragen ignoriert der WHERE-Operator die ungültigen Begriffe, interpretiert jedoch den Rest der Abfrageanweisung und gibt ihn zurück. Weitere Informationen zu dieser Systemeigenschaft und ihrer Funktionalität finden Sie unter Available system properties.
| Name | Typ | Beschreibung |
|---|---|---|
| query | Zeichenfolge | Ein Codierte Abfragezeichenfolge . |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel zeigt, wie der Zahlenwert der ersten 12 Incidents mit einem Prioritätswert von 1 oder 2 zurückgegeben wird.
var queryString = "priority=1^ORpriority=2";
var now_GR = new GlideRecord('incident');
now_GR.addSystemEncodedQuery(queryString);
now_GR.setLimit(12);
now_GR.query();
while (now_GR.next()) {
gs.info(now_GR.getValue('number'));
}
Ausgabe:
*** Script: INC0002318
*** Script: INC0000144
*** Script: INC0006927
*** Script: INC0003577
*** Script: INC0006928
*** Script: INC0000135
*** Script: INC0005637
*** Script: INC0003196
*** Script: INC0002647
*** Script: INC0004074
*** Script: INC0003444
*** Script: INC0001694
Bereichsbezogener GlideRecord – addSystemOrderBy(Zeichenfolgenname)
Gibt eine orderBy-Spalte an. Verwenden Sie diese Methode, um den Abfragezugriff zu umgehen.
Verwenden Sie diese Methode, wenn Zugriff auf Systemebene beabsichtigt ist, damit die Durchsetzung der Abfrage-ACL für den Anwender explizit umgangen wird. Verwenden AddUserOrderBy() Dient zum Erzwingen des Abfragezugriffs.
Rufen Sie diese Methode mehrmals auf, um nach mehreren Spalten zu sortieren. Ergebnisse werden in aufsteigender Reihenfolge angeordnet. Informationen zum Anordnen von Datensätzen in absteigender Reihenfolge finden Sie unter AddSystemOrderByDesc() .
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Spaltenname, der zum Sortieren der Datensätze in diesem GlideRecord-Objekt verwendet werden soll. |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel zeigt, wie Incident-Datensätze in aufsteigender Reihenfolge nach Kurzbeschreibung angeordnet werden.
var queryString = "priority=1";
var now_GR = new GlideRecord('incident');
now_GR.addSystemOrderBy('short_description'); // Ascending Order
now_GR.addSystemEncodedQuery(queryString);
now_GR.setLimit(6);
now_GR.query();
while (now_GR.next()) {
gs.info(now_GR.getValue('short_description'));
}
Ausgabe:
*** Script: Access token revoked
*** Script: Access token revoked
*** Script: Account locked, pls reset my password for Linkedin Sales Navigator
*** Script: Active Directory (AD) synchronization error
*** Script: Adobe Photoshop & Digital Publishing Instance is down
*** Script: Application response time is poor when performing any action in ADP Payroll S...
Bereichsbezogener GlideRecord – addSystemOrderByDesc(Zeichenfolgenname)
Gibt eine absteigende Sortierungspalte an. Verwenden Sie diese Methode, um den Abfragezugriff zu umgehen.
Verwenden Sie diese Methode, wenn Zugriff auf Systemebene beabsichtigt ist, damit die Durchsetzung der Abfrage-ACL für den Anwender explizit umgangen wird. Verwenden AddUserOrderByDesc() Dient zum Erzwingen des Abfragezugriffs.
Rufen Sie diese Methode mehrmals auf, um nach mehreren Spalten zu sortieren. Ergebnisse werden in absteigender Reihenfolge angeordnet. Informationen zum Anordnen von Datensätzen in aufsteigender Reihenfolge finden Sie unter AddSystemorderBy() .
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Spaltenname, der zum Sortieren der Datensätze in einem GlideRecord-Objekt verwendet werden soll. |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel zeigt, wie Incident-Datensätze in absteigender Reihenfolge nach Kurzbeschreibung angeordnet werden.
var queryString = "priority=2";
var now_GR = new GlideRecord('incident');
now_GR.addSystemOrderByDesc('short_description'); //Descending Order
now_GR.addSystemEncodedQuery(queryString);
now_GR.setLimit(6);
now_GR.query();
while (now_GR.next()) {
gs.info(now_GR.getValue('short_description'));
}
Ausgabe:
*** Script: Xignite U.S. and Global Real Time Quotes upgrade to the latest version
*** Script: Xignite Company, Market and Industry News Headlines upgrade to the latest ver...
*** Script: Workday Talent Management Instance relocation from US datacenter to Hongkong ...
*** Script: Warning displayed while launching Tableau Server
*** Script: Warning displayed while launching SAP Financial Accounting
*** Script: Warning displayed while launching Jive Daily
Bereichsbezogener GlideRecord – addSystemQuery (Zeichenfolgenname, Objektaktor, Objektwert)
Bietet die Möglichkeit, eine Anforderung zu erstellen, die bei Ausführung die Zeilen aus der angegebenen Tabelle zurückgibt, die der Anforderung entsprechen. Verwenden Sie diese Methode, um den Abfragezugriff zu umgehen.
Verwenden Sie diese Methode, wenn Zugriff auf Systemebene beabsichtigt ist, damit die Durchsetzung der Abfrage-ACL für den Anwender explizit umgangen wird. Verwenden AddUserQuery() Dient zum Erzwingen des Abfragezugriffs.
Testen Sie Abfragen immer auf einer Subproduktionsinstanz, bevor Sie sie in einer Produktionsinstanz bereitstellen. Eine falsch konstruierte codierte Abfrage, z. B. das Hinzufügen eines ungültigen Feldnamens, erzeugt eine ungültige Abfrage. Wenn die ungültige Abfrage ausgeführt wird, wird der ungültige Teil der Abfragebedingung verworfen, und die Ergebnisse basieren auf dem gültigen Teil der Abfrage, der möglicherweise alle Datensätze aus der Tabelle zurückgibt. Mit Einfügen() , Aktualisieren () , DeleteRecord() , Oder DeleteMultiple() Die Methode für fehlerhafte Abfrageergebnisse kann zu Datenverlust führen.
Sie können festlegen glide.invalid_query.returns_no_rowsSystemeigenschaft auf „wahr“, damit Abfragen mit ungültigen codierten Abfragen keine Datensätze zurückgeben. In einigen Fällen kann die Abfrage weiterhin Datensätze in API-Ergebnissen zurückgeben, auch wenn glide.invalid_query.returns_no_rowsIst auf „wahr“ festgelegt. Dies geschieht in Abfragen, bei denen ein ungültiger Abfragebegriff mit einem WHERE-Operator verwendet wird. In solchen Abfragen ignoriert der WHERE-Operator die ungültigen Begriffe, interpretiert jedoch den Rest der Abfrageanweisung und gibt ihn zurück. Weitere Informationen zu dieser Systemeigenschaft und ihrer Funktionalität finden Sie unter Available system properties.
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Tabellenfeldname. |
| 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 „ENTHÄLT“ anstelle des „GEFÄLLT MIR“-Operators. Dynamische Schemaoperatoren:
|
| Wert | Objekt | Wert, für den abgefragt werden soll (Groß-/Kleinschreibung wird nicht beachtet). |
| Typ | Beschreibung |
|---|---|
| GlideQueryCondition | Dem GlideRecord hinzugefügte Abfragebedingung. |
Das folgende Beispiel zeigt, wie alle aktiven Anwender mit dem Namen Fred explizit zurückgegeben werden.
var rec = new GlideRecord('sys_user');
rec.addSystemQuery("first_name", "=", "Fred");
rec.query();
while (rec.next()) {
gs.info('Active user ' + rec.getValue('last_name'));
}
Active user Luddy
Active user KundeBereichsbezogener GlideRecord – addUserEncodedQuery (Zeichenfolgenabfrage)
Fügt eine Abfrage mithilfe einer codierten Abfragezeichenfolge hinzu. Verwenden Sie diese Methode, um den Abfragezugriff basierend auf dem Anwender zu erzwingen.
Diese Methode gibt nur Datensätze zurück, auf die der aktuelle Anwender Abfragezugriff hat (basierend auf ACLs).
- AddEncodedQuery() Stellt die gleiche Funktionalität ohne ACL-Durchsetzung bereit.
- AddSystemEncodedQuery() Umgeht Abfragezugriffsprüfungen.
Für Informationen zur Verwendung dieser Methode mit GlideRecordSecure , Siehe Abfrage-ACLs werden erzwungen.
Testen Sie Abfragen immer auf einer Subproduktionsinstanz, bevor Sie sie in einer Produktionsinstanz bereitstellen. Eine falsch konstruierte codierte Abfrage, z. B. das Hinzufügen eines ungültigen Feldnamens, erzeugt eine ungültige Abfrage. Wenn die ungültige Abfrage ausgeführt wird, wird der ungültige Teil der Abfragebedingung verworfen, und die Ergebnisse basieren auf dem gültigen Teil der Abfrage, der möglicherweise alle Datensätze aus der Tabelle zurückgibt. Mit Einfügen() , Aktualisieren () , DeleteRecord() , Oder DeleteMultiple() Die Methode für fehlerhafte Abfrageergebnisse kann zu Datenverlust führen.
Sie können festlegen glide.invalid_query.returns_no_rowsSystemeigenschaft auf „wahr“, damit Abfragen mit ungültigen codierten Abfragen keine Datensätze zurückgeben. In einigen Fällen kann die Abfrage weiterhin Datensätze in API-Ergebnissen zurückgeben, auch wenn glide.invalid_query.returns_no_rowsIst auf „wahr“ festgelegt. Dies geschieht in Abfragen, bei denen ein ungültiger Abfragebegriff mit einem WHERE-Operator verwendet wird. In solchen Abfragen ignoriert der WHERE-Operator die ungültigen Begriffe, interpretiert jedoch den Rest der Abfrageanweisung und gibt ihn zurück. Weitere Informationen zu dieser Systemeigenschaft und ihrer Funktionalität finden Sie unter Available system properties.
| Name | Typ | Beschreibung |
|---|---|---|
| query | Zeichenfolge | Ein Codierte Abfragezeichenfolge . |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel zeigt, wie der Zahlenwert der ersten 12 Incidents mit einem Prioritätswert von 1 oder 2 zurückgegeben wird.
var queryString = "priority=1^ORpriority=2";
var now_GR = new GlideRecord('incident');
now_GR.addUserEncodedQuery(queryString);
now_GR.setLimit(12);
now_GR.query();
while (now_GR.next()) {
gs.info(now_GR.getValue('number'));
}
Ausgabe:
*** Script: INC0002318
*** Script: INC0000144
*** Script: INC0006927
*** Script: INC0003577
*** Script: INC0006928
*** Script: INC0000135
*** Script: INC0005637
*** Script: INC0003196
*** Script: INC0002647
*** Script: INC0004074
*** Script: INC0003444
*** Script: INC0001694
Bereichsbezogener GlideRecord – addUserOrderBy(Zeichenfolgenname)
Gibt eine orderBy-Spalte an. Verwenden Sie diese Methode, um den Abfragezugriff basierend auf dem Anwender zu erzwingen.
Diese Methode gibt nur Datensätze zurück, auf die der aktuelle Anwender Abfragezugriff hat (basierend auf ACLs).
- OrderBy() Stellt die gleiche Funktionalität ohne ACL-Durchsetzung bereit.
- AddSystemorderBy() Umgeht Abfragezugriffsprüfungen.
Rufen Sie diese Methode mehrmals auf, um nach mehreren Spalten zu sortieren. Ergebnisse werden in aufsteigender Reihenfolge angeordnet. Informationen zum Anordnen von Datensätzen in absteigender Reihenfolge finden Sie unter AddUserOrderByDesc() .
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Spaltenname, der zum Sortieren der Datensätze in diesem GlideRecord-Objekt verwendet werden soll. |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel zeigt, wie Incident-Datensätze in aufsteigender Reihenfolge nach Kurzbeschreibung angeordnet werden.
var queryString = "priority=1";
var now_GR = new GlideRecord('incident');
now_GR.addUserOrderBy('short_description'); // Ascending Order
now_GR.addUserEncodedQuery(queryString);
now_GR.setLimit(6);
now_GR.query();
while (now_GR.next()) {
gs.info(now_GR.getValue('short_description'));
}
Ausgabe:
*** Script: Access token revoked
*** Script: Access token revoked
*** Script: Account locked, pls reset my password for Linkedin Sales Navigator
*** Script: Active Directory (AD) synchronization error
*** Script: Adobe Photoshop & Digital Publishing Instance is down
*** Script: Application response time is poor when performing any action in ADP Payroll S...
Bereichsbezogener GlideRecord – addUserOrderByDesc(Zeichenfolgenname)
Gibt eine absteigende Sortierungspalte an. Verwenden Sie diese Methode, um den Abfragezugriff basierend auf dem Anwender zu erzwingen.
Diese Methode gibt nur Datensätze zurück, auf die der aktuelle Anwender Abfragezugriff hat (basierend auf ACLs).
- OrderNachDesc() Stellt die gleiche Funktionalität ohne ACL-Durchsetzung bereit.
- AddSystemOrderByDesc() Umgeht Abfragezugriffsprüfungen.
Rufen Sie diese Methode mehrmals auf, um nach mehreren Spalten zu sortieren. Ergebnisse werden in absteigender Reihenfolge angeordnet. Informationen zum Anordnen von Datensätzen in aufsteigender Reihenfolge finden Sie unter AddUserOrderBy() .
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Spaltenname, der zum Sortieren der Datensätze in einem GlideRecord-Objekt verwendet werden soll. |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel zeigt, wie Incident-Datensätze in absteigender Reihenfolge nach Kurzbeschreibung angeordnet werden.
var queryString = "priority=2";
var now_GR = new GlideRecord('incident');
now_GR.addUserOrderByDesc('short_description'); //Descending Order
now_GR.addUserEncodedQuery(queryString);
now_GR.setLimit(6);
now_GR.query();
while (now_GR.next()) {
gs.info(now_GR.getValue('short_description'));
}
Ausgabe:
*** Script: Xignite U.S. and Global Real Time Quotes upgrade to the latest version
*** Script: Xignite Company, Market and Industry News Headlines upgrade to the latest ver...
*** Script: Workday Talent Management Instance relocation from US datacenter to Hongkong ...
*** Script: Warning displayed while launching Tableau Server
*** Script: Warning displayed while launching SAP Financial Accounting
*** Script: Warning displayed while launching Jive Daily
Bereichsbezogener GlideRecord – addUserQuery (Zeichenfolgenname, Objektanbieter, Objektwert)
Bietet die Möglichkeit, eine Anforderung zu erstellen, die bei Ausführung die Zeilen aus der angegebenen Tabelle zurückgibt, die der Anforderung entsprechen. Der aufrufende Anwender muss Zugriff haben, um den angegebenen Abfragevorgang für das Feld auszuführen, damit diese Anforderung hinzugefügt wird. Verwenden Sie diese Methode, um den Abfragezugriff basierend auf dem Anwender zu erzwingen.
Diese Methode gibt nur Datensätze zurück, auf die der aktuelle Anwender Abfragezugriff hat (basierend auf ACLs).
- AddQuery() Stellt die gleiche Funktionalität ohne ACL-Durchsetzung bereit.
- AddSystemQuery() Umgeht Abfragezugriffsprüfungen.
Testen Sie Abfragen immer auf einer Subproduktionsinstanz, bevor Sie sie in einer Produktionsinstanz bereitstellen. Eine falsch konstruierte codierte Abfrage, z. B. das Hinzufügen eines ungültigen Feldnamens, erzeugt eine ungültige Abfrage. Wenn die ungültige Abfrage ausgeführt wird, wird der ungültige Teil der Abfragebedingung verworfen, und die Ergebnisse basieren auf dem gültigen Teil der Abfrage, der möglicherweise alle Datensätze aus der Tabelle zurückgibt. Mit Einfügen() , Aktualisieren () , DeleteRecord() , Oder DeleteMultiple() Die Methode für fehlerhafte Abfrageergebnisse kann zu Datenverlust führen.
Sie können festlegen glide.invalid_query.returns_no_rowsSystemeigenschaft auf „wahr“, damit Abfragen mit ungültigen codierten Abfragen keine Datensätze zurückgeben. In einigen Fällen kann die Abfrage weiterhin Datensätze in API-Ergebnissen zurückgeben, auch wenn glide.invalid_query.returns_no_rowsIst auf „wahr“ festgelegt. Dies geschieht in Abfragen, bei denen ein ungültiger Abfragebegriff mit einem WHERE-Operator verwendet wird. In solchen Abfragen ignoriert der WHERE-Operator die ungültigen Begriffe, interpretiert jedoch den Rest der Abfrageanweisung und gibt ihn zurück. Weitere Informationen zu dieser Systemeigenschaft und ihrer Funktionalität finden Sie unter Available system properties.
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Tabellenfeldname. |
| 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 „ENTHÄLT“ anstelle des „GEFÄLLT MIR“-Operators. Dynamische Schemaoperatoren:
|
| Wert | Objekt | Wert, für den abgefragt werden soll (Groß-/Kleinschreibung wird nicht beachtet). |
| Typ | Beschreibung |
|---|---|
| GlideQueryCondition | Dem GlideRecord hinzugefügte Abfragebedingung. |
Im Folgenden wird gezeigt, wie nur Anwender mit dem Namen Fred zurückgegeben werden, für die der aktuelle Anwender die Berechtigung zum Anzeigen hat.
var rec = new GlideRecord('sys_user');
rec.addUserQuery("first_name", "=", "Fred");
rec.query();
while (rec.next()) {
gs.info('Active user ' + rec.getValue('last_name'));
}
Active user Luddy
Active user KundeBereichsbezogener GlideRecord – canCreate()
Bestimmt, ob die Zugriffssteuerungsregeln, die die Rollen des Anwenders enthalten, das Einfügen neuer Datensätze in diese Tabelle zulassen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob die Rollen des Anwenders die Erstellung von Datensätzen in dieser Tabelle zulassen. Gültige Werte:
|
Dieses Codebeispiel schreibt, ob der aktuelle Anwender Datensätze in der Incident-Tabelle im Systemprotokoll erstellen kann.
var now_GR = new GlideRecord('incident');
gs.info(now_GR.canCreate());
Bereichsbezogener GlideRecord – canDelete()
Bestimmt, ob die Zugriffssteuerungsregeln, die die Rollen des Anwenders enthalten, das Löschen von Datensätzen in dieser Tabelle zulassen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob die Rollen des Anwenders das Löschen von Datensätzen in dieser Tabelle zulassen. Gültige Werte:
|
Dieses Codebeispiel schreibt, ob der aktuelle Anwender Datensätze in der Incident-Tabelle im Systemprotokoll löschen kann.
var att = new GlideRecord('sys_attachment');
gs.info(att.canDelete());
Bereichsbezogener GlideRecord – canRead()
Bestimmt, ob die Zugriffssteuerungsregeln (ACLs) das Lesen von Datensätzen in dieser Tabelle zulassen. Diese Methode wertet alle ACL-Typen aus, z. B. Anwenderrollen, geskriptete ACLs, ACLs mit geskripteten Bedingungen usw.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob die Rollen des Anwenders das Lesen von Datensätzen in dieser Tabelle zulassen. Gültige Werte:
|
Dieses Codebeispiel schreibt, ob der aktuelle Anwender Datensätze in der Incident-Tabelle im Systemprotokoll lesen kann.
var now_GR = new GlideRecord('incident');
gs.info(now_GR.canRead());
Bereichsbezogener GlideRecord – canWrite()
Bestimmt, ob die Zugriffssteuerungsregeln, die die Rollen des Anwenders enthalten, die Bearbeitung von Datensätzen in dieser Tabelle zulassen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob die Rollen des Anwenders das Schreiben von Datensätzen in dieser Tabelle zulassen. Gültige Werte:
|
Dieses Codebeispiel schreibt, ob der aktuelle Anwender Datensätze in der Incident-Tabelle im Systemprotokoll schreiben kann.
var now_GR = new GlideRecord('incident');
gs.info(now_GR.canWrite());
Bereichsbezogener GlideRecord – select seWindow(Nummer firstRow, Nummer lastRow, boolescher ForceCount)
Legt einen Zeilenbereich fest, der von nachfolgenden Abfragen zurückgegeben werden soll.
- Verwendung von setLimit() mit selseWindow()
- Die SetLimit() Methode ruft implizit auf Select Window() Methode und kann bei Verwendung mit zu unerwarteten Ergebnissen führen Select Window() In einer Abfrage.
- Wenn Select Window() Die Methode wird zuerst aufgerufen, ihr Datensatzfenster wird von überschrieben SetLimit() Methode.Bei Verwendung der folgenden Zeilen in einer Abfrage werden 100 Datensätze ab Zeile 1 zurückgegeben:
grIncident.chooseWindow(20,30); grIncident.setLimit(100); - Wenn SetLimit() Die Methode wird zuerst aufgerufen, das von festgelegte Fenster Select Window() Wird verwendet, und der Grenzwert wird überschrieben.Die Verwendung der folgenden Zeilen in einer Abfrage gibt 10 Datensätze ab Zeile 21 zurück:
grIncident.setLimit(5); grIncident.chooseWindow(20,30);Hinweis:Wird Ausgeführt Abfrage() Mit Select Window() Methode löst ausANZAHL(*)Abfrage, die zu einer langsamen Leistung in Tabellen mit einer großen Anzahl von Datensätzen führen kann. Sie können verwenden SetLimit() Vor Select Window() Um die Ausführung von zu überspringenANZAHL(*)Abfrage, aber derselbe Leistungsvorteil ist mit erreichbar SetNoCount() .
- Wenn Select Window() Die Methode wird zuerst aufgerufen, ihr Datensatzfenster wird von überschrieben SetLimit() Methode.
| Name | Typ | Beschreibung |
|---|---|---|
| Erste Zeile | Nummer | Null-basierter Index der Startzeile für den Bereich, einschließlich. (Ein Wert von 0 gibt die erste Zeile zurück.) |
| LastRow | Nummer | Null-basierter Index der Endzeile für den Bereich, exklusiv. Beispiel: Wenn firstRow= 1 und lastRow= 5, vier Datensätze werden zurückgegeben (2–5). |
| ForceCount | Boolean | Optional. Kennzeichnung, die angibt, ob eine Abfrage der Zeilenanzahl erzwungen werden soll. In den meisten Implementierungen dieses Aufrufs wird die Zeilenanzahl durchgeführt. Es gibt einige angrenzende Fälle, z. B. Textsuchen, in denen keine Zeilenanzahl durchgeführt wird. Durch das Festlegen dieser Kennzeichnung wird sichergestellt, dass die Zeilenanzahl auftritt. Gültige Werte:
Standardwert: false |
| Typ | Beschreibung |
|---|---|
| Ungültig |
Dieses Beispiel zeigt, wie Datensätze 3 und 4 aus der Tabelle „Incident“ [Incident] zurückgegeben werden.
var now_GR = new GlideRecord('incident');
now_GR.orderBy('number');
now_GR.chooseWindow(2, 4);
now_GR.query();
while (now_GR.next()) {
gs.info(now_GR.getValue('number') + ' is within window');
}
Ausgabe:
*** Script: INC0000003 is within window
*** Script: INC0000004 is within window
Bereichsbezogener GlideRecord – deleteMultiple()
Löscht alle Datensätze, die die Abfrage erfüllen.
Mit dieser Methode werden keine Anhänge gelöscht.
Nicht verwenden DeleteMultiple() In Tabellen mit Währungsfeldern. Löschen Sie jeden Datensatz immer einzeln. Verwenden Sie diese Methode auch nicht mit Select Window() Oder SetLimit() Methoden bei der Arbeit mit großen Tabellen. Die SetLimit() Die Methode beschränkt die Anzahl der Datensätze, die mit gelöscht werden DeleteMultiple() . Alle von der Abfrage zurückgegebenen Datensätze werden unabhängig von gelöscht SetLimit() .
Die glide.db.forced.chunk.thresholdDie Systemeigenschaft legt den Schwellenwert fest, über dem das Löschen und Aktualisieren von Blockdatensätzen erzwungen wird. Durch das Blockieren wird verhindert, dass nicht primäre Schlüssel in großen Tabellen zu Replikationsproblemen führen. Weitere Informationen finden Sie unter Available system properties.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Keine |
Dieses Beispiel zeigt, wie alle inaktiven Datensätze aus der Incident-Tabelle gelöscht werden.
var now_GR = new GlideRecord('incident');
now_GR.addQuery('active','false');
now_GR.query();
now_GR.deleteMultiple();
Bereichsbezogener GlideRecord – deleteRecord()
Löscht den aktuellen Datensatz.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Datensatz erfolgreich gelöscht wurde. Gültige Werte:
|
Dieses Beispiel zeigt, wie ein angegebener Datensatz aus der Incident-Tabelle gelöscht wird.
var now_GR = new GlideRecord('incident');
//to delete one record
if (now_GR.get('99ebb4156fa831005be8883e6b3ee4b9'))
now_GR.deleteRecord();
Dieses Beispiel zeigt, wie ein Datensatz unmittelbar nach dem Einfügen aus der Incident-Tabelle gelöscht wird. Der Incident GlideRecord Muss nach dem Einfügen neu geladen werden, bevor es gelöscht werden kann.
var grTicket = new GlideRecord('incident');
grTicket.initialize();
grTicket.short_description = 'Example ticket';
grTicket.work_notes = 'An update about the ticket';
var ins_sys_id = grTicket.insert(); // Insert the record
grTicket.get(ins_sys_id); // Reload the inserted record
gs.info(grTicket.deleteRecord()); // Delete the record
Ausgabe:
true
Bereichsbezogener GlideRecord – disableSysIdInOptimization()
Deaktiviert die Standardoptimierung, die verhindert, dass eine zusätzliche Datenbankabfrage ausgeführt wird, wenn ein Anwender eine große Anzahl von sys_IDs übergibt, z. B. GrIncident.addQuery('sys_ID', 'IN', listOf200SysIds) .
Diese Methode wirkt sich nur auf den GlideRecord aus, auf dem sie aufgerufen wird. Um die sys_ID-Limitoptimierung für alle GlideRecords zu ändern, passen Sie den Wert in an glide.db.first_pass_sys_id_list_size.maxSystemeigenschaft (Standard 100).
Wenn Sie diese Methode nicht aufrufen oder anpassen glide.db.first_pass_sys_id_list_size.maxSystemeigenschaft und übergeben eine Liste, die mehr sys_ID-Einträge enthält, als in definiert glide.db.first_pass_sys_id_list_size.max, Der zurückgegebene Wert von GlideRecord.getRowCount() Ist möglicherweise falsch.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie verwendet wird DisableSysIdInOptimierung() Methode zum Deaktivieren der sys_ID-Limitoptimierung beim Übergeben einer sys_ID-Liste für Incidents, die 200 Einträge enthält.
var listOf200SysIds = [ ... ]; // 200 comma separated sys_ids
var grIncident = new GlideRecord('incident');
grIncident.addQuery('sys_id', 'IN', listOf200SysIds);
grIncident.disableSysIdInOptimization(); // Rowcount could be incorrect without this method call
grIncident.query();
if (grIncident.next())
gs.info("Rowcount: " + grIncident.getRowCount());
Ausgabe:
Rowcount: 200
Bereichsbezogener GlideRecord – GET (Objektname, Objektwert)
Gibt den angegebenen Datensatz im aktuellen GlideRecord-Objekt zurück.
Diese Methode akzeptiert entweder einen oder zwei Parameter. Wenn nur ein einzelner Parameter übergeben wird, geht die Methode davon aus, dass es sich um die sys_ID des gewünschten Datensatzes handelt. Wenn nicht gefunden, wird versucht, den Wert mit dem Anzeigewert abzugleichen. Wenn zwei Parameter übergeben werden, ist der erste der Name der Spalte im GlideRecord, die gesucht werden soll. Der zweite ist der Wert, nach dem gesucht werden soll. Wenn mehrere Datensätze gefunden werden, verwenden Sie Next() Um auf die zusätzlichen Datensätze zuzugreifen.
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Objekt | Optional. Name der instanziierten GlideRecord-Spalte, nach der gesucht werden soll valueParameter. Wenn nur ein einzelner Parameter übergeben wird, geht die Methode davon aus, dass dieser Parameter die sys_ID oder den Anzeigewert ist. |
| Wert | Objekt | Wert, der abgeglichen werden soll. Bei berechneten Feldern wird der Wert unverändert abgeglichen, anstatt eine Berechnung für einen geskripteten Standardwert für ein Feld im Datensatz auszuführen. |
| Typ | Beschreibung |
|---|---|
| Boolean | Gibt an, ob der angeforderte Datensatz gefunden wurde:
|
Dieses Beispiel zeigt, wie Sie einen Incident-Datensatz erhalten, indem Sie die sys_ID übergeben
var grIncident = new GlideRecord('incident');
var returnValue = grIncident.get('99ebb4156fa831005be8883e6b3ee4b9');
gs.info(returnValue); // logs true or false
gs.info(grIncident.short_description); // logs Incident Short description
Dieses Beispiel zeigt, wie ein Incident-Datensatz abgerufen werden kann, indem das Feld zur Suche (caller_id.name) übergeben wird, und der Wert, der innerhalb dieses Felds abgeglichen werden soll.
var grIncident = new GlideRecord('incident');
var returnValue = grIncident.get('caller_id.name','Sylivia Wayland');
gs.info(returnValue); // logs true or false
gs.info(grIncident.getValue('number')); // logs Incident Number
Bereichsbezogener GlideRecord – getAttribute(String fieldName)
Gibt die Wörterbuchattribute für das angegebene Feld zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| fieldName | Zeichenfolge | Feldname, für den die Wörterbuchattribute zurückgegeben werden sollen |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Wörterbuchattribute |
doit();
function doit() {
var now_GR = new GlideRecord('sys_user');
now_GR.query("user_name","admin");
if (now_GR.next()) {
gs.info("we got one");
gs.info(now_GR.location.getAttribute("tree_picker"));
}
}
Bereichsbezogener GlideRecord – getClassDisplayValue()
Gibt die Bezeichnung der aktuellen Tabelle zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Bezeichnung, die die Tabelle identifiziert. |
In diesem Beispiel wird die Bezeichnung der übergebenen Tabelle gedruckt.
// Display the incident table label
var now_GR = new GlideRecord("incident");
var value = now_GR.getClassDisplayValue();
gs.info("The table label is " + value + ".");
Ausgabe:
The table label is Incident.
Bereichsbezogener GlideRecord – getDisplayValue()
Ruft den Anzeigewert für den aktuellen Datensatz ab.
Anzeigewerte werden basierend auf dem ist-Wert in der Datenbank und den Anwender- oder Systemeinstellungen und -Einstellungen geändert.
- Auswahlfelder: Der Datenbankwert kann eine Zahl sein, der Anzeigewert ist jedoch beschreibender.
- Datumsfelder: Der Datenbankwert hat das UTC-Format, während der Anzeigewert auf der Zeitzone des Anwenders basiert.
- Verschlüsselter Text: Der Datenbankwert ist verschlüsselt, während der angezeigte Wert basierend auf dem Verschlüsselungskontext des Anwenders unverschlüsselt ist.
- Referenzfelder: Der Datenbankwert ist sys_ID, der Anzeigewert ist jedoch ein Anzeigefeld des referenzierten Datensatzes.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Anzeigewert für den aktuellen Datensatz. |
Dieses Beispiel schreibt den Anzeigewert eines angegebenen Incident-Datensatzes in das Protokoll.
var now_GR = new GlideRecord('incident');
now_GR.get('sys_id','<sys_id>');
gs.info(now_GR.getDisplayValue());
Ausgabe:
INC0000050
Bereichsbezogener GlideRecord – getED()
Gibt den Deskriptor des Elements zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| GlideElementdeskriptor | Der Deskriptor des Elements. |
Dieses Beispiel zeigt, wie das Namensfeld für einen Incident-GlideRecord abgerufen wird.
var grInc = new GlideRecord('incident');
grInc.get('sys_id','ef43c6d40a0a0b5700c77f9bf387afe3');
var field = grInc.getElement('priority');
var ed = field.getED();
var isEdge = ed.getLabel();
gs.info("Label is - " + isEdge);
Label is - PriorityBereichsbezogener GlideRecord – getElement(String fieldName)
Ruft das GlideElement-Objekt für das angegebene Feld ab.
Der von dieser Methode zurückgegebene Wert ist ein vollständiges GlideElement-Objekt. Die Ergebnisse entsprechen dem Dot-Walking eines Feldwerts. Beispiel: Now_GR.getElement('short_description') Liefert das gleiche Ergebnis wie NowGR.short_description .
Verwenden Sie in den meisten Fällen kein Dot-Walking, um Werte aus einem Datensatz abzurufen. DOT-Walking ruft das gesamte Objekt anstelle des Feldwerts ab. Das Abrufen des Objekts verwendet mehr Speicher und kann bei Verwendung in Arrays oder zu unerwünschten Ergebnissen führen Serviceportal.
Anstatt das gesamte Objekt abzurufen, können Sie eine der folgenden Methoden verwenden, um die Feldwerte zu kopieren:
var mgr = current.caller_id.manager.toString();| Name | Typ | Beschreibung |
|---|---|---|
| fieldName | Zeichenfolge | Spaltenname, für den das GlideElement-Objekt zurückgegeben werden soll. |
| Typ | Beschreibung |
|---|---|
| GlideElement | Das GlideElement für die angegebene Spalte des aktuellen Datensatzes. Jedes Objekt beschreibt ein Feld im aktuellen GlideRecord. |
Das folgende Beispiel zeigt, wie ein neuer Incident-Datensatz mit Details in hinzugefügt wird Kurzbeschreibung Feld.
var elementName = 'short_description';
var now_GR = new GlideRecord('incident');
now_GR.newRecord();
now_GR.setValue(elementName, "My DB is not working");
now_GR.insert();
var sdesc = now_GR.getElement('short_description');
gs.info(sdesc.getValue());
Ausgabe:
My DB is not working
Bereichsbezogener GlideRecord – getElements()
Gibt ein Array von GlideElement-Objekten zurück. Jedes Objekt beschreibt ein Feld im aktuellen GlideRecord.
var mgr = current.caller_id.manager.toString();| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Array | Array von GlideElement Objekte. Jedes Objekt beschreibt ein Feld im aktuellen GlideRecord. |
Das folgende Beispiel zeigt den Wert des Namensfelds für die fünf neuesten Datensätze an, die in der Tabelle „Frage“ [Frage] erstellt wurden.
var now_GR = new GlideRecord('question');
var elementArr = now_GR.getElements();
now_GR.orderByDesc('sys_created_on');
now_GR.setLimit(5);
now_GR.query();
while (now_GR.next()){
var qNames = now_GR.name.toString();
elementArr.push(qNames);
gs.info(qNames);
}
Ausgabe:
delivery_time_var
delivery_time
sequence
priority
assigned_group
Bereichsbezogener GlideRecord – getEncodedQuery()
Ruft die Abfragebedingung des aktuellen Ergebnissatzes als codierte Abfragezeichenfolge ab.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Ein Codierte Abfragezeichenfolge . |
var now_GR = new GlideRecord('incident');
now_GR.addQuery('active', true);
now_GR.addQuery('priority', 1);
now_GR.query();
var encodedQuery = now_GR.getEncodedQuery();
gs.info(encodedQuery);
Ausgabe:
active=true^priority=1
Bereichsbezogener GlideRecord – getLabel()
Gibt die Bezeichnung des Felds zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Bezeichnung des Felds |
template.print("Summary of Requested items:\n");
var now_GR = new GlideRecord("sc_req_item");
now_GR.addQuery("request", current.sysapproval);
now_GR.query();
while(now_GR.next()) {
var nicePrice = now_GR.price.toString();
if (nicePrice != '') {
nicePrice = parseFloat(nicePrice);
nicePrice = nicePrice.toFixed(2);
}
template.print(now_GR.number + ": " + now_GR.quantity + " X " + now_GR.cat_item.getDisplayValue()
+ " at $" + nicePrice + " each \n");
template.print(" Options:\n");
for (key in now_GR.variables) {
var now_V = now_GR.variables[key];
if(now_V.getGlideObject().getQuestion().getLabel() != '') {
template.space(4);
template.print(' ' + now_V.getGlideObject().getQuestion().getLabel() + " = "
+ now_V.getDisplayValue() + "\n");
}
}
}
Bereichsbezogener GlideRecord – getLastErrorMessage()
Ruft die letzte Fehlermeldung ab. Wenn keine letzte Fehlermeldung vorhanden ist, wird Null zurückgegeben.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Die letzte Fehlermeldung als Zeichenfolge. |
// Setup a data policy where short_description field in incident is mandatory
var now_GR = new GlideRecord('incident');
now_GR.insert(); // insert without data in mandatory field
var errormessage = now_GR.getLastErrorMessage();
gs.info(errormessage);
Ausgabe:
Data Policy Exception: Short description is mandatory
Bereichsbezogener GlideRecord – getLink(boolescher noStack)
Ruft den Link zum aktuellen Datensatz ab.
| Name | Typ | Beschreibung |
|---|---|---|
| NoStack | Boolean | Kennzeichnung, die angibt, ob der Parameter „sysparm_Stack“ an den zurückgegebenen Link angehängt werden soll. Dieser Parameter gibt die Seite an, die nach dem Schließen des aktuellen Links aufgerufen werden soll. Gültige Werte: Bei „wahr“ wird der Parameter „sysparm_Stack“ nicht an den Link angehängt.
|
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Link zum aktuellen Datensatz. |
Dieses Beispiel fragt alle Incident-Datensätze mit der Priorität „1“ ab und schreibt den Servlet-URI und den Link des aktuellen Datensatzes in das Systemprotokoll.
var now_GR = new GlideRecord('incident');
now_GR.addActiveQuery();
now_GR.addQuery("priority", 1);
now_GR.query();
now_GR.next();
gs.info(gs.getProperty('glide.servlet.uri') + now_GR.getLink(false));
Ausgabe:
https://instance.service-now.com/incident.do?sys_id=46e2fee9a9fe19810049b49dee0daf58&sysparm_stack=incident_list.do?sysparm_query=active=true
Bereichsbezogener GlideRecord – getRecordClassName()
Ruft den Klassennamen für den aktuellen Datensatz ab.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Der Klassenname. |
var now_GR = new GlideRecord('incident');
var recordClassName = now_GR.getRecordClassName();
gs.info(recordClassName);
Ausgabe:
incident
Bereichsbezogener GlideRecord – getRowCount()
Ruft die Anzahl der Zeilen (Datensätze) im aktuellen GlideRecord-Objekt ab.
- Die Anzahl der Datensätze in GlideRecord oder GlideAggregat wird abgerufen
- Die GlideRecord getRowCount() Und GlideAggregat getAggregat() APIs bieten ähnliche Informationen. Verwenden Sie die folgenden Kriterien, um zu bestimmen, welche Option für Sie am besten geeignet ist.
- Die GlideRecord getRowCount() Die Methode gibt an, wie viele Datensätze von einer Abfrage zusammen mit den Datensätzen selbst zurückgegeben wurden. Wenn Sie die Anzahl der Datensätze im Ergebnissatz vor oder nach der Iteration des Satzes benötigen, um Aktionen für die Datensätze auszuführen, verwenden Sie diese Methode.
- Die GlideAggregat getAggregat() Die Methode ruft nur eine Anzahl von Datensätzen ab, die der Abfrage entsprechen, mit Ausnahme der tatsächlichen Datensätze. Das Aggregat muss auf festgelegt werden GlideAggregat Objekt vor Ausgabe der Abfrage.
sys_ID IN Mit mehr als 100 sys_ID-Werten, z. B. GrIncident.addQuery('sys_ID', 'IN', listOf200SysIds) , Sie müssen entweder: - Rufen Sie an DisableSysIdInOptimization() Methode im GlideRecord.
- Oder passen Sie an glide.db.first_pass_sys_id_list_size.maxSystemeigenschaft auf einen Wert höher als die Anzahl der sys_IDs in der Liste.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Nummer | Anzahl der Zeilen im aktuellen GlideRecord. |
Das folgende Beispiel zeigt, wie Sie die Anzahl der Incidents aus der Tabelle „Incidents [Incident]“ abrufen.
var numberOfIncidents = new GlideRecord('incident');
numberOfIncidents.query();
gs.info("Records in incident table: " + numberOfIncidents.getRowCount());
Ausgabe:
Records in incident table: 6920
Das folgende Codebeispiel zeigt, wie verwendet wird DisableSysIdInOptimierung() Methode zum Deaktivieren der sys_ID-Limitoptimierung beim Übergeben einer sys_ID-Liste für Incidents, die 200 Einträge enthält.
var listOf200SysIds = [ ... ]; // 200 comma separated sys_ids
var grIncident = new GlideRecord('incident');
grIncident.addQuery('sys_id', 'IN', listOf200SysIds);
grIncident.disableSysIdInOptimization(); // Rowcount could be incorrect without this method call
grIncident.query();
if (grIncident.next())
gs.info("Rowcount: " + grIncident.getRowCount());
Ausgabe:
Rowcount: 200
Bereichsbezogener GlideRecord – getTableName()
Ruft den Namen der Tabelle ab, die dem GlideRecord zugeordnet ist.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Tabellenname |
var now_GR = new GlideRecord('incident');
gs.info(now_GR.getTableName());
Bereichsbezogener GlideRecord – getUniqueValue()
Ruft den primären Schlüssel des Datensatzes ab, der normalerweise die sys_ID ist, sofern nicht anders angegeben.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Der eindeutige primäre Schlüssel als Zeichenfolge oder null, wenn der Schlüssel null ist. |
var now_GR = new GlideRecord('kb_knowledge');
now_GR.query();
now_GR.next();
var uniqueid = now_GR.getUniqueValue();
gs.info(uniqueid);
Bereichsbezogener GlideRecord – getValue(Zeichenfolgenname)
Ruft den Zeichenfolgenwert eines zugrunde liegenden Elements in einem Feld ab.
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Der Name des Felds, aus dem der Wert abgerufen werden soll. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Der Zeichenfolgenwert des zugrunde liegenden Elements. Gibt Null zurück, wenn das Feld leer ist oder das Feld nicht vorhanden ist. Boolesche Werte geben als zurück „0“ Und „1“ Zeichenfolgenwerte anstelle von „falsch“ und „wahr“. |
var now_GR = new GlideRecord('incident');
now_GR.orderBy('number');
now_GR.query('active','true');
now_GR.next();
gs.info(now_GR.getValue('number'));
Ausgabe:
INC0000002
Bereichsbezogener 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');
Bereichsbezogener GlideRecord – hasNext()
Bestimmt, ob das GlideRecord-Objekt weitere Datensätze enthält.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | „Wahr“, wenn der Abfrageergebnissatz weitere Datensätze enthält. |
var rec = new GlideRecord('incident');
rec.query();
if (rec.hasNext()) {
gs.info("Table is not empty");
}
Bereichsbezogener GlideRecord – insert()
Fügt einen neuen Datensatz mithilfe der Feldwerte ein, die für den aktuellen Datensatz festgelegt wurden.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | SYS_ID des eingefügten Datensatzes oder null, wenn der Datensatz nicht eingefügt wird. |
var now_GR = new GlideRecord('incident');
now_GR.initialize();
now_GR.setValue('name', 'New Incident');
now_GR.setValue('description', 'Incident description');
now_GR.insert();
Ausgabe:
138fb4111b4d4d907cf30d03cd4bcb57
Bereichsbezogener GlideRecord – initialize()
Erstellt einen leeren Datensatz, der für die Auffüllung vor dem Einfügen geeignet ist.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Ungültig |
var grIncident = new GlideRecord('incident');
grIncident.initialize();
grIncident.setValue('short_description', 'New Incident');
grIncident.setValue('description', 'Incident description');
grIncident.insert();
Bereichsbezogener GlideRecord – isActionAborted()
Überprüft, ob die aktuelle Datenbankaktion abgebrochen werden soll.
IsActionAborted() Wird für neue Threads und von initialisiert (auf „falsch“ festgelegt) Next() Methode.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob die aktuelle Datenbankaktion abgebrochen werden soll. Gültige Werte:
|
var now_GR = new GlideRecord('incident');
gs.info(now_GR.isActionAborted());
Ausgabe:
false
Bereichsbezogener GlideRecord – isEncodedQueryValid (Zeichenfolgenabfrage)
Überprüft, ob die angegebene codierte Abfrage gültig ist.
Wenn die angegebene codierte Abfrage gültig ist, wird die Abfrage angewendet, so als hätten Sie aufgerufen AddEncodedQuery() . Wenn die angegebene codierte Abfrage ungültig ist, dann sys_idNotValidnull Wird als codierte Abfrage hinzugefügt.
| Name | Typ | Beschreibung |
|---|---|---|
| query | Zeichenfolge | Codierte Abfrage zur Validierung. Siehe Codierte Abfragezeichenfolgen . |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob die angegebene codierte Abfrage gültig ist.
|
Dieses Codebeispiel zeigt, wie eine codierte Abfrage validiert und dann Logik ausgeführt wird, wenn die Abfrage gültig ist.
var now_GR = new GlideRecord('incident_sla');
var isValidQuery = now_GR.isEncodedQueryValid('inc_impact=1^taskslatable_active=true');
if (isValidQuery) {
now_GR.query();
.
.
.
}
Bereichsbezogener GlideRecord – isNewRecord()
Überprüft, ob der aktuelle Datensatz ein neuer Datensatz ist, der noch nicht in die Datenbank eingefügt wurde.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | „Wahr“, wenn der Datensatz neu ist und nicht in die Datenbank eingefügt wurde. |
var now_GR = new GlideRecord("x_app_table");
now_GR.newRecord(); // create a new record and populate it with default values
gs.info(now_GR.isNewRecord());
Bereichsbezogener GlideRecord – isValid()
Bestimmt, ob die aktuelle Tabelle gültig ist oder ob der Datensatz erfolgreich abgerufen wurde.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob die Tabelle gültig ist oder ob der Datensatz erfolgreich abgerufen wurde. Mögliche Werte:
|
var comment_GR = new GlideRecord('cf_comment');
var commentId = '99ebb4156fa831005be8883e6b3ee4b9';
comment_GR.get(commentId);
gs.info(comment_GR.isValid());
Bereichsbezogener GlideRecord – isValidEncodedQuery (Zeichenfolgenabfrage)
Überprüft, ob die Syntax der codierten Abfrage korrekt ist.
„“ ) Als Abfrage angeben:- Die leere Zeichenfolge (
„“) Stellt die Abwesenheit einer Abfrage dar und gibt „falsch“ zurück. - Wird Aufgerufen
GlideRecord.addEncodedQuery(„“)Gefolgt vonGlideRecord.Abfrage()Gibt alle Zeilen zurück. Die Abfragemethode ähnelt einer SQL-SELECT-Anweisung. In SQL stellt der Wert X bei Verwendung von „SELECT * FROM foo WHERE X“ die Abfrage dar. Wenn kein Abfragewert angegeben wird, werden alle Datensätze zurückgegeben (z. B. * AUS foo AUSWÄHLEN).
| Name | Typ | Beschreibung |
|---|---|---|
| query | Zeichenfolge | Codierte Abfrage zur Validierung. Siehe Codierte Abfragezeichenfolgen . |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob die angegebene codierte Abfrage gültig ist.
|
Dieses Codebeispiel zeigt, wie überprüft wird, ob die codierte Abfrage gültig ist.
var queryString = "priority=1^ORpriority=2";
var now_GR = new GlideRecord('incident');
var isValidQuery = now_GR.isValidEncodedQuery(queryString);
if (isValidQuery) {
now_GR.addEncodedQuery(queryString);
now_GR.query();
.
.
.
}
Bereichsbezogener GlideRecord – isValidField(Zeichenfolge spaltenName)
Bestimmt, ob das angegebene Feld in der aktuellen Tabelle definiert ist.
| Name | Typ | Beschreibung |
|---|---|---|
| columnName | Zeichenfolge | Der Name des Felds. |
| Typ | Beschreibung |
|---|---|
| Boolean | „Wahr“, wenn das Feld für die aktuelle Tabelle definiert ist. |
var now_GR = new GlideRecord('incident');
now_GR.initialize();
gs.info(now_GR.isValidField("short_description"));
Bereichsbezogener GlideRecord – isValidRecord()
Bestimmt, ob ein Datensatz tatsächlich vom Vorgang „Abfrage/Datensatz abrufen“ zurückgegeben wurde.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob ein Datensatz tatsächlich vom Abfrage-/GET-Vorgang zurückgegeben wurde. Gültige Werte:
|
var rec = new GlideRecord('incident');
rec.query();
while (rec.next()) {
gs.info(rec.number + ' exists');
}
gs.info(rec.isValidRecord());
Bereichsbezogener GlideRecord – isView()
Überprüft, ob der Datensatz in einer Ansicht oder Tabelle erstellt wurde.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Datensatz in der Tabelle erstellt wurde, die eine Ansicht ist.
|
Dieses Codebeispiel zeigt, wie bestimmt wird, ob ein GlideRecord in einer Ansicht oder Tabelle erstellt wurde.
var mySLA = new GlideRecord('incident_sla');
if (mySLA.isView() == true){
gs.info('This record was created in a view.');
} else {
gs.info('This record was created in a table.');
}
Ausgabe:
This record was created in a view.
Bereichsbezogener GlideRecord – newRecord()
Erstellt einen neuen GlideRecord-Datensatz, legt die Standardwerte für die Felder fest und weist dem Datensatz eine eindeutige ID zu.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Ungültig |
var now_GR = new GlideRecord("x_app_table");
now_GR.newRecord();
gs.info(now_GR.isNewRecord());
Ausgabe:
true
Bereichsbezogener GlideRecord – next()
Wechselt zum nächsten Datensatz im GlideRecord-Objekt.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob im GlideRecord ein „Next“-Datensatz vorhanden ist. Gültige Werte:
|
var rec = new GlideRecord('incident');
rec.query();
while (rec.next()) {
gs.info(rec.getValue('number') + ' exists');
}
INC0010112 exists
INC0010114 exists
INC0010119 exists
INC0010127 existsBereichsbezogener GlideRecord – _next()
Wechselt zum nächsten Datensatz im GlideRecord. Bietet die gleiche Funktionalität wie Next() , Verwenden Sie diese Methode, wenn der GlideRecord eine Spalte mit dem Namen „Next“ hat.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Abfragesatz weitere Datensätze enthält. Mögliche Werte:
|
Das folgende Beispiel zeigt, wie die einzelnen Datensätze in der Tabelle „Incidents [Incident]“ aufgelistet werden.
var rec = new GlideRecord('incident');
rec.query();
while (rec._next()) {
gs.info(rec.getValue('number') + ' exists');
}
Ausgabe:
INC0000060 exists
INC0009002 exists
INC0000009 exists
INC0000010 exists
INC0000011 exists
INC0000012 exists
...
Bereichsbezogener GlideRecord – Vorgang()
Bestimmt, ob ein Vorgang „Einfügen“, „Aktualisieren“ oder „Löschen“ ist.
Wenn Sie den Vorgang kennen, können Sie verwenden Current.Operation() Dient zum Erstellen einer generischen Business-Regel, die jeden Vorgang eindeutig verarbeiten kann.
Für Informationen zur Verwendung der globalen Variable Aktuell , Siehe Globale Variablen in Business-Regeln .
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Der aktuelle Vorgang. Mögliche Werte:
|
Das folgende Beispiel zeigt, wie diese Methode in einer Business-Regel verwendet wird. Die Vorgang () Die Methode erkennt, welcher Vorgang ein Ereignis ausgelöst hat, und führt je nach Update- und Einfügevorgängen eine andere Aktion aus.
if(current.operation() == "update") {
current.updates ++; }
if(current.operation() == "insert") {
current.updates = 0; }
Bereichsbezogener GlideRecord – orderBy(Zeichenfolgenname)
Gibt eine orderBy-Spalte an.
Rufen Sie diese Methode mehrmals auf, um nach mehreren Spalten zu sortieren. Ergebnisse werden in aufsteigender Reihenfolge angeordnet. Informationen zum Anordnen von Datensätzen in absteigender Reihenfolge finden Sie unter Bereichsbezogener GlideRecord – orderByDesc(Zeichenfolgenname).
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Spaltenname, der zum Sortieren der Datensätze in diesem GlideRecord-Objekt verwendet werden soll. |
| Typ | Beschreibung |
|---|---|
| Ungültig |
Das folgende Beispiel zeigt, wie Incident-Datensätze in aufsteigender Reihenfolge nach Kurzbeschreibung angeordnet werden.
var queryString = "priority=2";
var now_GR = new GlideRecord('incident');
now_GR.orderBy('short_description'); // Ascending Order
now_GR.addEncodedQuery(queryString);
now_GR.query();
while (now_GR.next()) {
gs.info(now_GR.getValue('short_description'));
}
Ausgabe:
Can't launch 64-bit Windows 7 virtual machine
Can't log into SAP from my laptop today
Network storage unavailable
Please remove the latest hotfix from my PC
Bereichsbezogener GlideRecord – orderByDesc(Zeichenfolgenname)
Gibt eine absteigende Sortierungspalte an.
Rufen Sie diese Methode mehrmals auf, um nach mehreren Spalten zu sortieren. Ergebnisse werden in absteigender Reihenfolge angeordnet. Informationen zum Anordnen von Datensätzen in aufsteigender Reihenfolge finden Sie unter Bereichsbezogener GlideRecord – orderBy(Zeichenfolgenname).
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Spaltenname, der zum Sortieren der Datensätze in einem GlideRecord-Objekt verwendet werden soll. |
| Typ | Beschreibung |
|---|---|
| Ungültig |
Das folgende Beispiel zeigt, wie Incident-Datensätze in absteigender Reihenfolge nach Kurzbeschreibung angeordnet werden.
var queryString = "priority=2";
var now_GR = new GlideRecord('incident');
now_GR.orderByDesc('short_description'); //Descending Order
now_GR.addEncodedQuery(queryString);
now_GR.query();
while (now_GR.next()) {
gs.info(now_GR.getValue('short_description'));
}
Ausgabe:
Please remove the latest hotfix from my PC
Network storage unavailable
Can't log into SAP from my laptop today
Can't launch 64-bit Windows 7 virtual machine
Bereichsbezogener GlideRecord – Abfrage (Zeichenfolgenfeld, Zeichenfolgenwert)
Führt eine Abfrage für die Tabelle basierend auf den in den Abfragemethoden angegebenen Filtern aus, z. B. AddQuery() Und AddEncodedQuery() .
Diese Methode fragt die GlideRecord-Tabelle sowie alle Referenzen der Tabelle ab. Weitere Informationen finden Sie unter Tabellen im Skript werden abgefragt .
Siehe GlideRecord artikel mit Details zum Erstellen und Ausführen von Abfragen.
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Optional – muss auch einen Wertparameter angeben. Name des Felds, in dem nach dem im Wertparameter angegebenen Wert gesucht werden soll. Hinweis:
Diese Methode wird normalerweise ohne Argumente ausgeführt, Sie können jedoch ein Name-Wert-Paar angeben, um Datensätze zu filtern, die die angegebenen Werte enthalten. Wenn die Parameter angegeben sind, wird der Abfrage die Bedingung „Name=Wert“ hinzugefügt. |
| Wert | Zeichenfolge | Optional – muss auch einen Feldparameter angeben. Wert, nach dem im angegebenen Feldparameter gesucht werden soll. |
| Typ | Beschreibung |
|---|---|
| Ungültig |
Das folgende Beispiel zeigt, wie das Systemwörterbuch [sys_dictionary] nach Tabellen mit einem Abfragefeld gescannt wird.
var tableArr = [];
var now_GR = new GlideRecord('sys_dictionary');
now_GR.addQuery('element', 'query');
now_GR.setLimit(6);
now_GR.query();
while(now_GR.next()){
tableArr.push(now_GR.name.getValue());
};
gs.info('The following tables have a field column called "query":');
for (i = 0; i < tableArr.length; i++) {
gs.info(tableArr[i]);
};
Ausgabe:
The following tables have a field column called "query":
cmdb_convert_bulk_services
cmdb_multisource_query_status
cmdb_qb_result_base
cmdb_qb_table_mapping
discovery_probes_cim_query
kb_feedback
Bereichsbezogener GlideRecord – _query(Zeichenfolgenfeld, Zeichenfolgenwert)
Führt eine Abfrage für die Tabelle basierend auf den in den Abfragemethoden angegebenen Filtern aus, z. B. AddQuery() Und AddEncodedQuery() . Diese Methode soll für Tabellen verwendet werden, in denen sich eine Spalte mit dem Namen „query“ befindet, was zu Fehlern beim Ausführen der query()-Methode führen kann.
Diese Methode fragt die GlideRecord-Tabelle sowie alle Referenzen der Tabelle ab. Weitere Informationen finden Sie unter Tabellen im Skript werden abgefragt .
Siehe GlideRecord artikel mit Details zum Erstellen und Ausführen von Abfragen.
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Optional – muss auch einen Wertparameter angeben. Name des Felds, in dem nach dem im Wertparameter angegebenen Wert gesucht werden soll. Hinweis:
Diese Methode wird normalerweise ohne Argumente ausgeführt, Sie können jedoch ein Name-Wert-Paar angeben, um Datensätze zu filtern, die die angegebenen Werte enthalten. Wenn die Parameter angegeben sind, wird der Abfrage die Bedingung „Name=Wert“ hinzugefügt. |
| Wert | Zeichenfolge | Optional – muss auch einen Feldparameter angeben. Wert, nach dem im angegebenen Feldparameter gesucht werden soll. |
| Typ | Beschreibung |
|---|---|
| Ungültig |
Das folgende Beispiel zeigt, wie Sie die Tabelle „Wissensfeedback“ [kb_Feedback] abfragen und KB-Artikel mit Kommentaren auflisten, die Excel enthalten.
var rec = new GlideRecord('kb_feedback');
rec.addQuery('comments', 'CONTAINS', 'Excel');
rec._query();
while (rec.next()) {
gs.info(rec.getDisplayValue('article') + " comment: " + rec.getValue('comments'));
}
Ausgabe:
KB0000005 comment:
Can you please add the version of Excel this applies to? All?
KB0000005 comment:
Does this work for all Excel versions? OSX and Windows alike?
Bereichsbezogener GlideRecord – setAbortAction (boolescher Wert b)
Legt eine Kennzeichnung fest, die angibt, ob die nächste Datenbankaktion (Einfügen, Aktualisieren, Löschen) abgebrochen werden soll. Dies wird häufig in Business-Regeln verwendet.
Verwenden Sie in OnBefore Business-Regel, um zu verhindern, dass die Datenbankaktion ausgeführt wird. Die Business-Regel wird nach weiterhin ausgeführt SetAbortAktion() Wird aufgerufen. Wird Aufgerufen SetAbortAktion() Verhindert nicht, dass nachfolgende Business-Regeln ausgeführt werden. Das Aufrufen dieser Methode verhindert nur, dass die Datenbankaktion ausgeführt wird.
| Name | Typ | Beschreibung |
|---|---|---|
| b | Boolean | „Wahr“, um die nächste Aktion abzubrechen. „Falsch“, wenn die Aktion zulässig sein soll. |
| Typ | Beschreibung |
|---|---|
| Ungültig |
// Often used in business rule to check whether the current operation should be aborted.
if (current.size > 16) {
current.setAbortAction(true);
}
Bereichsbezogener GlideRecord – setLimit(Number maxNumRecords)
Legt den Grenzwert für die Anzahl der Datensätze fest, die von der GlideRecord-Abfrage abgerufen werden.
- Verwendung von setLimit() mit selseWindow()
- Die SetLimit() Methode ruft implizit auf Select Window() Methode und kann bei Verwendung mit zu unerwarteten Ergebnissen führen Select Window() In einer Abfrage.
- Wenn Select Window() Die Methode wird zuerst aufgerufen, ihr Datensatzfenster wird von überschrieben SetLimit() Methode.Bei Verwendung der folgenden Zeilen in einer Abfrage werden 100 Datensätze ab Zeile 1 zurückgegeben:
grIncident.chooseWindow(20,30); grIncident.setLimit(100); - Wenn SetLimit() Die Methode wird zuerst aufgerufen, das von festgelegte Fenster Select Window() Wird verwendet, und der Grenzwert wird überschrieben.Die Verwendung der folgenden Zeilen in einer Abfrage gibt 10 Datensätze ab Zeile 21 zurück:
grIncident.setLimit(5); grIncident.chooseWindow(20,30);Hinweis:Wird Ausgeführt Abfrage() Mit Select Window() Methode löst ausANZAHL(*)Abfrage, die zu einer langsamen Leistung in Tabellen mit einer großen Anzahl von Datensätzen führen kann. Sie können verwenden SetLimit() Vor Select Window() Um die Ausführung von zu überspringenANZAHL(*)Abfrage, aber derselbe Leistungsvorteil ist mit erreichbar SetNoCount() .
- Wenn Select Window() Die Methode wird zuerst aufgerufen, ihr Datensatzfenster wird von überschrieben SetLimit() Methode.
| Name | Typ | Beschreibung |
|---|---|---|
| MaxNumRecords | Nummer | Die maximale Anzahl der abzurufenden Datensätze. |
| Typ | Beschreibung |
|---|---|
| Ungültig |
var now_GR = new GlideRecord('incident');
now_GR.orderByDesc('sys_created_on');
now_GR.setLimit(10);
now_GR.query(); // this retrieves latest 10 incident records created
Bereichsbezogener GlideRecord – setNewGuidValue(Zeichenfolge GUID)
Legt den sys_ID-Wert für den aktuellen Datensatz fest.
| Name | Typ | Beschreibung |
|---|---|---|
| guid | Zeichenfolge | GUID, die dem aktuellen Datensatz zugewiesen werden soll. |
| Typ | Beschreibung |
|---|---|
| Ungültig |
var now_GR = new GlideRecord('incident');
now_GR.setValue('short_description', 'The third floor printer is broken');
now_GR.setNewGuidValue('eb4636ca6f6d31005be8883e6b3ee333');
now_GR.insert();
gs.info(now_GR.getValue('sys_id'));
Bereichsbezogener GlideRecord – setNoCount()
Verhindert, dass eine GlideRecord-Abfrage ausgeführt wird ANZAHL(*) Abfrage.
ANZAHL(*) Abfrage, z. B. Select Window() Und GetRowCount() Methoden. Die ANZAHL(*) Abfrage kann zu einer langsamen Leistung für Tabellen mit einer Million oder mehr Datensätzen führen. Weitere Informationen finden Sie unter Leistungsverbesserung – Paginierungsanzahl entfernen [KB0817996] artikel in der Now Support-Wissensdatenbank.ANZAHL(*) . Wird Verwendet SetNoCount() Ist unnötig, wenn SetLimit() Methode ist in der Abfrage enthalten.| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Ungültig |
Das folgende Codebeispiel zeigt die Verwendung SetNoCount() Um zu überspringen ANZAHL(*) Abfrage eines Abfragesatzes mit Fenstern mithilfe von Select Window() Methode.
var grIncident = new GlideRecord('incident');
grIncident.chooseWindow(6915, 6920, true);
grIncident.setNoCount();
grIncident.query();
while (grIncident.next()) { // Iterate through the returned records
gs.info('Incident Number: ' + grIncident.number + ', Short Description: ' + grIncident.short_description);
};
Ausgabe:
Incident Number: INC0006811, Short Description: Request an account to be created for Fidelity 401(k) Plans
Incident Number: INC0006918, Short Description: Please grant me additional roles in Oracle Fin Collections
Incident Number: INC0006812, Short Description: Taxware Value-added Tax crashes when I try to launch it
Incident Number: INC0006919, Short Description: Unable to Access SuccessFactors Learning
Incident Number: INC0010004, Short Description: Incident for assessment not generating
Bereichsbezogener GlideRecord – setValue (Zeichenfolgenname, Objektwert)
Legt den Wert des Felds mit dem angegebenen Namen auf den angegebenen Wert fest.
Normalerweise führt das Skript einen aus now_GR.category = Wert . Wenn der Elementname jedoch selbst eine Variable ist, können Sie verwenden now_GR.setValue(elementName, Wert) . Stellen Sie beim Festlegen eines Werts sicher, dass der Datentyp des Felds mit dem Datentyp des eingegebenen Werts übereinstimmt.
- Nicht für Authentifizierung mit Passwort2-Feldern
- Die SetWert() Die Methode übergibt Passwort2-Daten als Klartext, was zu einem Fehler beim erwartet verschlüsselter Daten führt. Darüber hinaus werden durch die Verwendung der setValue()-Methode für Passwort2-Felder Daten verfügbar gemacht, die verschlüsselt werden sollen.
Verwenden Sie für die Passwort2-Authentifizierung SetDisplayWert() Stattdessen Methode.
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Name des Felds. |
| Wert | Objekt | Wert, der dem Feld zugewiesen werden soll. |
| Typ | Beschreibung |
|---|---|
| Keine |
var elementName = 'short_description';
var now_GR = new GlideRecord('incident');
now_GR.initialize();
now_GR.setValue(elementName, "My DB is not working");
now_GR.insert();
Bereichsbezogener GlideRecord – setWorkflow (boolescher Wert aktivieren)
Aktiviert oder deaktiviert die Ausführung von Business-Regeln, Skript-Engines oder Audits.
| Name | Typ | Beschreibung |
|---|---|---|
| enable | Boolean | Kennzeichnung, die angibt, ob die Ausführung von Business-Regeln, Skript-Engines und Audit aktiviert oder deaktiviert werden soll. Gültige Werte:
Standardwert: wahr |
| Typ | Beschreibung |
|---|---|
| Keine |
//Enable business rules, scripts engines for x_app_table
var now_GR = new GlideRecord("x_app_table");
now_GR.setWorkflow(true);
Bereichsbezogener GlideRecord – Update (Zeichenfolgengrund)
Aktualisiert den GlideRecord mit allen vorgenommenen Änderungen. Wenn der Datensatz noch nicht vorhanden ist, wird er eingefügt.
| Name | Typ | Beschreibung |
|---|---|---|
| Grund | Zeichenfolge | Optional. Grund für die Aktualisierung. Der Grund wird im Audit-Datensatz angezeigt. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | SYS_ID des neuen oder aktualisierten Datensatzes. Gibt Null zurück, wenn das Update fehlschlägt. |
Das folgende Beispiel zeigt, wie das Feld „Kurzbeschreibung“ eines Incidents aktualisiert wird.
var now_GR = new GlideRecord('incident');
now_GR.get('99ebb4156fa831005be8883e6b3ee4b9');
now_GR.setValue('short_description', 'Update the short description');
now_GR.update();
gs.info(now_GR.getElement('short_description'));
Ausgabe:
Update the short description.
Bereichsbezogener GlideRecord – updateMultiple()
Aktualisiert jeden GlideRecord in einer angegebenen Abfrage mit einem angegebenen Satz von Änderungen.
Diese Methode unterstützt das Hinzufügen mehrerer Journaleinträge nicht.
Die glide.db.forced.chunk.thresholdDie Systemeigenschaft legt den Schwellenwert fest, über dem das Löschen und Aktualisieren von Blockdatensätzen erzwungen wird. Durch das Blockieren wird verhindert, dass nicht primäre Schlüssel in großen Tabellen zu Replikationsproblemen führen. Weitere Informationen finden Sie unter Available system properties.
gr_Now.setValue('<field_name>“, „4“); Anstelle von gr_now.<field_name> = 4 .Diese Methode legt neue Werte fest und löscht vorhandene Werte nicht. Um einen vorhandenen Wert zu löschen, verwenden Sie SetValue() Methode, und legen Sie das Feld auf „Null“ fest. Weitere Informationen finden Sie unter GlideRecord-Variable auf „Null“ festlegen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Keine |
Dieses Beispiel zeigt, wie der Status aller aktiven Incidents auf 4 – „Warten auf Anwenderinformationen“ aktualisiert wird.
var now_GR = new GlideRecord('incident');
now_GR.addQuery('active', true);
now_GR.setValue('state', 4);
now_GR.updateMultiple();
var test = new GlideRecord('incident');
test.addEncodedQuery('priority=1');
test.query();
test.setValue('description','NULL');
test.updateMultiple();Bereichsbezogener GlideRecord – updateWithReferences (Objekturgrund)
Aktualisiert einen Datensatz und fügt auch alle zugehörigen Datensätze mit den bereitgestellten Informationen ein oder aktualisiert sie.
| Name | Typ | Beschreibung |
|---|---|---|
| Grund | Objekt | Grund für die Updates. Der Grund wird im Audit-Datensatz angezeigt. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Die sys_ID für den zu aktualisierenden Datensatz. |
Bei der Verarbeitung eines Incidents, bei dem die Anrufer-ID auf den sys_user-Datensatz „John Doe“ festgelegt ist, würde der folgende Code den Anwenderdatensatz von John Doe aktualisieren. Bei der Verarbeitung eines Incidents, bei dem keine Anrufer-ID angegeben ist, erstellt der folgende Code einen neuen sys_user-Datensatz mit den angegebenen Informationen (first_Name, Last_Name) und legt den Wert der Anrufer-ID auf den neu erstellten sys_user-Datensatz fest.
var inc = new GlideRecord('incident');
inc.get(inc_sys_id); // Looking up an existing incident record where 'inc_sys_id' represents the sys_id of a incident record
inc.caller_id.first_name = 'John';
inc.caller_id.last_name = 'Doe';
inc.updateWithReferences();
}