GlideRecord – Global

  • Freigeben Version: Australia
  • Aktualisiert 12. März 2026
  • 94 Minuten Lesedauer
  • Die 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.

    Um diese API zum Erstellen dynamischer Attribute zu verwenden, müssen Sie über die Rolle „Dynamic_Schema_Writer“ verfügen. Zum Lesen dynamischer Daten mit dieser API müssen Sie über die Rolle „Dynamic_Schema_Reader“ verfügen.

    Für Informationen zu einer Klasse, die dieselben Funktionen wie ausführt GlideRecord Und erzwingt ACLs, siehe Mit GlideRecordSecure .

    Siehe auch Dynamic Schema.

    Siehe GlideRecord artikel mit Details zum Erstellen und Ausführen von Abfragen.

    Für Informationen zu GlideRecordSecure , Eine Klasse, von der geerbt wird GlideRecord Das die gleichen Funktionen wie ausführt GlideRecord Und erzwingt auch ACLs, siehe GlideServer-APIs .

    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:

    Wenn Dot-Walking durch ein GlideElement-Objekt erforderlich ist, verwenden Sie ToString() Methode zum Abrufen von Werten. Beispielsweise benötigen Sie möglicherweise die Manager-sys_ID des aktuellen Anrufers, um ein anderes Referenzfeld festzulegen. Das folgende Beispiel zeigt, wie der Zeichenfolgenwert anstelle des gesamten Objekts abgerufen wird:
    var mgr = current.caller_id.manager.toString();

    Dynamische Attribute

    Es gibt Methoden in dieser API, die die gleiche Funktionalität wie dynamische Schemamethoden in haben GlideDynamicAttributeStore – Global API. Verwenden Sie die dynamischen Attributmethoden in dieser API, um Aktionen für einen angegebenen GlideRecord auszuführen. Verwenden Sie die Methoden in GlideDynamicAttributeStore API, wenn Sie dieselbe Gruppe dynamischer Attribute für mehrere Datensätze festlegen möchten. Mit dieser API können Sie ein GlideDynamicAttributeStore-Objekt mit den gewünschten Attributen bereitstellen und dieses Objekt dann mithilfe der verschiedenen in mehrere GlideRecords kopieren SetDynamicAttributeValues() Methoden.

    GlideRecord – GlideRecord(Zeichenfolge tableName)

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

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

    GlideRecord – addActiveQuery()

    Fügt einen Filter hinzu, um aktive Datensätze zurückzugeben.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 3. Rückgaben
    Typ Beschreibung
    GlideQueryCondition Filter, um aktive Datensätze zurückzugeben.
    var inc = new GlideRecord('incident');
    inc.addActiveQuery();
    inc.query();

    Bereichsbezogenes Äquivalent

    Zur Verwendung von AddActiveQuery() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: AddActiveQuery() .

    GlideRecord – addDomainQuery(Object GlideRecord)

    Ändert die für die Abfrage verwendete Domäne von der Domäne des Anwenders in die Domäne des bereitgestellten GlideRecord.

    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.

    Diese Funktion erfordert das Plugin Domänenunterstützung – Installationsprogramm für Domänenerweiterungen (com.glide.domain.msp_extensions.installer).

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    GlideRecord Objekt GlideRecord, von dem die Domäne abgerufen werden soll.
    Tabelle : 5. Rückgaben
    Typ Beschreibung
    Ungültig
    //This example requires the Domain plugin be active, the Group table is the specified 
    //Domain table, and the ITIL user is in the Database Atlanta domain
    //From any domain (using queryNoDomain()) look up the incidents that an ITIL user can only see 
    //who is in the Database Atlanta domain, should expect all incidents with the global or the
    //Database Atlanta domain specified.
    var domain = new GlideRecord('sys_user');
    domain.addQuery('user_name', 'itil');
    domain.queryNoDomain();
    if (domain.next()) {
        var domainQuery = new GlideRecord('incident');
        domainQuery.addQuery('active', true);
        domainQuery.addDomainQuery(domain);
        domainQuery.query();
        gs.print('Number of Incidents for ITIL user: ' + domainQuery.getRowCount());
        while (domainQuery.next())
            gs.print(domainQuery.number);
    }

    Bereichsbezogenes Äquivalent

    Diese Methode ist in bereichsbezogenen Anwendungen nicht verfügbar.

    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.

    Hinweis:
    Um den Abfragezugriff basierend auf dem Anwender zu erzwingen, verwenden Sie AddUserEncodedQuery() .
    Tabelle : 6. Parameter
    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:
    • Wahr: Feld-ACLs erzwingen.
    • Falsch: Feld-ACLs nicht erzwingen.

    Standardwert: false

    Tabelle : 7. Rückgaben
    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.number);
     }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von AddEncodedQuery() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: AddEncodedQuery() .

    GlideRecord – addExtraField(Zeichenfolge dotWalkedField)

    Fragt ein oder mehrere Dot-Walking-Felder aus einem Formular oder Skript in einer einzelnen Anforderung ab.

    Die AddExtraField() Mit der Methode können Sie Dot-Walking-Felder in einer einzelnen Datenbankanforderung abfragen, anstatt mehrere Abfragen pro Dot-Walking-Element in einem Formular oder Skript auszuführen (was mehrere Round-Trips zur Datenbank erfordert).

    Tabelle : 8. Parameter
    Name Typ Beschreibung
    DotWalkedField Zeichenfolge Der Dot-Walking-Feldname. Ebenen von Feldnamen werden durch Punkte (Punkte) getrennt. Geben Sie beispielsweise den Wert ein Caller.Company Wenn Sie abfragen möchten Unternehmen > Anrufer Bedingung in der Tabelle „Incident [Incident]“.

    Das Format von dotWalkedFieldFolgt der Reihenfolge von Feldern von links nach rechts in einem Dot-Walking-Formular oder Skript.

    Tabelle : 9. Rückgaben
    Typ Beschreibung
    Keine
    Hinweis:
    Die AddExtraField() Die Methode wirkt sich nicht auf die Ausgabeergebnisse aus. Die Ausgabe ist immer dieselbe, unabhängig davon, ob Sie diese Methode in Ihrem Skript verwenden.
    Das folgende Beispiel zeigt, wie das Feld „Kontaktname“ von „cmn_location“ abgefragt wird (referenziert aus dem Referenzfeld „Standort“ in einem Feld „cmdb_ci“).
    Hinweis:
    Der dotWalkedField-Wert in diesem Beispiel cmdb_ci.location.contact.name , Sieht wie „cmdb_ci-Felder“ => „cmn_location-Felder“ => „sys_user-Felder“ in aus ServiceNow® UI beim Auswählen von Feldern in einer Liste.
    var gliderecord = new GlideRecord("incident");
    gliderecord.addQuery("number", "INC0041457");
    gliderecord.addExtraField("cmdb_ci.location.contact.name");
    gliderecord.query();
    gliderecord.next();
    gs.print(gliderecord.cmdb_ci.location.contact.name);

    Die Ausgabe ist mit identisch gs.Druck (gr.cmdb_ci.location.contact.name) Ohne zu verwenden AddExtraField() . Die AddExtraField() Die Methode optimiert die Abfrage der Dot-Walking-Felder. Beispielausgabe:

    Abel Tuter

    GlideRecord – addFunction(Objektfunktion)

    Wendet ein vordefiniertes GlideDBFunctionBuilder-Objekt auf einen Datensatz an.

    Verwenden Sie die bereichsbezogene GlideDBFunctionBuilder-Klasse, um eine Funktion zu definieren. Nachdem die Funktion definiert wurde, verwenden Sie AddFunction (Objektfunktion) Methode zum Anwenden der Funktion auf einen Datensatz.

    Tabelle : 10. Parameter
    Name Typ Beschreibung
    Funktion Objekt Ein GlideDBFunctionBuilder- oder GlideDBCaseStatementBuilder-Objekt, das einen SQL-Vorgang definiert.
    Tabelle : 11. Rückgaben
    Typ Beschreibung
    Ungültig
    var functionBuilder = new GlideDBFunctionBuilder();
    var myAddingFunction = functionBuilder.add();
    myAddingFunction = functionBuilder.field('order');
    myAddingFunction = functionBuilder.field('priority');
    myAddingFunction = functionBuilder.build();
    
    var now_GR = new GlideRecord('incident');
    now_GR.addFunction(myAddingFunction);
    now_GR.addQuery(myAddingFunction, '<', 5);
    now_GR.query();
    while(now_GR.next())
    gs.log(now_GR.getValue(myAddingFunction));
    

    Ausgabe:

    *** Script: 1
    *** Script: 4
    *** Script: 3
    *** Script: 1
    *** Script: 1
    *** Script: 2
    *** Script: 1
    *** Script: 1

    GlideRecord – addInactiveQuery()

    Fügt einen Filter hinzu, um inaktive Datensätze zurückzugeben. Für inaktive Datensätze ist die Kennzeichnung „aktiv“ auf „falsch“ festgelegt.

    Tabelle : 12. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 13. Rückgaben
    Typ Beschreibung
    GlideQueryCondition Datensätze, bei denen die aktive Kennzeichnung „falsch“ ist.
    var inc = new GlideRecord('incident');
    inc.addInactiveQuery();
    inc.query();

    Bereichsbezogenes Äquivalent

    Verwenden Sie in bereichsbezogenen Anwendungen die bereichsbezogene Methode AddQuery("Active","false") .

    GlideRecord – addJoinQuery (Zeichenfolgentabelle)

    Fügt einen Filter hinzu, um Datensätze basierend auf einer Beziehung in einer zugehörigen Tabelle zurückzugeben.

    Suchen Sie beispielsweise alle Anwender, die sich in der Datenbankgruppe befinden (Anwender über die Tabelle „sys_user_grmember“). Ein weiteres Beispiel wäre die Suche nach allen Problemen, denen ein Incident zugewiesen ist (Probleme über die incident.problem_id-Beziehung).

    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 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.

    Tabelle : 14. Parameter
    Name Typ Beschreibung
    Tabelle Zeichenfolge Tabellenname
    Tabelle : 15. Rückgaben
    Typ Beschreibung
    GlideQueryCondition Datensätze, in 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 aktive = falsche Probleme mit zugehörigen Incidents.

    // Look for Problem records
    var now_GR = new GlideRecord('problem');
     
    // That have associated Incident records
    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 print results
    while (now_GR.next()) {
        gs.print(now_GR.getValue('number'));
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von AddJoinQuery() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: AddJoinQuery() .

    GlideRecord – addJoinQuery(Zeichenfolgentabelle, Zeichenfolge primaryField)

    Fügt einen Filter hinzu, um Datensätze basierend auf einer Beziehung in einer zugehörigen Tabelle zurückzugeben.

    Suchen Sie beispielsweise alle Anwender, die sich in der Datenbankgruppe befinden (Anwender über die Tabelle „sys_user_grmember“). Ein weiteres Beispiel wäre die Suche nach allen Problemen, denen ein Incident zugewiesen ist (Probleme über die incident.problem_id-Beziehung).

    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 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.

    Tabelle : 16. Parameter
    Name Typ Beschreibung
    Tabelle Zeichenfolge Tabellenname
    PrimaryField Zeichenfolge Wenn nicht sys_ID, das primäre Feld.
    Tabelle : 17. Rückgaben
    Typ Beschreibung
    GlideQueryCondition Datensätze, in denen die Beziehungen übereinstimmen.

    Suchen Sie Probleme mit Incidents, die das Feld Open_by am Join-Schlüssel anstelle der sys_ID verwenden

    var now_GR = new GlideRecord('problem'); 
    now_GR.addJoinQuery('incident', 'opened_by'); 
    now_GR.query();

    Bereichsbezogenes Äquivalent

    Zur Verwendung von AddJoinQuery() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: AddJoinQuery() .

    GlideRecord – addJoinQuery(Zeichenfolgentabelle, Zeichenfolge primaryField, Zeichenfolge, ZeichenfolgentabellenField)

    Fügt einen Filter hinzu, um Datensätze basierend auf einer Beziehung in einer zugehörigen Tabelle zurückzugeben.

    Suchen Sie beispielsweise alle Anwender, die sich in der Datenbankgruppe befinden (Anwender über die Tabelle „sys_user_grmember“). Ein weiteres Beispiel wäre die Suche nach allen Problemen, denen ein Incident zugewiesen ist (Probleme über die incident.problem_id-Beziehung).

    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 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.

    Tabelle : 18. Parameter
    Name Typ Beschreibung
    Tabelle Zeichenfolge Tabellenname
    PrimaryField Zeichenfolge Wenn nicht sys_ID, das primäre Feld.
    Feld „JoinTableField“ Zeichenfolge Wenn nicht sys_ID, das Feld, das die Tabellen verbindet
    Tabelle : 19. Rückgaben
    Typ Beschreibung
    GlideQueryCondition Datensätze, in denen die Beziehungen übereinstimmen.

    Suchen Sie nach Problemen, denen Incidents zugeordnet sind, bei denen der Feldwert „Caller_ID“ des Incident mit dem des Felds „Problem opened_by“ übereinstimmt.

    var now_GR = new GlideRecord('problem'); 
    now_GR.addJoinQuery('incident', 'opened_by', 'caller_id'); 
    now_GR.query();

    Bereichsbezogenes Äquivalent

    Zur Verwendung von AddJoinQuery() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: AddJoinQuery() .

    GlideRecord – addNotNullQuery(String fieldName)

    Fügt einen Filter hinzu, um Datensätze zurückzugeben, bei denen das angegebene Feld nicht null ist.

    Tabelle : 20. Parameter
    Name Typ Beschreibung
    fieldName Zeichenfolge Der Feldname.
    Tabelle : 21. Rückgaben
    Typ Beschreibung
    GlideQueryCondition GlideQueryCondition von Datensätzen, bei denen das Parameterfeld nicht null ist.
    var target = new GlideRecord('incident'); 
      target.addNotNullQuery('short_description');
      target.query();   // Issue the query to the database to get all records
      while (target.next()) {   
         // add code here to process the incident record
      }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von AddNotNullQuery() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: AddNotNullQuery() .

    GlideRecord – addNullQuery(String fieldName)

    Fügt einen Filter hinzu, um Datensätze zurückzugeben, bei denen das angegebene Feld null ist.

    Tabelle : 22. Parameter
    Name Typ Beschreibung
    fieldName Zeichenfolge Der Feldname.
    Tabelle : 23. Rückgaben
    Typ Beschreibung
    GlideQueryCondition GlideQueryCondition von Datensätzen, bei denen das angegebene Feld null ist.
    var target = new GlideRecord('incident'); 
      target.addNullQuery('short_description');
      target.query();   // Issue the query to the database to get all records
      while (target.next()) {   
         // add code here to process the incident record
      }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von AddNullQuery() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: AddNullQuery() .

    GlideRecord – addQuery (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.

    Wenn Sie mit SQL vertraut sind, ähnelt diese Methode der „Where“-Klausel. Sie können einen oder mehrere erstellen AddQuery() Aufrufe in einer einzelnen Abfrage. Für diese Methode sind die Abfragen UND'ed. Wenn eine der Abfrageanweisungen ODER sein muss, verwenden Sie die Klasse GlideQueryCondition .

    AddQuery() Wird normalerweise mit drei Parametern aufgerufen: Tabellenfeld, Operator und Vergleichswert. Es kann nur mit zwei Parametern aufgerufen werden, dem Tabellenfeld und dem Vergleichswert, z. B. MyObj.addQuery('category','Hardware'); . Der Operator in diesem Fall wird als „gleich“ angenommen.

    Weitere Informationen zur Verwendung von Abfragen finden Sie unter Tabellen im Skript werden abgefragt .

    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.

    Hinweis:
    Um den Abfragezugriff basierend auf dem Anwender zu erzwingen, verwenden Sie AddUserQuery() .
    Tabelle : 24. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Tabellenfeldname oder Pfad zu einem Attribut in einem dynamischen Attributspeicherelement.
    Format des Attributpfads: dyn_ATT_field->attr_Name
    • dyn_ATT_field : Name eines dynamischen Attributspeicherfelds in der Tabelle.
    • attr_Name : Name des dynamischen Attributs.

      Tabelle: Dynamisches Attribut [Dynamic_Attribute]

    Siehe auch Dynamic Schema.
    operator Objekt Abfrageoperator. Die verfügbaren Werte hängen vom Datentyp von ab Wert Parameter.
    Nummern:
    • =
    • !=
    • >
    • >=
    • <
    • <=
    Zeichenfolgen (muss in Großbuchstaben angegeben werden):
    • =
    • !=
    • IN
    • NICHT IN
    • BEGINNT MIT
    • ENDSWITH
    • ENTHÄLT
    • ENTHÄLT NICHT
    • INSTANZ VON
    Hinweis:
    Verwenden Sie „ENTHÄLT“ anstelle des „GEFÄLLT MIR“-Operators.
    Dynamische Schemaoperatoren:
    • =
    • !=
    • <
    • >
    • <=
    • >=
    • BETWEEN
    • ENTHÄLT
    • DOES_NOT_INCLUDE
    • ENDSWITH
    • GT_FIELD
    • GT_OR_EQUALS_FIELD
    • IN
    • ISEMPTY
    • ISNOTEMPTY
    • IST_NOT_NULL
    • IST_NULL
    • GEFÄLLT MIR
    • LT_FIELD
    • LT_OR_EQUALS_FIELD
    • STIMMT ÜBEREIN
    • NICHT_IN
    • NOT_LIKE
    • NOT_MATCHES
    • NSAMEAS
    • SAMEAS
    • BEGINNT MIT
    Wert Objekt Wert, für den abgefragt werden soll (Groß-/Kleinschreibung wird nicht beachtet).
    Tabelle : 25. Rückgaben
    Typ Beschreibung
    GlideQueryCondition Verweis auf die GlideQueryCondition, die dem GlideRecord hinzugefügt wurde.

    Das folgende Beispiel zeigt, wie diese Methode aufgerufen wird.

    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.active = false;
     gs.print('Active incident ' + rec.number + ' closed');
     rec.update();
    }

    Das folgende Beispiel zeigt, wie verwendet wird IN Operator.

    var que = new GlideRecord('incident');
    que.addQuery('number','IN','INC00001,INC00002');
    que.query();
    while(que.next()) {
     //do something....
    }

    Das folgende Beispiel zeigt, wie diese Methode mithilfe von Attributen in einem dynamischen Attributspeicher aufgerufen wird.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.addQuery('inc_dynamic_schema->avg_mpg', 'GT_FIELD', 'inc_dynamic_schema2->avg_mpg'); 
    gr_Inc.query();
    while(gr_Inc.next()) {
        gs.info(gr_Inc.number + " Gas Mileage 1: " + gr_Inc.getDynamicAttributeValue('inc_dynamic_schema->avg_mpg') +  " GT_FIELD Gas Mileage 2 :" + gr_Inc.getDynamicAttributeValue('inc_dynamic_schema2->avg_mpg'));
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von AddQuery() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: AddQuery() .

    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.

    Zusätzliche Methoden für den Zugriff auf Systemebene, die die ACL-Prüfungen von Abfragen umgehen:

    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.

    Tabelle : 26. Parameter
    Name Typ Beschreibung
    query Zeichenfolge Ein Codierte Abfragezeichenfolge .
    Tabelle : 27. Rückgaben
    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

    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.

    Zusätzliche Methoden für den Zugriff auf Systemebene, die die ACL-Prüfungen von Abfragen umgehen:

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

    Tabelle : 28. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Spaltenname, der zum Sortieren der Datensätze in diesem GlideRecord-Objekt verwendet werden soll.
    Tabelle : 29. Rückgaben
    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...

    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.

    Zusätzliche Methoden für den Zugriff auf Systemebene, die die ACL-Prüfungen von Abfragen umgehen:

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

    Tabelle : 30. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Spaltenname, der zum Sortieren der Datensätze in einem GlideRecord-Objekt verwendet werden soll.
    Tabelle : 31. Rückgaben
    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

    GlideRecord – addSystemQuery (Zeichenfolgenname, Objektoperator, 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.

    Zusätzliche Methoden für den Zugriff auf Systemebene, die die ACL-Prüfungen von Abfragen umgehen:

    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.

    Tabelle : 32. Parameter
    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):
    • =
    • !=
    • IN
    • NICHT IN
    • BEGINNT MIT
    • ENDSWITH
    • ENTHÄLT
    • ENTHÄLT NICHT
    • INSTANZ VON
    Hinweis:
    Verwenden Sie „ENTHÄLT“ anstelle des „GEFÄLLT MIR“-Operators.
    Dynamische Schemaoperatoren:
    • =
    • !=
    • <
    • >
    • <=
    • >=
    • BETWEEN
    • ENTHÄLT
    • DOES_NOT_INCLUDE
    • ENDSWITH
    • GT_FIELD
    • GT_OR_EQUALS_FIELD
    • IN
    • ISEMPTY
    • ISNOTEMPTY
    • IST_NOT_NULL
    • IST_NULL
    • GEFÄLLT MIR
    • LT_FIELD
    • LT_OR_EQUALS_FIELD
    • STIMMT ÜBEREIN
    • NICHT_IN
    • NOT_LIKE
    • NOT_MATCHES
    • NSAMEAS
    • SAMEAS
    • BEGINNT MIT
    Wert Objekt Wert, für den abgefragt werden soll (Groß-/Kleinschreibung wird nicht beachtet).
    Tabelle : 33. Rückgaben
    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'));
    }
    Ausgabe:
    Active user Luddy
    Active user Kunde

    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).

    Zugehörige Methoden:

    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.

    Tabelle : 34. Parameter
    Name Typ Beschreibung
    query Zeichenfolge Ein Codierte Abfragezeichenfolge .
    Tabelle : 35. Rückgaben
    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

    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).

    Zugehörige Methoden:

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

    Tabelle : 36. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Spaltenname, der zum Sortieren der Datensätze in diesem GlideRecord-Objekt verwendet werden soll.
    Tabelle : 37. Rückgaben
    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...

    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).

    Zugehörige Methoden:

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

    Tabelle : 38. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Spaltenname, der zum Sortieren der Datensätze in einem GlideRecord-Objekt verwendet werden soll.
    Tabelle : 39. Rückgaben
    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

    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).

    Zugehörige Methoden:

    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.

    Tabelle : 40. Parameter
    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):
    • =
    • !=
    • IN
    • NICHT IN
    • BEGINNT MIT
    • ENDSWITH
    • ENTHÄLT
    • ENTHÄLT NICHT
    • INSTANZ VON
    Hinweis:
    Verwenden Sie „ENTHÄLT“ anstelle des „GEFÄLLT MIR“-Operators.
    Dynamische Schemaoperatoren:
    • =
    • !=
    • <
    • >
    • <=
    • >=
    • BETWEEN
    • ENTHÄLT
    • DOES_NOT_INCLUDE
    • ENDSWITH
    • GT_FIELD
    • GT_OR_EQUALS_FIELD
    • IN
    • ISEMPTY
    • ISNOTEMPTY
    • IST_NOT_NULL
    • IST_NULL
    • GEFÄLLT MIR
    • LT_FIELD
    • LT_OR_EQUALS_FIELD
    • STIMMT ÜBEREIN
    • NICHT_IN
    • NOT_LIKE
    • NOT_MATCHES
    • NSAMEAS
    • SAMEAS
    • BEGINNT MIT
    Wert Objekt Wert, für den abgefragt werden soll (Groß-/Kleinschreibung wird nicht beachtet).
    Tabelle : 41. Rückgaben
    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'));
    }
    Ausgabe:
    Active user Luddy
    Active user Kunde

    GlideRecord – addValue (Zeichenfolgenfeld, Zahlenwert)

    Stellt atomare Add- und Subtraktionsvorgänge für ein angegebenes Nummernfeld auf Datenbankebene für das aktuelle GlideRecord-Objekt bereit.

    Normalerweise wird ein GlideRecord-Objekt als ein Datensatz in einer Datenbank geschrieben. Einzelne Feldwerte werden wie definiert gespeichert. Für Code, der einem GlideRecord-Feld einen Wert hinzufügt, wird das Feld einfach mit dem neuen Wert in der Datenbank gespeichert, anstatt es atomar zu erhöhen.

    Wenn beispielsweise der folgende Code ausgeführt wird, ist der Wert des Felds u_count in der Datenbank 2.
    gs.print(now_now_GR.u_count); // "1" 
    now_GR.u_count += 1; 
    now_GR.update(); 
    now_GR.get(now_now_GR.sys_id); 
    gs.print(now_now_GR.u_count); // "2"   
    Wenn ein anderer Anwender gleichzeitig identischen Code ausführt, anstatt der beiden Vorgänge, die jeweils 1 zu u_count addieren, besteht die Nettowirkung darin, dass u_count nur 2 enthält, wobei das Update eines Vorgangs tatsächlich verloren geht.
    Umgekehrt wird AddValue() Die Methode führt die Hinzufügung/Subtraktion in der Datenbank durch, wenn der Datensatz als atomarer Vorgang aktualisiert wird. Zwei Vorgänge, die gleichzeitig ausgeführt werden, aktualisieren das Feld ordnungsgemäß.
    gs.print(now_now_GR.u_count); // "1" 
    now_GR.addValue("u_count", 1); 
    now_GR.update(); 
    now_GR.get(now_GR); // The record must be reloaded from the database to observe the result
    gs.print(now_now_GR.u_count); // "3", if executed concurrently with another user 
    Hinweis:
    Der neue Wert wird nicht aus der Datenbank zurückgelesen, es sei denn, dies wurde explizit getan.

    Gefällt Mir SetWert() , AddValue() Änderungen werden erst nach einem nachfolgenden Aufruf von in der Datenbank wirksam Aktualisieren () Oder Einfügen() . Wenn Einfügen() Wird aufgerufen, wird das angegebene Feld mit initialisiert valueParameter an übergeben AddValue() .

    Hinweis:
    Wenn SetWert() Wird für das angegebene Feld vor dem Aufruf aufgerufen AddValue() , AddValue() Methode wird nicht verarbeitet, und eine Fehlermeldung wird protokolliert.
    Tabelle : 42. Parameter
    Name Typ Beschreibung
    Ausstehend Zeichenfolge Der Name des Felds in diesem GlideRecord, das geändert werden soll.

    Wenn das zugeordnete Feld kein numerischer Typ ist, wird der Vorgang ignoriert.

    Wert Nummer Der Betrag, der dem Wert hinzugefügt werden soll, wenn der Datensatz gespeichert wird. Um einen Subtraktionsvorgang auszuführen, übergeben Sie einfach einen negativen Wert.
    Tabelle : 43. Rückgaben
    Typ Beschreibung
    Ungültig

    Zeigt einen hinzugefügten Wert an.

    gs.print(now_GR.u_count); // "1" 
    now_GR.addValue("u_count", 1); 
    now_GR.update(); 
    now_GR.get(now_GR.sys_id); // The record must be reloaded from the database to observe the result
    gs.print(now_GR.u_count);

    Ausgabe: 2

    Zeigt einen subtrahierten Wert an.

    gs.print(now_GR.u_count); // "4" 
    now_GR.addValue("u_count", -1); 
    now_GR.update(); 
    now_GR.get(now_GR.sys_id); // The record must be reloaded from the database to observe the result
    gs.print(now_GR.u_count);

    Ausgabe: 3

    GlideRecord – applyEncodedQuery(Zeichenfolge abfrageZeichenfolge)

    Legt die Werte der angegebenen codierten Abfragebegriffe fest und wendet sie auf den aktuellen GlideRecord an.

    Tabelle : 44. Parameter
    Name Typ Beschreibung
    Abfragezeichenfolge Zeichenfolge Codierte Abfrage, die auf den aktuellen GlideRecord angewendet werden soll.
    Tabelle : 45. Rückgaben
    Typ Beschreibung
    Keine

    function createAcl(table, role) {
      gs.print("Checking security on table " + table);
      var now_GR = new GlideRecord("sys_security_acl");
      now_GR.addQuery("name", table);
      now_GR.addQuery("operation", "read");
      now_GR.query();
      var encQuery = now_GR.getEncodedQuery();
      if (now_GR.next()) {
        // existing acl found so use it
        createAclRole(now_GR.sys_id.toString(), role);
        return;
      } else {
      now_GR.initialize();
      now_GR.applyEncodedQuery(encQuery);
      var acl = now_GR.insert();
        gs.print("Added read access control on " + table);
        createAclRole(acl, role);
      } 
    }

    GlideRecord – ApplyTemplate (Zeichenfolgenvorlage)

    Wenden Sie einen Vorlagendatensatz aus der Vorlagentabelle [sys_template] auf den aktuellen Datensatz an. Wenn die angegebene Vorlage nicht gefunden wird, wird keine Aktion ausgeführt.

    Hinweis:
    Diese Methode instanziiert automatisch einen now_GR.insert() Methode, wenn eine Vorlage über verfügt Nächste Zugehörige Untergeordnete Vorlage Feld ausgefüllt. Informationen finden Sie unter Erstellen Sie Vorlagen für zugehörige Aufgabendatensätze .
    Tabelle : 46. Parameter
    Name Typ Beschreibung
    Vorlage Zeichenfolge Name einer Vorlage aus der Tabelle „Vorlagen“ [sys_template].
    Tabelle : 47. Rückgaben
    Typ Beschreibung
    Ungültig
    var rec1 = new GlideRecord("incident");
    rec1.initialize();
    rec1.applyTemplate("my_incident_template");
    rec1.insert();

    GlideRecord – autoSysFields (boolescher Wert e)

    Aktiviert oder deaktiviert die Aktualisierung der Felder „sys_updated_by“, „sys_updated_on“, „sys_mod_count“, „sys_created_by“ und „sys_created_on“. Dies wird häufig zum manuellen Aktualisieren von Feldwerten in einem Datensatz verwendet, während historische Informationen unverändert bleiben.

    Warnung:
    Seien Sie vorsichtig, wenn Sie diese Methode verwenden. Wenn Sie diese Methode verwenden, wird das Feld „sys_mod_count“ nicht erhöht, und andere sys_-Felder werden nicht aktualisiert. Dies kann die Funktionalität beeinträchtigen, einschließlich, aber nicht beschränkt auf, Aktivitätsformatierer, Verlaufssätze, Benachrichtigungen und Metriken.
    Tabelle : 48. Parameter
    Name Typ Beschreibung
    e Boolean Bei „falsch“ werden Updates für „sys_updated_by“, „sys_updated_on“, „sys_mod_count“, „sys_created_by“ und „sys_created_on“ deaktiviert.
    Tabelle : 49. Rückgaben
    Typ Beschreibung
    Ungültig
    var inc = new GlideRecord('incident');
     
    // Change all Open(1) incidents to Active(2)
     
    inc.addQuery('state', 1);
    inc.query();
     
    while (inc.next()) {
      inc.autoSysFields(false);  // Do not update sys_updated_by, sys_updated_on, sys_mod_count, sys_created_by, and sys_created_on
      inc.setWorkflow(false);    // Do not run any other business rules
      inc.setValue('state', 2);
      inc.update();
    }

    GlideRecord – canCreate()

    Bestimmt, ob die Zugriffssteuerungsregeln (die die Rolle des Anwenders enthalten) das Einfügen neuer Datensätze in diese Tabelle zulassen.

    Tabelle : 50. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 51. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob die Rollen des Anwenders die Erstellung von Datensätzen in dieser Tabelle zulassen.
    Mögliche Werte:
    • Wahr: Erstellen zulässig
    • Falsch: Erstellen ist nicht zulässig

    Dieses Beispiel zeigt, ob Datensätze in der Tabelle „benefit_Plan“ erstellt werden können.

    canCreateBenefitPlan : function() {
      var now_GR = new GlideRecord('benefit_plan');
      return now_GR.canCreate();
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von CanCreate() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: CanCreate() .

    GlideRecord – canDelete()

    Bestimmt, ob die Zugriffssteuerungsregeln (die die Rolle des Anwenders enthalten) das Löschen von Datensätzen in dieser Tabelle zulassen.

    Tabelle : 52. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 53. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob die Rollen des Anwenders das Löschen von Datensätzen in dieser Tabelle zulassen.
    Gültige Werte:
    • Wahr: Löschen zulässig
    • Falsch: Löschen ist nicht zulässig
    var att = new GlideRecord('sys_attachment');
    att.get('$[sys_attachment.sys_id]');
    var sm = GlideSecurityManager.get();
    var checkMe = 'record/sys_attachment/delete';
    var canDelete = sm.hasRightsTo(checkMe, att);
    gs.log('canDelete: ' + canDelete);

    Bereichsbezogenes Äquivalent

    Zur Verwendung von CanDelete() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: CanDelete() .

    GlideRecord – canRead()

    Gibt an, ob die Zugriffssteuerungsregeln (ACLs) dem aktuellen Anwender erlauben, den aktuellen Datensatz in der zugehörigen GlideRecord-Tabelle zu lesen. Diese Methode wertet alle verfügbaren ACLs für die spezifische Ressource aus.

    Hinweis:
    Sie sollten diese Methode nicht verwenden, um den Zugriff auf Tabellenebene zu überprüfen. Ein einzelner Aufruf dieser Methode reicht möglicherweise nicht aus, um ein schlüssiges Ergebnis der Überprüfung der Zugriffsrechte auf Tabellenebene zu erhalten. Verwenden Sie zum Durchführen einer Zugriffsprüfung auf Tabellenebene GlideSicherheitsmanager.hasRightsTo() Methode.

    Weitere Informationen zu ACLs finden Sie unter Bewertungsreihenfolge Für Zugriffssteuerungen .

    Tabelle : 54. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 55. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob die Rollen des Anwenders das Lesen des aktuellen Datensatzes zulassen.
    Gültige Werte:
    • Wahr: Lesen zulässig
    • Falsch: Lesen ist nicht zulässig

    Dieses Beispiel zeigt, wie die Tabelle „Incident“ [Incident] iteriert und überprüft wird, ob der Anwender Leserechte für jeden Datensatz hat.

    var grTable = new GlideRecord('incident');
    grTable.query();
    while (grTable.next()) {
      if (grTable.canRead()) 
    		…
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von CanRead() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: CanRead() .

    GlideRecord – canWrite()

    Bestimmt, ob die Zugriffssteuerungsregeln (die die Rolle des Anwenders enthalten) Aktualisierungen von Datensätzen in dieser Tabelle zulassen.

    Tabelle : 56. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 57. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob die Rollen des Anwenders das Schreiben von Datensätzen in dieser Tabelle zulassen.
    Gültige Werte:
    • Wahr: Schreiben zulässig
    • Falsch: Schreiben ist nicht zulässig

    Dieses Beispiel zeigt, ob Datensätze in die Tabelle „benefit_Plan“ geschrieben werden können.

    canWriteBenefitPlan : function() {
      var now_GR = new GlideRecord('benefit_plan');
      return now_GR.canWrite();
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von CanWrite() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: CanWrite() .

    GlideRecord – Changes()

    Bestimmt, ob eines der Felder im Datensatz geändert wurde.

    Tabelle : 58. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 59. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob im angegebenen Datensatz Änderungen vorhanden sind.
    Mögliche Werte:
    • Wahr: Felder im angegebenen Datensatz haben sich geändert.
    • Falsch: Es wurden keine Felder geändert.

    Dieses Beispiel zeigt, wie überprüft wird, ob ein Incident-Datensatz Changes enthält.

    var now_GR = new GlideRecord("incident");
    now_GR.query();
    now_GR.next();
    if (now_GR.changes()) {
      gs.print("The incident record reported changes right after being read");
    } else {
      gs.print("The incident record has not changed");
    }

    Bereichsbezogenes Äquivalent

    Um diese Funktionalität in einer bereichsbezogenen Anwendung zu implementieren, fügen Sie Code ähnlich dem folgenden hinzu:

    var now_GR = new GlideRecord("incident");
       now_GR.get("965c9e5347c12200e0ef563dbb9a7156");
       now_GR.short_description = "test";
       var elements = now_GR.getElements();
       var hasChanged = false;
       for(var i=0; i < elements.length;i++){
         var element = elements[i];
         hasChanged = hasChanged || element.changes();
         gs.info(element.getName() + ":" + element.changes());
       }
       gs.info(hasChanged);

    GlideRecord – select Window(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 aus ANZAHL(*) 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 überspringen ANZAHL(*) Abfrage, aber derselbe Leistungsvorteil ist mit erreichbar SetNoCount() .
    Siehe auch:
    Tabelle : 60. Parameter
    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:
    • Wahr: Zeilenanzahl tritt immer auf.
    • Falsch: Die Zeilenanzahl tritt auf, wenn sie in der normalen Ausführung der Methode implementiert wird.

    Standardwert: false

    Tabelle : 61. Rückgaben
    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

    GlideRecord – deleteMultiple()

    Löscht alle Datensätze, die die Abfrage erfüllen.

    Mit dieser Methode werden keine Anhänge gelöscht.

    DOT-Walking wird für diese Methode nicht unterstützt. Bei Verwendung von DeleteMultiple() Funktion in referenzierten Tabellen. Alle Datensätze in der Tabelle werden gelöscht. Auch bei Verwendung DeleteRecord() Zum kaskadieren von Löschungen, vorherige Aufrufe an SetWorkflow() Im selben GlideRecord-Objekt werden ignoriert.

    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.

    Hinweis:
    Bei Verwendung DeleteMultiple() Zum kaskadieren von Löschungen, vorherige Aufrufe an SetWorkflow() Im selben GlideRecord-Objekt werden ignoriert.
    Tabelle : 62. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 63. Rückgaben
    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();

    Bereichsbezogenes Äquivalent

    Zur Verwendung von DeleteMultiple() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: DeleteMultiple() .

    GlideRecord – deleteRecord()

    Löscht einen einzelnen Datensatz.

    Tabelle : 64. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 65. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob der Datensatz erfolgreich gelöscht wurde.
    Mögliche Werte:
    • Wahr: Datensatz wurde gelöscht.
    • Falsch: Es wurde kein Datensatz zum Löschen gefunden.

    Dieses Beispiel zeigt, wie alle inaktiven Datensätze aus der Incident-Tabelle gelöscht werden.

    var rec = new GlideRecord('incident');
    rec.addQuery('active',false);
    rec.query();
    while (rec.next()) { 
     gs.info('Inactive incident ' + rec.number + ' deleted');
     rec.deleteRecord();
    }

    Ausgabe:

    Inactive incident INC0010010 deleted
    Inactive incident INC0010011 deleted

    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

    Bereichsbezogenes Äquivalent

    Zur Verwendung von DeleteRecord() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: DeleteRecord() .

    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.

    Tabelle : 66. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 67. Rückgaben
    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

    GlideRecord – Suchen(ZeichenfolgenspaltenName, Zeichenfolgenwert)

    Gibt „wahr“ zurück, wenn ein Datensatz einen übereinstimmenden Wert in der angegebenen Spalte hat. Wenn gefunden, wird auch zum ersten übereinstimmenden Datensatz verschoben und wird im Wesentlichen ausgeführt Next() Bis der Datensatz zurückgegeben wird.

    Hinweis:
    Diese Methode erstellt einen Datensatz, anstatt den vorhandenen Datensatz zu aktualisieren, wenn Sie anwenden Aktualisieren () Methode nach dem Ändern des GlideRecord. Um zu vermeiden, dass ein Datensatz erstellt wird, rufen Sie auf Next() Methode vor dem Aufruf Suchen () . Zum Beispiel:
    var existingMaterials = new GlideRecord('u_m2m_material_num_service_instance');
    existingMaterials.addQuery('u_service_instance', serviceInstance.sys_id);
    existingMaterials.query();
    existingMaterials.next(); // This line added to prevent new record creation
    
    existingMaterials.find('u_material_number', 'ca41b9fd37a84200fdc25ca543990ed8');
    
    existingMaterials.u_material_quantity = 5;
    existingMaterials.update("Modify request via catalog");
    Tabelle : 68. Parameter
    Name Typ Beschreibung
    columnName Zeichenfolge Feldname, nach dem gesucht werden soll.
    Wert Zeichenfolge Wert, auf den im angegebenen Feld geprüft werden soll.
    Tabelle : 69. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob ein Datensatz in der aktuellen Tabelle einen übereinstimmenden Wert im angegebenen Feld hat.
    Mögliche Werte:
    • Wahr: Übereinstimmendes Feld.
    • Falsch: Kein übereinstimmendes Feld.

    Dieses Beispiel zeigt, wie Sie einen Datensatz in der Incident-Tabelle mit „Kritisch“ im Feld „Kurzbeschreibung“ finden.

    var now_GR = new GlideRecord("incident");
    now_GR.query();
    var shortDescription = "Critical";
    if (now_GR.find("short_description", shortDescription)) {
      gs.print("An incident with the specified field value was found");
      var recordID = now_GR.getValue("sys_id");
      gs.print("Found in the following record: " + recordID);
    } else {
      gs.print("An incident with the specified field value was not found");
    }

    Ausgabe:

    An incident with the specified field value was found
    Found in the following record: 552c48888c033300964f4932b03eb092

    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.

    Tabelle : 70. Parameter
    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 sys_ID 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.
    Tabelle : 71. Rückgaben
    Typ Beschreibung
    Boolean Gibt an, ob der angeforderte Datensatz gefunden wurde.
    Mögliche Werte:
    • Wahr: Datensatz wurde gefunden
    • Falsch: Datensatz wurde nicht gefunden

    Dieses Beispiel ruft einen Incident-Datensatz ab, indem die sys_ID übergeben wird

    var grIncident = new GlideRecord('incident');
    var returnValue = grIncident.get('99ebb4156fa831005be8883e6b3ee4b9');
    gs.info(returnValue); // logs true or false
    gs.info(grIncident.number); // logs Incident Number

    In diesem Beispiel wird ein Incident-Datensatz abgerufen, indem die Spalte im zu suchenden Datensatz und der zu suchende Wert übergeben werden.

    var grIncident = new GlideRecord('incident');
    var returnValue = grIncident.get('caller_id.name','Sylivia Wayland');
    gs.info(returnValue); // logs true or false
    gs.info(grIncident.number); // logs Incident Number

    Bereichsbezogenes Äquivalent

    Zur Verwendung von Get() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: Get() .

    GlideRecord – getAttribute(String fieldName)

    Gibt die Wörterbuchattribute für das angegebene Feld zurück.

    Tabelle : 72. Parameter
    Name Typ Beschreibung
    fieldName Zeichenfolge Feldname, für den die Wörterbuchattribute zurückgegeben werden sollen
    Tabelle : 73. Rückgaben
    Typ Beschreibung
    Zeichenfolge Wörterbuchattribute

    Dieses Beispiel zeigt, wie die Wörterbuchattribute für „tree_Picker“ zurückgegeben werden.

    function doit() {
      var now_GR = new GlideRecord('sys_user');
      now_GR.query("user_name","admin");
      if (now_GR.next()) {
        gs.print("we got one");
        gs.print(now_GR.location.getAttribute("tree_picker"));
      }
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von GetAttribute() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: GetAttribute() .

    GlideRecord – getClassDisplayValue()

    Gibt die Bezeichnung der Tabelle zurück.

    Tabelle : 74. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 75. Rückgaben
    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.

    Bereichsbezogenes Äquivalent

    Zur Verwendung von GetClassDisplayValue() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: GetClassDisplayValue() .

    GlideRecord – getDisplayValue(Zeichenfolgenname)

    Ruft den Anzeigewert für den aktuellen Datensatz oder den Anzeigewert eines Attributs in einem dynamischen Attributspeicher ab.

    Display values Werden basierend auf dem ist-Wert in der Datenbank und den Anwender- oder Systemeinstellungen und -Einstellungen bearbeitet.

    Der zurückgegebene Anzeigewert ist vom Feldtyp abhängig.
    • 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 das Anzeigefeld des referenzierten Datensatzes.

    Siehe auch Dynamic Schema.

    Tabelle : 76. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Optional. Nur erforderlich, wenn der Anzeigewert für ein dynamisches Attribut angefordert wird.

    Pfad zu einem Attribut in einem dynamischen Schema, das abgerufen werden soll.

    Format des Attributpfads: dyn_ATT_field->attr_Name
    • dyn_ATT_field : Name eines dynamischen Attributspeicherfelds in der Tabelle.
    • attr_Name : Name des dynamischen Attributs.

      Tabelle: Dynamisches Attribut [Dynamic_Attribute]

    Siehe auch Dynamic Schema.
    Tabelle : 77. Rückgaben
    Typ Beschreibung
    Zeichenfolge Anzeigewert für den aktuellen Datensatz oder das angegebene Element.

    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

    Dieses Beispiel zeigt, wie der Anzeigewert eines Attributs in einem dynamischen Attributspeicherelement abgerufen wird.

    var gr_AppTab = new GlideRecord('application_table'); 
    gr_AppTab.setValue('dyn_att_field->attr', 42); 
    gr_AppTab.setDisplayValue('dyn_att_field->attr2, true);
    gr_AppTab.update();
    gs.info('Attr value: ' + 
    gr_AppTab.getDisplayValue('dyn_att_field->attr);
    gs.info('Attr2 value: ' + 
    gr_AppTab.getDisplayValue('dyn_att_field->attr2);

    Ausgabe:

    Attr value: System error
    Attr2 value: true

    Bereichsbezogenes Äquivalent

    Zur Verwendung von GetDisplayValue() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: GetDisplayValue() .

    GlideRecord – getDynamicAttribute(Zeichenfolge vollständiger Pfad)

    Gibt das GlideElementDynamicAttribute-Objekt für den angegebenen dynamischen Attributspeicherpfad zurück.

    Dynamische Attribute haben einen definierten Datentyp und eine sys_ID Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamisches Schema .

    Tabelle : 78. Parameter
    Name Typ Beschreibung
    fullPath Zeichenfolge Pfad, der zum Suchen des gewünschten dynamischen Attributs verwendet werden soll.
    Format des Attributpfads: dyn_ATT_field->attr_Name
    • dyn_ATT_field : Name eines dynamischen Attributspeicherfelds in der Tabelle.
    • attr_Name : Name des dynamischen Attributs.

      Tabelle: Dynamisches Attribut [Dynamic_Attribute]

    Siehe auch Dynamic Schema.
    Tabelle : 79. Rückgaben
    Typ Beschreibung
    Objekt GlideElementDynamicAttribute-Objekt, das das angegebene dynamische Attribut enthält.

    Wenn fullPathParameter ist ungültig, gibt null zurück.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.get('number', 'INC0009009');
    gr_Inc.getDynamicAttribute('attr_store->color').setValue('Blue');
    gr_Inc.update();
    
    gr_Inc = new GlideRecord('incident');
    gr_Inc.get('number', 'INC0009009');
    gs.info(gr_Inc.getDynamicAttribute('attr_store', 'color'));
    Ausgabe:
    *** Script: Blue

    GlideRecord – getDynamicAttribute(Zeichenfolge dynamicAttributeField, Zeichenfolge attrPath)

    Gibt ein GlideElementDynamicAttribute-Objekt zurück, das das dynamische Attribut im angegebenen Tabellenfeld und Attributpfad enthält.

    Dynamische Attribute haben einen definierten Datentyp und eine sys_ID Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamisches Schema .

    Tabelle : 80. Parameter
    Name Typ Beschreibung
    DynamicAttributeField Zeichenfolge Name des Felds in der Tabelle, das das dynamische Attribut enthält.
    AttrPath Zeichenfolge Attributpfad, der zum Suchen des zugehörigen dynamischen Schemaattributs verwendet werden soll.

    Format: „attr_Name“

    attr_Name : Name des dynamischen Attributs.

    Tabelle: Im Attributfeld der Tabelle „dynamisches Attribut“ [Dynamic_Attribute].

    Tabelle : 81. Rückgaben
    Typ Beschreibung
    Objekt GlideElementDynamicAttribute-Objekt, das das angegebene dynamische Attribut enthält.

    Wenn einer der beiden ist dynamicAttributeFieldOder attrPathParameter sind ungültig, gibt null zurück.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.get('number', 'INC0009009');
    gr_Inc.getDynamicAttribute('attr_store', 'color').setValue('Blue');
    gr_Inc.update();
    
    gr_Inc = new GlideRecord('incident');
    gr_Inc.get('number', 'INC0009009');
    gs.info(gr_Inc.getDynamicAttribute('attr_store', 'color'));
    Ausgabe:
    *** Script: Blue

    GlideRecord – getDynamicAttributeValue(Zeichenfolge vollständiger Pfad)

    Gibt den Wert des dynamischen Attributs an einem angegebenen Pfad zurück.

    Dynamische Attribute haben einen definierten Datentyp und eine sys_ID Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamisches Schema .

    Tabelle : 82. Parameter
    Name Typ Beschreibung
    fullPath Zeichenfolge Pfad, der zum Suchen des gewünschten dynamischen Attributs verwendet werden soll.
    Format des Attributpfads: dyn_ATT_field->attr_Name
    • dyn_ATT_field : Name eines dynamischen Attributspeicherfelds in der Tabelle.
    • attr_Name : Name des dynamischen Attributs.

      Tabelle: Dynamisches Attribut [Dynamic_Attribute]

    Siehe auch Dynamic Schema.
    Tabelle : 83. Rückgaben
    Typ Beschreibung
    Objekt Wert des dynamischen Attributs, das sich am angegebenen Pfad befindet.

    Wenn fullPathParameter enthält ungültige Daten, oder der angegebene Attributwert ist keiner der unterstützten Datentypen, gibt null zurück.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    // Update the value of the attribute 'attribute_store->time_of_purchase' incident 'INC0009009' to a timestamp (in UTC)
    var gr1 = new GlideRecord('incident');
    gr1.get('number', 'INC0009009');
    gr1.setDynamicAttributeValue('attribute_store->time_of_purchase', '2020-05-13 13:52:44');
    gr1.update();
    
    // Then retrieve the value of the attribute on the same record
    var gr2 = new GlideRecord('incident');
    gr2.get('number', 'INC0009009');
    gs.info("Time of Purchase Value        (UTC): " + gr2.getDynamicAttributeValue('attribute_store->time_of_purchase'));
    gs.info("Time of Purchase DisplayValue (PST): " + gr2.getDynamicAttributeDisplayValue('attribute_store->time_of_purchase'));

    Ausgabe:

    *** Script: Time of Purchase Value        (UTC): 2020-05-13 13:52:44
    *** Script: Time of Purchase DisplayValue (PST): 2020-05-13 06:52:44

    GlideRecord – getDynamicAttributeValue(Zeichenfolge dynamicAttributeField, Zeichenfolge attrPath)

    Gibt den Wert des dynamischen Attributs zurück, das sich in einem angegebenen Feld in der aktuellen Tabelle und einem angegebenen Attributpfad befindet.

    Dynamische Attribute haben einen definierten Datentyp und eine sys_ID Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamisches Schema .

    Tabelle : 84. Parameter
    Name Typ Beschreibung
    DynamicAttributeField Zeichenfolge Name des Felds in der Tabelle, das das dynamische Attribut enthält.
    AttrPath Zeichenfolge Attributpfad, der zum Suchen des zugehörigen dynamischen Schemaattributs verwendet werden soll.

    Format: „attr_Name“

    attr_Name : Name des dynamischen Attributs.

    Tabelle: Im Attributfeld der Tabelle „dynamisches Attribut“ [Dynamic_Attribute].

    Tabelle : 85. Rückgaben
    Typ Beschreibung
    Objekt Wert des dynamischen Attributs, das sich am angegebenen Pfad befindet.

    Wenn einer der beiden ist dynamicAttributeFieldOder attrPathParameter sind ungültig, gibt null zurück.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    // Update the value of the attribute 'attribute_store->time_of_purchase' incident `INC0009009` to a timestamp (in UTC)
    var gr1 = new GlideRecord('incident');
    gr1.get('number', 'INC0009009');
    gr1.setDynamicAttributeValue('attribute_store', 'time_of_purchase', '2020-05-13 13:52:44');
    gr1.update();
    
    // Then retrieve the value of the attribute on the same record
    var gr2 = new GlideRecord('incident');
    gr2.get('number', 'INC0009009');
    gs.info("Time of Purchase Value        (UTC): " + gr2.getDynamicAttributeValue('attribute_store', 'time_of_purchase'));
    gs.info("Time of Purchase DisplayValue (PST): " + gr2.getDynamicAttributeDisplayValue('attribute_store', 'time_of_purchase'));

    Ausgabe:

    *** Script: Time of Purchase Value        (UTC): 2020-05-13 13:52:44
    *** Script: Time of Purchase DisplayValue (PST): 2020-05-13 06:52:44

    GlideRecord – getDynamicAttributeDisplayValue(Zeichenfolge vollständiger Pfad)

    Gibt den Anzeigewert des dynamischen Attributs zurück, das sich am angegebenen Pfad befindet.

    Dynamische Attribute haben einen definierten Datentyp und eine sys_ID Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamisches Schema .

    Tabelle : 86. Parameter
    Name Typ Beschreibung
    fullPath Zeichenfolge Pfad, der zum Suchen des gewünschten dynamischen Attributs verwendet werden soll.
    Format des Attributpfads: dyn_ATT_field->attr_Name
    • dyn_ATT_field : Name eines dynamischen Attributspeicherfelds in der Tabelle.
    • attr_Name : Name des dynamischen Attributs.

      Tabelle: Dynamisches Attribut [Dynamic_Attribute]

    Siehe auch Dynamic Schema.
    Tabelle : 87. Rückgaben
    Typ Beschreibung
    Zeichenfolge Anzeigewert des dynamischen Attributs, das sich am angegebenen Pfad befindet.

    Wenn fullPathParameter ist ungültig, gibt null zurück.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    // Update the value of the attribute 'attribute_store->time_of_purchase' incident INC0009009 to a timestamp (in UTC)
    var gr1 = new GlideRecord('incident');
    gr1.get('number', 'INC0009009');
    gr1.setDynamicAttributeValue('attribute_store->time_of_purchase', '2020-05-13 13:52:44');
    gr1.update();
    
    // Then retrieve the value of the attribute on the same record
    var gr2 = new GlideRecord('incident');
    gr2.get('number', 'INC0009009');
    gs.info("Time of Purchase Value        (UTC): " + gr2.getDynamicAttributeValue('attribute_store->time_of_purchase'));
    gs.info("Time of Purchase DisplayValue (PST): " + gr2.getDynamicAttributeDisplayValue('attribute_store->time_of_purchase'));

    Ausgabe:

    *** Script: Time of Purchase Value        (UTC): 2020-05-13 13:52:44
    *** Script: Time of Purchase DisplayValue (PST): 2020-05-13 06:52:44

    GlideRecord – getDynamicAttributeDisplayValue(Zeichenfolge dynamicAttributeField, Zeichenfolge attrPath)

    Gibt den Anzeigewert des dynamischen Attributs zurück, das sich in einem angegebenen Tabellenfeld und Attributpfad befindet.

    Dynamische Attribute haben einen definierten Datentyp und eine sys_ID Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamisches Schema .

    Tabelle : 88. Parameter
    Name Typ Beschreibung
    DynamicAttributeField Zeichenfolge Name des Felds in der Tabelle, das das dynamische Attribut enthält.
    AttrPath Zeichenfolge Attributpfad, der zum Suchen des zugehörigen dynamischen Schemaattributs verwendet werden soll.

    Format: „attr_Name“

    attr_Name : Name des dynamischen Attributs.

    Tabelle: Im Attributfeld der Tabelle „dynamisches Attribut“ [Dynamic_Attribute].

    Tabelle : 89. Rückgaben
    Typ Beschreibung
    Zeichenfolge Anzeigewert des dynamischen Attributs, das sich am angegebenen Pfad befindet.

    Wenn einer der beiden ist dynamicAttributeFieldOder attrPathParameter sind ungültig, gibt null zurück.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    // Update the value of the attribute 'attribute_store->time_of_purchase' incident INC0009009 to a timestamp (in UTC)
    var gr1 = new GlideRecord('incident');
    gr1.get('number', 'INC0009009');
    gr1.setDynamicAttributeValue('attribute_store', 'time_of_purchase', '2020-05-13 13:52:44');
    gr1.update();
    
    // Then retrieve the value of the attribute on the same record
    var gr2 = new GlideRecord('incident');
    gr2.get('number', 'INC0009009');
    gs.info("Time of Purchase Value        (UTC): " + gr2.getDynamicAttributeValue('attribute_store', 'time_of_purchase'));
    gs.info("Time of Purchase DisplayValue (PST): " + gr2.getDynamicAttributeDisplayValue('attribute_store', 'time_of_purchase'));

    Ausgabe:

    *** Script: Time of Purchase Value        (UTC): 2020-05-13 13:52:44
    *** Script: Time of Purchase DisplayValue (PST): 2020-05-13 06:52:44

    GlideRecord – getED()

    Gibt den Deskriptor des Elements zurück.

    Tabelle : 90. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 91. Rückgaben
    Typ Beschreibung
    GlideElementdeskriptor Der Deskriptor des Elements.

    Dieses Beispiel zeigt, wie das Namensfeld für einen Incident-GlideRecord abgerufen wird.

    grInc = new GlideRecord('incident');
    grInc.getActiveQuery();
    grInc.query();
    if (grInc.next())
      gs.info("Table Descriptor is - " + grInc.getED().getName());
    

    Ausgabe:

    Table Descriptor is - incident

    Bereichsbezogenes Äquivalent

    Zur Verwendung von GetED() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: GetED() .

    GlideRecord – getElement(String fieldName)

    Ruft das GlideElement für ein angegebenes 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:

    Wenn Dot-Walking durch ein GlideElement-Objekt erforderlich ist, verwenden Sie ToString() Methode zum Abrufen von Werten. Beispielsweise benötigen Sie möglicherweise die Manager-sys_ID des aktuellen Anrufers, um ein anderes Referenzfeld festzulegen. Das folgende Beispiel zeigt, wie der Zeichenfolgenwert anstelle des gesamten Objekts abgerufen wird:
    var mgr = current.caller_id.manager.toString();

    Siehe auch: GlideElement – toString().

    Tabelle : 92. Parameter
    Name Typ Beschreibung
    fieldName Zeichenfolge Spaltenname, für den das GlideElement-Objekt zurückgegeben werden soll.
    Tabelle : 93. Rückgaben
    Typ Beschreibung
    GlideElement Das GlideElement für die angegebene Spalte des aktuellen Datensatzes. Jedes Objekt beschreibt ein Feld im aktuellen GlideRecord.

    Dieses Beispiel zeigt, wie das GlideElement-Objekt für eine übergebene Tabelle abgerufen und mit den erwarteten Systemmetadatenwerten verglichen wird.

    function compareElement(comment, table, element, /*{}*/ expected) {
      var now_GR = new GlideRecord(table);
      var el = now_GR.getElement(element);
      for (var n in expected) {
        assertEquals(comment + ":" + table + "." + element, expected[n], el.sys_meta[n]);
      }
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von GetElement() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: GetElement() .

    GlideRecord – getEncodedQuery()

    Ruft die Abfragebedingung des aktuellen Ergebnissatzes als codierte Abfragezeichenfolge ab.

    Tabelle : 94. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 95. Rückgaben
    Typ Beschreibung
    Zeichenfolge Ein Codierte Abfragezeichenfolge .

    Dieses Beispiel zeigt, wie die aktuelle codierte Abfrage abgerufen wird, die später zum Erstellen einer ACL-Leserolle verwendet werden soll.

    function createAcl(table, role) {
      gs.print("Checking security on table " + table);
      var now_GR = new GlideRecord("sys_security_acl");
      now_GR.addQuery("name", table);
      now_GR.addQuery("operation", "read");
      now_GR.query();
      var encQuery = now_GR.getEncodedQuery();
      if (now_GR.next()) {
        // existing acl found so use it
        createAclRole(now_GR.sys_id.toString(), role);
       return;
      } else {
        now_GR.initialize();
        now_GR.applyEncodedQuery(encQuery);
        var acl = now_GR.insert();
        gs.print("   Added read access control on " + table);
        createAclRole(acl, role);
      }
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von GetEncodedQuery() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: GetEncodedQuery() .

    GlideRecord – getEscapedDisplayValue()

    Ruft den Feldwert für das Anzeigefeld des aktuellen Datensatzes ab und fügt Escape-Zeichen zur Verwendung in Jelly-Skripts hinzu.

    Hinweis:
    Damit diese Methode funktioniert, muss in der zugehörigen Tabelle ein Anzeigewert festgelegt werden. Informationen dazu finden Sie unter Wählen Sie ein Feld als Tabellenanzeigewert aus .
    Tabelle : 96. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 97. Rückgaben
    Typ Beschreibung
    Zeichenfolge Escape-Wert des Anzeigefelds der aktuellen Tabelle.

    Dieses Beispiel zeigt, wie Sie den mit Escape versehenen Anzeigewert „user_Name“ aus der Anwendertabelle [sys_user] abrufen.

    var userName = "Michael J'ones";
    var now_GR = new GlideRecord("sys_user");
    if (now_GR.get("user_name", userName)) {
      gs.print("Deleting existing user=" + userName);
      now_GR.deleteRecord();
    }
    now_GR.initialize();
    
    var name = userName.split(" ", 2);
    var firstName = name[0];
    var lastName = name[1];
    now_GR.setValue("user_name", userName);
    gs.print("Name: " + now_GR.getValue("user_name"));
    now_GR.setValue("first_name", firstName);
    now_GR.setValue("last_name", lastName);
    var escapeValue = now_GR.getEscapedDisplayValue();
    gs.print("Escaped name: " + escapeValue);

    Ausgabe:

    Name: Michael J'ones
    Escaped name: Michael J\'ones

    GlideRecord – getFields()

    Ruft eine Java-ArrayList von Feldern im aktuellen Datensatz ab.

    Tabelle : 98. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 99. Rückgaben
    Typ Beschreibung
    Java-ArrayList Felder im aktuellen Datensatz
    // This can be run in "Scripts - Background" for demonstration purposes
     
    // Get a single incident record
    var grINC = new GlideRecord('incident');
    grINC.query();
    grINC.next();
    gs.print('Using ' + grINC.getValue('number'));
    gs.print('');
     
    // getFields() returns a Java ArrayList
    var fields = grINC.getFields();
     
    // Enumerate GlideElements in the GlideRecord object that have values
    gs.print('Enumerating over all fields with values:');
    for (var i = 0; i < fields.size(); i++) {
      var glideElement = fields.get(i);
      if (glideElement.hasValue()) {
        gs.print('  ' + glideElement.getName() + '\t' + glideElement);
      }
    }
    gs.print('');
     
    // Get a specific GlideElement: number
    gs.print('Getting the number field:');
    for (var i = 0; i < fields.size(); i++) {
      var glideElement = fields.get(i);
      if (glideElement.hasValue() && glideElement.getName() == 'number') {
        gs.print('  ' + glideElement.getName() + '\t' + glideElement);
      }
    }

    GlideRecord – getLabel()

    Ruft die Bezeichnung des Felds ab.

    Tabelle : 100. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 101. Rückgaben
    Typ Beschreibung
    Zeichenfolge Die Bezeichnung des Felds

    Dieses Beispiel zeigt, wie Sie eine Bezeichnung eines Fragenfelds in der Tabelle „angefordertes Element“ abrufen und die Bezeichnung und ihren Anzeigenamen drucken.

    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() + " = " 
                         + vnow_V.getDisplayValue() + "\n");  
          }
        }
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von GetLabel() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: GetLabel() .

    GlideRecord – getLocation()

    Ruft die Zeilennummer des aktuellen Datensatzes in der Tabelle ab.

    Tabelle : 104. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 105. Rückgaben
    Typ Beschreibung
    Nummer Null-basierte Zeilennummer des aktuellen Datensatzes in der Tabelle.

    Dieses Beispiel zeigt, wie überprüft wird, ob ein Datensatz in der Incident-Tabelle nicht ordnungsgemäß abgerufen wird, indem die Datensatzanzahl mit der Nummer des Datensatzstandorts verglichen wird.

    var now_GR = new GlideRecord("incident");
    now_GR.addQuery("priority", "4");
    now_GR.query();
    for (x=0; x <4; x++) {
      now_GR.next();
      gs.print("Location value: " + now_GR.getLocation());
    }

    Ausgabe:

    Location value: 0
    Location value: 1
    Location value: 2
    Location value: 3

    GlideRecord – getPlural()

    Ruft die Pluralbezeichnung der GlideRecord-Tabelle ab.

    Wenn der Tabellenname beispielsweise „Change-Anforderung“ lautet, gibt diese Methode „Change-Anforderungen“ zurück.

    Tabelle : 106. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 107. Rückgaben
    Typ Beschreibung
    Zeichenfolge Die Pluralbezeichnung der GlideRecord-Tabelle.

    Dieses Beispiel zeigt Prüfungen der Rückgabewerte für GetLabel() Und GetPlural() Für die Incident-Tabelle.

    var now_GR = new GlideRecord('incident');
    gs.print(now_GR.getLabel());
    if (now_GR.getLabel() != 'Incident')
    throw "GlideRecord.getLabel() returned unexpected value for table 'incident': " + now_GR.getLabel();
    
    gs.print(now_GR.getPlural());
    if (now_GR.getPlural() != 'Incidents')
    throw "GlideRecord.getPlural() returned unexpected value for table 'incident': " + now_GR.getPlural();
    "success";

    Bereichsbezogenes Äquivalent

    Zur Verwendung von GetPlural() Methode in einer bereichsbezogenen Anwendung verwenden Sie die bereichsbezogene GlideRecord.getED() Methode, um den Deskriptor des Felds abzurufen und dann den bereichsbezogenen zu verwenden GlideElementDeskriptor.getPlural() Methode.

    GlideRecord – getRecordClassName()

    Ruft den Klassennamen (Tabelle) für den aktuellen Datensatz ab.

    Tabelle : 108. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 109. Rückgaben
    Typ Beschreibung
    Zeichenfolge Klassen- oder Tabellenname
    function TaskAssignmentFilter() {
      var classname = current.getRecordClassName();
      var filter = "type=null";
      if (classname == "incident" && current.category == "database") {
        filter = GetGroupFilter("database");
      }
      else {
        // append exclusion for 'catalog' to the filter
        var cat = new GlideRecord("sys_user_group_type");  
        cat.addQuery("name", "catalog");
        cat.query();
        if (cat.next()) {
          filter += "^ORtype!=" + cat.sys_id;
        }
      }
      gs.log("TaskAssignmentFilter: " + filter);
      return filter;
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von GetRecordClassName() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: GetRecordClassName() .

    GlideRecord – getRelatedLists()

    Ruft eine Liste von Namen und Anzeigewerten der zugehörigen Listen ab, die dem aktuellen GlideRecord zugeordnet sind.

    Tabelle : 110. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 111. Rückgaben
    Typ Beschreibung
    Hashmap Hash-Zuordnung mit Namen und Anzeigewerten zugehöriger Listen.

    Dieses Beispiel zeigt, wie Sie die Liste der Namen und Anzeigewerte der zugehörigen Listen abrufen, die dem aktuellen GlideRecord zugeordnet sind, sie in einem Array speichern und dann ihre Werte drucken.

    var now_GR = new GlideRecord('incident');
    var c = now_GR.getRelatedLists().values().toArray();
    var numElements = c.length;
    for( var i = 0; i < numElements; ++i){
      gs.print(i+": "+c[i]);
    }

    GlideRecord – getRelatedTables()

    Ruft eine Liste von Namen und Anzeigewerten von Tabellen ab, auf die der aktuelle Datensatz verweist.

    Tabelle : 112. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 113. Rückgaben
    Typ Beschreibung
    Hashmap Hash-Zuordnung mit Namen und Anzeigewerten zugehöriger Tabellen.

    Dieses Beispiel zeigt, wie Sie die Liste der Namen und Anzeigewerte von Tabellen im Zusammenhang mit dem aktuellen GlideRecord abrufen, in einem Array speichern und dann ihre Werte drucken.

    var now_GR = new GlideRecord('incident');
    var c = now_GR.getRelatedTables().values().toArray();
    var numElements = c.length;
    for( var i = 0; i < numElements; ++i){
      gs.print(i+": "+c[i]);
    }

    GlideRecord – getRowCount()

    Ruft die Anzahl der Zeilen (Datensätze) im aktuellen GlideRecord-Objekt ab.

    Hinweis:
    GlideRecord Gibt übereinstimmende Datensätze zurück, daher ist es möglicherweise nicht so effizient wie GlideAggregat Wenn Sie nur die Anzahl der Datensätze benötigen. Wenn Sie nur eine Datensatzanzahl benötigen und nicht über die übereinstimmenden Datensätze iterieren, verwenden Sie GlideAggregat .
    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.
    Datensätze und Anzahl werden mit GlideRecord getRowCount() abgerufen
    Das folgende Beispiel zeigt, wie die Gesamtzahl der aktiven Incidents mit abgerufen wird GlideRecord getRowCount() :
    var incident = new GlideRecord("incident");
    incident.addQuery("active", true);
    incident.query();
     
    gs.info("*** Total number of active incidents: {0}", incident.getRowCount());
    Es wird nur die Anzahl der Datensätze mit GlideAggregate getAggregate() abgerufen.
    Das folgende Beispiel zeigt, wie nur die Anzahl der Datensätze zurückgegeben wird. Da diese Methode nicht die übereinstimmenden Datensätze verwendet, ist es viel effizienter, eine Aggregatabfrage zu verwenden und nur die Anzahl zurückzugeben.
    var incident = new GlideAggregate("incident");
    incident.addQuery("active", true);
    incident.addAggregate("COUNT");
    incident.query();
     
    if (incident.next())
        gs.info("*** Total number of active incidents: {0}", incident.getAggregate("COUNT"));
    Entscheidung, welche Option für Ihre Lösung am besten geeignet ist

    Wenn Sie nur die Anzahl der Datensätze abrufen möchten, wird GlideAggregat getAggregat() Methode ist die beste Option. Verwenden Sie, um die einzelnen Datensätze zu verwenden und die Anzahl der Ergebnisse abzurufen GlideRecord getRowCount() , Da eine einzelne Abfrage diese Funktionalität bereitstellt.

    Hinweis:
    Wenn Sie verwenden möchten GetRowCount() Methode bei Verwendung 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.
    Stellen Sie außerdem sicher, dass Sie anrufen .Next() Methode, bevor aufgerufen wird GetRowCount() Methode.
    Tabelle : 114. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 115. Rückgaben
    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

    Bereichsbezogenes Äquivalent

    Zur Verwendung von GetRowCount() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: GetRowCount() .

    GlideRecord – getRowNumber()

    Ruft die von festgelegte Zeilennummer ab SaveLocation() Oder SetLocation() .

    Verwenden Sie, um die aktuelle Zeilennummer abzurufen GetLocation() .

    Tabelle : 116. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 117. Rückgaben
    Typ Beschreibung
    Nummer Gespeicherte Zeilennummer.

    Dieses Beispiel zeigt, wie Sie einen Zeilenspeicherort in der Anwendertabelle speichern und diese Zeilennummer abrufen.

    var now_GR = new GlideRecord('sys_user');
    now_GR.addQuery();
    now_GR.query();
    now_GR.saveLocation(5);
    var savedRow = now_GR.getRowNumber();
    gs.print("Saved row: " + savedRow);

    Ausgabe:

    Saved row: 5

    GlideRecord – getTableName()

    Ruft den Tabellennamen ab, der diesem GlideRecord zugeordnet ist.

    Tabelle : 118. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 119. Rückgaben
    Typ Beschreibung
    Zeichenfolge Ein Tabellenname

    Dieses Beispiel zeigt, wie der aktuelle Tabellenname in das Systemprotokoll geschrieben wird.

    gs.log('Table: ' + current.getTableName()); 
    gs.log('Parent: ' + current.parent.sys_id); 
    var item = new GlideRecord('sc_req_item'); 
    item.addQuery('sys_id', current.parent.sys_id); 
    item.query(); 
    if(item.next()){ 
      for(var variable in item.variable_pool) {
        gs.log(variable); 
        var answer = eval ("item.variable_pool." + variable + ".getDisplayValue()");
        gs.log(answer);
      }
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von GetTableName() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: GetTableName() .

    GlideRecord – getUniqueValue()

    Ruft den primären Schlüssel des Datensatzes ab, der normalerweise die sys_ID ist, sofern nicht anders angegeben.

    Tabelle : 120. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 121. Rückgaben
    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);

    GlideRecord – getValue(String fieldName)

    Ruft den Zeichenfolgenwert eines angegebenen Felds oder den Zeichenfolgenwert eines Attributs in einem dynamischen Attributspeicher ab.

    Hinweis:
    Wenn Feldverschlüsselung Enterprise Plugin ist aktiviert, und die Instanz hat Zugriff auf den Schlüssel. Diese Methode gibt Klartextwerte aus verschlüsselten Feldern zurück. Wenn die Instanz keinen Zugriff auf den Schlüssel hat, gibt diese Methode den verschlüsselten Wert zurück. Weitere Informationen finden Sie unter Plattformverschlüsselung .

    Siehe auch Dynamic Schema.

    Tabelle : 122. Parameter
    Name Typ Beschreibung
    fieldName Zeichenfolge Der Name des Felds, dessen Wert Sie abrufen möchten, oder der Pfad zu einem Attribut in einem dynamischen Attributspeicher, das abgerufen werden soll.
    Format des Attributpfads: dyn_ATT_field->attr_Name
    • dyn_ATT_field : Name eines dynamischen Attributspeicherfelds in der Tabelle.
    • attr_Name : Name des dynamischen Attributs.

      Tabelle: Dynamisches Attribut [Dynamic_Attribute]

    Siehe auch Dynamic Schema.
    Tabelle : 123. Rückgaben
    Typ Beschreibung
    Zeichenfolge Wert des angegebenen Elements. Gibt Null zurück, wenn das Feld leer ist oder das Feld nicht vorhanden ist.
    Hinweis:
    Boolesche Werte geben als zurück „0“ Und „1“ Zeichenfolgenwerte anstelle von „falsch“ und „wahr“.

    In diesem Beispiel wird verwendet GetValue() Methode zum Abrufen von Feldwerten in zwei GlideRecords, die verglichen werden.

    function() {
      var jobExists = true;
      var jobGr;
      while(jobExists){
        jobGr = new GlideRecord("sys_trigger");
        jobExists = jobGr.get("name", "BaselineAPI: Create Baseline Job");
      }
      var baselineGr =  new GlideRecord('pm_project_baseline');
      baselineGr.get('baseline_name','Test Project Baseline');
      baselineGr.query();
     
      Assert.assertEquals(true, baselineGr.next());
      var projectGr =  new GlideRecord('pm_project');
      projectGr.get(this._project);
      Assert.assertEquals(projectGr.getValue('cost'), baselineGr.getValue('cost'));
      Assert.assertEquals((projectGr.getValue('capex_cost')), baselineGr.getValue('capex_cost'));
      Assert.assertEquals((projectGr.getValue('opex_cost')), baselineGr.getValue('opex_cost'));
      Assert.assertEquals((projectGr.getValue('budget_cost')), baselineGr.getValue('budget_cost'));
      Assert.assertEquals((projectGr.getValue('value')), baselineGr.getValue('value'));
      Assert.assertEquals((projectGr.getValue('npv_value')), baselineGr.getValue('npv_value'));  Assert.assertEquals((projectGr.getValue('score')), baselineGr.getValue('score'));
    }

    Dieses Beispiel zeigt, wie der Wert eines dynamischen Attributs abgerufen wird.

    // Update the value of the attribute 'attribute_store->color' to 'Red' on incident INC0009009
    var gr1 = new GlideRecord('incident');
    gr1.get('number', 'INC0009009');
    gr1.setDynamicAttributeValue('attribute_store->color', 'Red');
    gr1.update();
    
    // Then retrieve the value of the attribute on the same record
    var gr2 = new GlideRecord('incident');
    gr2.get('number', 'INC0009009');
    gs.info(gr2.getValue('attribute_store->color'));

    Ausgabe:

    *** Script: Red

    Bereichsbezogenes Äquivalent

    Zur Verwendung von GetValue() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: GetValue() .

    GlideRecord – hasAttachments()

    Bestimmt, ob der aktuelle GlideRecord Anhänge enthält.

    Tabelle : 124. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 125. Rückgaben
    Typ Beschreibung
    Boolean „Wahr“, wenn der aktuelle Datensatz Anhänge enthält, andernfalls „falsch“.

    Dieses Beispiel überprüft auf Anhänge und erstellt einen Link, falls vorhanden.

    var attachment_link = '';
    var rec = new GlideRecord('sc_req_item');
    rec.addQuery('sys_id', current.request_item);
    rec.query();
    if(rec.next()){
      if(rec.hasAttachments()){
        attachment_link = gs.getProperty('glide.servlet.uri') + rec.getLink();
      }   
    }

    GlideRecord – hasNext()

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

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

    Dieses Beispiel zeigt, wie verschiedene Funktionen aufgerufen werden, je nachdem, ob im aktuellen GlideRecord zusätzliche Datensätze vorhanden sind.

    if (now_GR.hasNext()) {
      dothis(); // found it, do it
    } else {
      dothat(); // didn't find it
    };

    Bereichsbezogenes Äquivalent

    Zur Verwendung von HasNext() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: HasNext() .

    GlideRecord – initialize()

    Erstellt einen leeren Datensatz im aktuellen GlideRecord, der für die Auffüllung vor dem Einfügen geeignet ist.

    Tabelle : 128. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 129. Rückgaben
    Typ Beschreibung
    Ungültig

    Dieses Beispiel initialisiert einen neuen Datensatz in der Tabelle „to_do“, erstellt einen Datensatz und fügt ihn dann in die Tabelle ein.

    var now_GR = new GlideRecord('to_do');
    now_GR.initialize(); 
    now_GR.name = 'first to do item'; 
    now_GR.description = 'learn about GlideRecord'; 
    now_GR.insert();

    Bereichsbezogenes Äquivalent

    Zur Verwendung von Initialisieren () Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: Initialisieren () .

    GlideRecord – insert()

    Fügt einen neuen Datensatz mit den Feldwerten ein, die für den aktuellen Datensatz festgelegt wurden.

    Tabelle : 130. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 131. Rückgaben
    Typ Beschreibung
    Zeichenfolge Die sys_ID des eingefügten Datensatzes oder null, wenn der Datensatz nicht eingefügt wird.

    Dieses Beispiel erstellt einen neuen Datensatz in der Tabelle „to_do“, legt Werte für einige Datensatzfelder fest und fügt den Datensatz dann in die Tabelle ein.

    var now_GR = new GlideRecord('to_do');
    now_GR.initialize(); 
    now_GR.name = 'first to do item'; 
    now_GR.description = 'learn about GlideRecord'; 
    now_GR.insert();

    Bereichsbezogenes Äquivalent

    Zur Verwendung von Einfügen() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: Einfügen() .

    GlideRecord – insertWithReferences()

    Fügt einen neuen Datensatz ein und fügt auch alle zugehörigen Datensätze mit den angegebenen Informationen ein oder aktualisiert sie.

    Tabelle : 132. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 133. Rückgaben
    Typ Beschreibung
    Zeichenfolge sys_ID des eingefügten Datensatzes oder Null, wenn der Datensatz nicht eingefügt wurde.

    Wenn kein Referenzwert angegeben ist (wie unten), wird ein neuer Anwenderdatensatz mit dem angegebenen first_Name und Last_Name erstellt, und der Wert „caller_ID“ wird auf diesen neu erstellten sys_user-Datensatz festgelegt. Das Ergebnis ist ein neuer sys_user-Datensatz mit dem angegebenen first_Name und Last_Name und ein neuer Incident-Datensatz mit der angegebenen short_description und caller_ID

    var inc = new GlideRecord('incident');
    inc.initialize();
    inc.short_description = 'New incident 1';
    inc.caller_id.first_name = 'John';
    inc.caller_id.last_name = 'Doe';
    inc.insertWithReferences();

    Wenn ein Wert für „caller_ID“ angegeben ist, wird diese caller_ID mit den angegebenen „first_Name“ und „Last_Name“ aktualisiert. Das Ergebnis ist ein neu erstellter Incident-Datensatz mit Werten, die für „short_description“ und „caller_ID“ festgelegt sind

    var inc = new GlideRecord('incident');
    inc.initialize();
    inc.short_description = 'New incident 1';
    inc.caller_id.setDisplayValue('David Loo');
    inc.caller_id.first_name = 'John';
    inc.caller_id.last_name = 'Doe';
    inc.insertWithReferences();

    GlideRecord – instanceOf(Zeichenfolge className)

    Überprüft eine Tabelle auf den Typ\Klasse der Tabelle.

    Tabelle : 134. Parameter
    Name Typ Beschreibung
    className Zeichenfolge Name eines Datensatztyps oder einer Datensatzklasse.
    Tabelle : 135. Rückgaben
    Typ Beschreibung
    Boolean „Wahr“, wenn die Tabelle eine Instanz der angegebenen Klasse ist.

    Dieses Beispiel überprüft, ob die übergebene Gruppe/der übergebene Anwender den Tabellen-/Klassentyp „sys_user“ aufweist.

    function(groupOrUser, label, grantedBy) {
      var labelCheck;
      var labelRecord;
      if (typeof label === "string") {
        labelRecord = new GlideRecord('label');
        labelRecord.addQuery('name', label);
        labelRecord.query();
        labelRecord.next();
      } else {
        labelRecord = label;
      }
      if (groupOrUser.instanceOf('sys_user')) {
        labelCheck = new GlideRecord('label_user_m2m');
        labelCheck.addQuery('user', groupOrUser.sys_id);
      } else {
        labelCheck = new GlideRecord('label_group_m2m');
        labelCheck.addQuery('group', groupOrUser.sys_id);
      }
      labelCheck.addQuery('label', labelRecord.sys_id);
      if (grantedBy !== "undefined") {
        labelCheck.addQuery('granted_by', grantedBy.sys_id);
      }
      labelCheck.query();
      return labelCheck.hasNext();
    }

    GlideRecord – isNewRecord()

    Bestimmt, ob der aktuelle Datensatz in die Datenbank eingefügt wurde.

    Diese Methode gibt nur „wahr“ zurück, wenn NewRecord() Methode wurde aufgerufen. Diese Methode ist für geskriptete ACL und in der Bedingung von UI-Aktionen nützlich, sollte jedoch nicht in Hintergrundskripts verwendet werden.

    Hinweis:
    Diese Methode gibt „wahr“ für jeden neuen Datensatz während einer Business-Regel zurück, oder wenn „wahr“ NewRecord() Die Methode wird verwendet, um einen Datensatz mit Standardwerten und einer eindeutigen ID (sys_ID) zu initialisieren. In allen anderen Fällen wird „falsch“ zurückgegeben.
    Tabelle : 136. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 137. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob der aktuelle Datensatz neu ist (wurde nicht in die Datenbank eingefügt).
    Mögliche Werte:
    • Wahr: Datensatz ist neu.
    • Falsch: Datensatz ist nicht neu.

    Dieses Beispiel überprüft, ob der neue Datensatz in die Tabelle „sys_user“ eingefügt wurde.

    var now_GR = new GlideRecord("sys_user");
    now_GR.newRecord();
    now_GR.setValue("user_name", "John Smith");
    gs.print("Is this a new record: " + now_GR.isNewRecord());
    
    var now_GR2 = new GlideRecord("sys_user");
    now_GR2.addQuery("user_name", "Abel Tutor");
    now_GR2.query();
    now_GR2.next();
    gs.print("Is this a new record: " + now_GR2.isNewRecord());

    GlideRecord – isValid()

    Bestimmt, ob die aktuelle GlideRecord-Tabelle vorhanden ist.

    Tabelle : 138. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 139. Rückgaben
    Typ Beschreibung
    Boolean „Wahr“, wenn die Tabelle vorhanden ist (gültig), andernfalls „falsch“.

    Dieses Beispiel überprüft, ob die Incident-Tabelle vorhanden ist.

    var testTable = new GlideRecord('incident');
    gs.print(testTable.isValid());

    Bereichsbezogenes Äquivalent

    Zur Verwendung von IsValid() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: IsValid() .

    GlideRecord – isValidField(Zeichenfolge spaltenName)

    Bestimmt, ob das angegebene Feld in der aktuellen GlideRecord-Tabelle definiert ist.

    Tabelle : 140. Parameter
    Name Typ Beschreibung
    columnName Zeichenfolge Name einer zu überprüfenden Spalte.
    Tabelle : 141. Rückgaben
    Typ Beschreibung
    Boolean „Wahr“, wenn das Feld in der Tabelle definiert ist, andernfalls „falsch“.

    Dieses Beispiel überprüft, ob das Feld „sys_class_Name“ in der Tabelle „cmds_Software_instance“ vorhanden ist.

    var gobj = new GlideRecord('sys_db_object');
    gobj.addQuery('name','cmdb_software_instance');
    gobj.query();
    if (!gobj.next()) {
      var si = new GlideRecord('cmdb_software_instance');
      si.query();
      var count = 0;
      while (si.next()) {
        if (!si.isValidField('sys_class_name')) {
          var ci = new GlideRecord('cmdb_ci');
          ci.name = si.name;
          ci.setNewGuidValue(si.sys_id);
          ci.sys_class_name = 'cmdb_software_instance';
          ci.insert();
          count++;
        }
      }
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von IsValidField() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: IsValidField() .

    GlideRecord – isValidRecord()

    Bestimmt, ob der aktuelle Datensatz gültig ist.

    Tabelle : 142. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 143. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob der aktuelle Datensatz gültig ist.
    Gültige Werte:
    • Wahr: Datensatz ist gültig.
    • Falsch: Ende des Datensatzes überschritten.

    Dieses Beispiel überprüft, ob der Datensatzbezeichner von der übergebenen sys_ID ein gültiger Datensatz in der Ideentabelle ist.

    function(sysId) {
      this.log('Inside acceptIdea sysId = ' + sysId);
      var now_GR = new GlideRecord('idea');
      now_GR.get(sysId);
      this.log('now_GR.isValidRecord() = ' + now_GR.isValidRecord());
      if(now_GR.isValidRecord()) {
        now_GR.setValue('state', 2);
        this.log('Updating gliderecord');
        this.log('gliderecord table name' + now_GR.getTableName());
        now_GR.update();
      }
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von IsValidRecord() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: IsValidRecord() .

    GlideRecord – newRecord()

    Erstellt einen GlideRecord, legt die Standardwerte für die Felder fest und weist dem Datensatz eine eindeutige ID zu.

    Tabelle : 144. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 145. Rückgaben
    Typ Beschreibung
    Ungültig

    Dieses Beispiel überprüft, ob der neue Datensatz in die Tabelle „sys_user“ eingefügt wurde.

    var now_GR = new GlideRecord("sys_user");
    now_GR.newRecord();
    now_GR.setValue("user_name", "John Smith");
    gs.print("Is this a new record: " + now_GR.isNewRecord());
    
    var now_GR2 = new GlideRecord("sys_user");
    now_GR2.addQuery("user_name", "Abel Tutor");
    now_GR2.query();
    now_GR2.next();
    gs.print("Is this a new record: " + now_GR2.isNewRecord());

    Bereichsbezogenes Äquivalent

    Zur Verwendung von NewRecord() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: NewRecord() .

    GlideRecord – Next()

    Wechselt zum nächsten Datensatz im GlideRecord.

    Verwenden Sie diese Methode, um die von einer GlideRecord-Abfrage zurückgegebenen Datensätze zu iterieren.

    Hinweis:
    Diese Methode schlägt fehl, wenn in der Tabelle ein Feld mit dem Namen „Next“ vorhanden ist. Wenn dies der Fall ist, verwenden Sie die Methode _Next() .
    Hinweis:
    Die If(myObj.next()) „Erstellen“ verarbeitet nur den ersten zurückgegebenen Datensatz.
    Tabelle : 146. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 147. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob im GlideRecord ein „Next“-Datensatz vorhanden ist.
    Gültige Werte:
    • Wahr: Der Wechsel zum nächsten Datensatz war erfolgreich.
    • Falsch: Keine weiteren Datensätze im Ergebnissatz.

    Dieses Beispiel zeigt, wie die Incident-Tabelle mithilfe von iteriert wird Next() Methode.

    var rec = new GlideRecord('incident');
    rec.query();
    while (rec.next()) { 
      gs.print(rec.number + ' exists');
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von Next() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: Next() .

    GlideRecord – _next()

    Wechselt zum nächsten Datensatz im GlideRecord. Bietet die gleiche Funktionalität wie Next() , Vorgesehen zur Verwendung in Fällen, in denen der GlideRecord eine Spalte mit dem Namen Next hat.

    Tabelle : 148. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 149. Rückgaben
    Typ Beschreibung
    Boolean „Wahr“, wenn der Abfragesatz weitere Datensätze enthält.
    var rec = new GlideRecord('sys_template');
    rec.query();
    while (rec._next()) { 
      gs.print(rec.number + ' exists');
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von _Next() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: _Next() .

    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 .

    Tabelle : 150. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 151. Rückgaben
    Typ Beschreibung
    Zeichenfolge Der aktuelle Vorgang.
    Mögliche Werte:
    • löschen
    • einfügen
    • Aktualisieren

    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; }

    Dieses Beispiel zeigt, wie verwendet wird Vorgang () Methode zum Übergeben des Vorgangswerts an StartFlow() Methode.

    function createNewTransferOrder() {
      var toGr = new GlideRecord("alm_transfer_order");
      toGr.initialize();
      // From Stockroom - Southern California Warehouse
      toGr.setValue('from_stockroom', fromStockroomSysId);
      // To Stockroom - San Diego North - Pickup/Dropoff
      toGr.setValue('to_stockroom', toStockroomSysId);
      var transferOrder = toGr.insert();
    
      if(toGr.get(transferOrder)){
      // Start Transfer Order Workflow
      var wf = new Workflow();
      var context = wf.startFlow(toWorkflowSysId, toGr, toGr.operation(),{});
        createNewTransferOrderLine(transferOrder);
      } 
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von Vorgang () Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: Vorgang () .

    GlideRecord – orderBy(Zeichenfolge fieldName)

    Gibt einen Feldnamen oder Pfad zu einem Attribut in einem dynamischen Attributspeicher an, der zum Sortieren des Abfragesatzes verwendet werden soll. Um nach mehreren Feldern zu sortieren, rufen Sie diese Methode mehrmals mit verschiedenen Feldwerten auf.

    Hinweis:
    Um den Abfragezugriff basierend auf dem Anwender zu erzwingen, verwenden Sie AddUserOrderBy() .
    Tabelle : 152. Parameter
    Name Typ Beschreibung
    fieldName Zeichenfolge Tabellenfeldname oder Pfad zu einem Attribut in einem dynamischen Attributspeicher, für das der Abfragesatz angeordnet werden soll.
    Format des Attributpfads: dyn_ATT_field->attr_Name
    • dyn_ATT_field : Name eines dynamischen Attributspeicherfelds in der Tabelle.
    • attr_Name : Name des dynamischen Attributs.

      Tabelle: Dynamisches Attribut [Dynamic_Attribute]

    Siehe auch Dynamic Schema.
    Tabelle : 153. Rückgaben
    Typ Beschreibung
    Ungültig

    Dieses Beispiel zeigt, wie der Abfragesatz nach „Reihenfolge“ und dann nach „Zahl“ sortiert wird.

    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();
      var len = child.getRowCount().toString().length;
      var seq = 0;
      while (child.next()) {
        count += UpdateProjectTaskWBS(child, 1, ++seq, len, '');
      }
      gs.addInfoMessage(count + ' Project Tasks updated');
    }

    Dieses Beispiel zeigt, wie der Abfragesatz nach einem Attribut in einem dynamischen Attributspeicher sortiert wird.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.orderBy('attribute_store->first_name');
    gr_Inc.query();
    
    while(gr_Inc.next()) {
      gs.info("first_name: " + gr_Inc.getValue('attribute_store->first_name'));
    }
    Ausgabe:
    *** Script: first_name: Alejandro
    *** Script: first_name: Bertie
    *** Script: first_name: Beth
    *** Script: first_name: Bow
    *** Script: first_name: Bud
    *** Script: first_name: Carol
    *** Script: first_name: Charlie
    *** Script: first_name: Christen
    *** Script: first_name: David

    Bereichsbezogenes Äquivalent

    Zur Verwendung von OrderBy() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: OrderBy() .

    GlideRecord – orderByDesc(String fieldName)

    Gibt das Feld oder ein Attribut in einem dynamischen Attributspeicher an, das zum Sortieren des Abfragesatzes in absteigender Reihenfolge verwendet werden soll.

    Hinweis:
    Um den Abfragezugriff basierend auf dem Anwender zu erzwingen, verwenden Sie AddUserOrderByDesc() .
    Tabelle : 154. Parameter
    Name Typ Beschreibung
    fieldName Zeichenfolge Tabellenfeldname oder Pfad zu einem Attribut in einem dynamischen Attributspeicher, für das der Abfragesatz in absteigender Reihenfolge angeordnet werden soll.
    Format des Attributpfads: dyn_ATT_field->attr_Name
    • dyn_ATT_field : Name eines dynamischen Attributspeicherfelds in der Tabelle.
    • attr_Name : Name des dynamischen Attributs.

      Tabelle: Dynamisches Attribut [Dynamic_Attribute]

    Siehe auch Dynamic Schema.
    Tabelle : 155. Rückgaben
    Typ Beschreibung
    Ungültig

    Dieses Beispiel zeigt, wie der Abfragesatz in aufsteigender oder absteigender Reihenfolge sortiert wird.

    function(fiscalType, orderByDesc) {
      var now_GR = new GlideRecord('fiscal_period');
      now_GR.addQuery('fiscal_type', fiscalType);
      if (orderByDesc) {
        now_GR.orderByDesc('fiscal_start_date_time');
      } else {
        now_GR.orderBy('fiscal_start_date_time');
      }
      now_GR.setLimit(1);
      now_GR.query();
      now_GR.next();
      return now_GR.sys_id;
    }

    Dieses Beispiel zeigt, wie der Abfragesatz nach einem Attribut in einem dynamischen Attributspeicher sortiert wird.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.orderByDesc('attribute_store->first_name');
    gr_Inc.query();
    
    while(gr_Inc.next()) {
      gs.info("first_name: " + gr_Inc.getValue('attribute_store->first_name'));
    }
    Ausgabe:
    
    *** Script: first_name: David
    *** Script: first_name: Christen
    *** Script: first_name: Charlie
    *** Script: first_name: Carol
    *** Script: first_name: Bud
    *** Script: first_name: Bow
    *** Script: first_name: Beth
    *** Script: first_name: Bertie
    *** Script: first_name: Alejandro

    Bereichsbezogenes Äquivalent

    Zur Verwendung von OrderNachDesc() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: OrderNachDesc() .

    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 .

    Hinweis:
    Diese Methode schlägt fehl, wenn in der Tabelle ein Feld mit der Bezeichnung „Abfrage“ vorhanden ist. Wenn dies der Fall ist, verwenden Sie die Methode _Query() . Verwenden Sie die Methode, um Abfragen in einer domänengetrennten Instanz auszuführen QueryNoDomain() .

    Siehe GlideRecord artikel mit Details zum Erstellen und Ausführen von Abfragen.

    Tabelle : 156. Parameter
    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.
    Tabelle : 157. Rückgaben
    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

    Bereichsbezogenes Äquivalent

    Zur Verwendung von Abfrage() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: Abfrage() .

    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.

    Tabelle : 158. Parameter
    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.
    Tabelle : 159. Rückgaben
    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?

    Bereichsbezogenes Äquivalent

    Zur Verwendung von _Query() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: _Query() .

    GlideRecord – queryNoDomain(Zeichenfolgenfeld, Zeichenfolgenwert)

    Wird in domänengetrennten Instanzen verwendet. Ähnlich Abfrage() , Führt die Abfrage für die Tabelle basierend auf den von angegebenen Filtern aus AddQuery() Und AddEncodedQuery() , Aber Domänen werden ignoriert.

    Diese Methode fragt die GlideRecord-Tabelle sowie alle Referenzen der Tabelle ab. Weitere Informationen finden Sie unter Tabellen im Skript werden abgefragt .

    Tabelle : 160. Parameter
    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.
    Tabelle : 161. Rückgaben
    Typ Beschreibung
    Ungültig

    Dieses Beispiel zeigt, wie die Incident-Tabelle für alle Domänen abgefragt wird.

    var rec = new GlideRecord('incident');
    rec.queryNoDomain();
    while (rec.next()) { 
     gs.print(rec.number + ' exists');
    }

    GlideRecord – restoreLocation()

    Legt den aktuellen Datensatz als den Datensatz fest, der mit gespeichert wurde SaveLocation() . Wenn SaveLocation() Wurde nicht aufgerufen, der aktuelle Datensatz wird auf den ersten Datensatz des GlideRecord festgelegt.

    Tabelle : 162. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 163. Rückgaben
    Typ Beschreibung
    Ungültig

    Dieses Beispiel zeigt, wie der aktuelle Datensatzspeicherort gespeichert, zum nächsten Datensatz verschoben und dann zum gespeicherten Speicherort zurückkehrt.

    function() {
      var now_GR = new GlideRecord("incident");
      now_GR.query();
      now_GR.next();
      var firstID = now_GR.getValue("sys_id");
      now_GR.next();
      var restoreID = now_GR.getValue("sys_id");
      now_GR.saveLocation();
      now_GR.next();
      var lastID = now_GR.getValue("sys_id");
      now_GR.restoreLocation();
      now_GR.next();
      var thisID = now_GR.getValue("sys_id");
      var progress = "first id=" + firstID
        + "\n\t last id=" + lastID
        + "\n\t saved id=" + restoreID
        + "\n\t restored id=" + thisID;
      gs.print("Progress:\n\t" + progress);
    }

    GlideRecord – saveLocation()

    Speichert die aktuelle Zeilennummer, damit Sie mit zu diesem Standort zurückkehren können RestoreLocation() Methode.

    Tabelle : 164. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 165. Rückgaben
    Typ Beschreibung
    Ungültig

    Dieses Beispiel zeigt, wie der aktuelle Datensatzspeicherort gespeichert, zum nächsten Datensatz verschoben und dann zum gespeicherten Speicherort zurückkehrt.

    function() {
      var now_GR = new GlideRecord("incident");
      now_GR.query();
      now_GR.next();
      var firstID = now_GR.getValue("sys_id");
      now_GR.next();
      var restoreID = now_GR.getValue("sys_id");
      now_GR.saveLocation();
      now_GR.next();
      var lastID = now_GR.getValue("sys_id");
      now_GR.restoreLocation();
      now_GR.next();
      var thisID = now_GR.getValue("sys_id");
      var progress = "first id=" + firstID
        + "\n\t last id=" + lastID
        + "\n\t saved id=" + restoreID
        + "\n\t restored id=" + thisID;
      gs.print("Progress:\n\t" + progress);
    }

    GlideRecord – setAbortAction (boolescher Wert b)

    Legt eine Kennzeichnung fest, die angibt, ob die nächste Datenbankaktion (Einfügen, Aktualisieren, Löschen) abgebrochen werden soll.

    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.

    Tabelle : 166. Parameter
    Name Typ Beschreibung
    b Boolean „Wahr“, um die nächste Aktion abzubrechen, oder „falsch“, um die nächste Aktion zuzulassen.
    Tabelle : 167. Rückgaben
    Typ Beschreibung
    Ungültig
    if ((!current.u_date1.nil()) && (!current.u_date2.nil())) {
      var start = current.u_date1.getGlideObject().getNumericValue();
      var end = current.u_date2.getGlideObject().getNumericValue();
      if (start > end) {
        gs.addInfoMessage('start must be before end');
        current.u_date1.setError('start must be before end');
        current.setAbortAction(true);
      }
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von SetAbortAktion() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: SetAbortAktion() .

    GlideRecord – setDisplayValue (Zeichenfolgenname, Objektwert)

    Legt ein angegebenes Feld oder ein Attribut in einem dynamischen Attributspeicher auf einen angegebenen Anzeigewert fest.

    Für ein Referenzfeld ist dies der Anzeigewert für die Tabelle. Für ein Datum/eine Uhrzeit ist dies die Uhrzeit in der aktuellen Zeitzone des Anrufers.

    Tabelle : 168. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Name des Felds, für das der Wert festgelegt werden soll.

    Um ein Attribut in einem dynamischen Attributspeicher festzulegen, geben Sie den Attributpfad an.

    Format des Attributpfads: dyn_ATT_field->attr_Name
    • dyn_ATT_field : Name eines dynamischen Attributspeicherfelds in der Tabelle.
    • attr_Name : Name des dynamischen Attributs.

      Tabelle: Dynamisches Attribut [Dynamic_Attribute]

    Siehe auch Dynamic Schema.
    Wert Objekt Wert, der im angegebenen Attribut festgelegt werden soll.
    Hinweis:
    Für dynamische Attribute werden nur die folgenden Datentypen unterstützt:
    • Boolescher Wert (Wahr/Falsch)
    • Dezimal
    • Gleitkommazahl
    • GlideDate
    • GlideDateTime
    • Ganzzahl
    • Zeichenfolge
    Tabelle : 169. Rückgaben
    Typ Beschreibung
    Ungültig

    Das folgende Codebeispiel zeigt, wie ein Anzeigewert in einem Datensatz festgelegt und dann der Datensatz aktualisiert wird.

    var now_GR = new GlideRecord('incident');
    now_GR.get('46f09e75a9fe198100f4ffd8d366d17b');
    now_GR.setDisplayValue('opened_at','2011-02-13 4:30:00');
    now_GR.update();

    Das folgende Codebeispiel zeigt, wie ein Anzeigewert in einem dynamischen Attributspeicher festgelegt wird.

    var gr_AppTab = new GlideRecord('application_table'); 
    gr_AppTab.setValue('dyn_att_field->attr', 42); 
    gr_AppTab.setDisplayValue('dyn_att_field->attr2, true);
    gr_AppTab.update();
    gs.info('Attr value: ' + 
    gr_AppTab.getDisplayValue('dyn_att_field->attr);
    gs.info('Attr2 value: ' + 
    gr_AppTab.getDisplayValue('dyn_att_field->attr2);

    GlideRecord – setDynamicAttributeValue(Zeichenfolge vollständiger Pfad, Objektwert)

    Legt den Wert des dynamischen Attributs fest, das sich an einem angegebenen Pfad befindet.

    Dynamische Attribute haben einen definierten Datentyp und eine sys_ID Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamisches Schema .

    Tabelle : 170. Parameter
    Name Typ Beschreibung
    fullPath Zeichenfolge Pfad, der zum Suchen des gewünschten dynamischen Attributs verwendet werden soll.
    Format des Attributpfads: dyn_ATT_field->attr_Name
    • dyn_ATT_field : Name eines dynamischen Attributspeicherfelds in der Tabelle.
    • attr_Name : Name des dynamischen Attributs.

      Tabelle: Dynamisches Attribut [Dynamic_Attribute]

    Siehe auch Dynamic Schema.
    Wert Objekt Wert, auf den das angegebene dynamische Attribut festgelegt werden soll.
    Der übergebene Wert muss einem der folgenden Datentypen entsprechen:
    • Boolescher Wert (Wahr/Falsch)
    • Dezimal
    • Gleitkommazahl
    • GlideDate
    • GlideDateTime
    • Ganzzahl
    • Zeichenfolge
    Tabelle : 171. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob das dynamische Attribut erfolgreich aktualisiert wurde.
    Mögliche Werte:
    • Wahr: Dynamisches Attribut wurde erfolgreich aktualisiert.
    • Falsch: Fehler aufgetreten. Dynamisches Attribut wurde nicht aktualisiert. Überprüfen Sie, ob fullPathParameter enthält einen gültigen Pfad zum gewünschten Attribut.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.setDynamicAttributeValue("inc_dynamic_schema->color","black");
    gr_Inc.setDynamicAttributeValue("inc_dynamic_schema->make","Honda");
    gr_Inc.setDynamicAttributeValue("inc_dynamic_schema->model","CRV");
    gr_Inc.setDynamicAttributeValue("inc_dynamic_schema->luxury",false);
    gr_Inc.setDynamicAttributeValue("inc_dynamic_schema->cost",20000);
    gr_Inc.setDynamicAttributeValue("inc_dynamic_schema->avg_mpg",28.4);
    gr_Inc.setDynamicAttributeValue("inc_dynamic_schema->date_purchased", new GlideDateTime());
    gr_Inc.setDynamicAttributeValue("u_attributes->total_miles", 120000.12345);
    gr_Inc.insert();

    GlideRecord – setDynamicAttributeValue(Zeichenfolge dynamicAttributeField, Zeichenfolge attrPath, Objektwert)

    Legt den Wert des dynamischen Attributs fest, das sich in einem angegebenen Feld des aktuellen GlideRecord und einem angegebenen Attributpfad befindet.

    Dynamische Attribute haben einen definierten Datentyp und eine sys_ID Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamisches Schema .

    Tabelle : 172. Parameter
    Name Typ Beschreibung
    DynamicAttributeField Zeichenfolge Name des Felds in der Tabelle, das das dynamische Attribut enthält.
    attributePath Zeichenfolge Attributpfad, der zum Suchen des zugehörigen dynamischen Schemaattributs verwendet werden soll.

    Format: „attr_Name“

    attr_Name : Name des dynamischen Attributs.

    Tabelle: Im Attributfeld der Tabelle „dynamisches Attribut“ [Dynamic_Attribute].

    Wert Objekt Wert, auf den das angegebene dynamische Attribut festgelegt werden soll.
    Der übergebene Wert muss einem der folgenden Datentypen entsprechen:
    • Boolescher Wert (Wahr/Falsch)
    • Dezimal
    • Gleitkommazahl
    • GlideDate
    • GlideDateTime
    • Ganzzahl
    • Zeichenfolge
    Tabelle : 173. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob das dynamische Attribut erfolgreich aktualisiert wurde.
    Mögliche Werte:
    • Wahr: Dynamisches Attribut wurde erfolgreich aktualisiert.
    • Falsch: Fehler aufgetreten. Dynamisches Attribut wurde nicht aktualisiert. Überprüfen Sie, ob dynamicAttributeFieldUnd attrPathParameter enthalten gültige Daten.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    // Update the value of the attribute 'attribute_store->time_of_purchase' incident INC0009009 to a timestamp (in UTC)
    var gr1 = new GlideRecord('incident');
    gr1.get('number', 'INC0009009');
    gr1.setDynamicAttributeValue('attribute_store', 'time_of_purchase', '2020-05-13 13:52:44');
    gr1.update();
    
    // Then retrieve the value of the attribute on the same record
    var gr2 = new GlideRecord('incident');
    gr2.get('number', 'INC0009009');
    gs.info("Time of Purchase Value        (UTC): " + gr2.getDynamicAttributeValue('attribute_store', 'time_of_purchase'));
    gs.info("Time of Purchase DisplayValue (PST): " + gr2.getDynamicAttributeDisplayValue('attribute_store', 'time_of_purchase'));

    Ausgabe:

    *** Script: Time of Purchase Value        (UTC): 2020-05-13 13:52:44
    *** Script: Time of Purchase DisplayValue (PST): 2020-05-13 06:52:44

    GlideRecord – setDynamicAttributeDisplayValue (Zeichenfolge vollständiger Pfad, Objektwert)

    Legt den Anzeigewert des dynamischen Attributs fest, das sich an einem angegebenen Pfad befindet.

    Dynamische Attribute haben einen definierten Datentyp und eine sys_ID Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamisches Schema .

    Tabelle : 174. Parameter
    Name Typ Beschreibung
    fullPath Zeichenfolge Pfad, der zum Suchen des dynamischen Attributs verwendet werden soll, dessen Anzeigewert Sie aktualisieren möchten.
    Format des Attributpfads: dyn_ATT_field->attr_Name
    • dyn_ATT_field : Name eines dynamischen Attributspeicherfelds in der Tabelle.
    • attr_Name : Name des dynamischen Attributs.

      Tabelle: Dynamisches Attribut [Dynamic_Attribute]

    Siehe auch Dynamic Schema.
    Wert Objekt Anzeigewert, auf den das angegebene dynamische Attribut festgelegt werden soll.
    Der übergebene Wert muss einem der folgenden Datentypen entsprechen:
    • Boolescher Wert (Wahr/Falsch)
    • Dezimal
    • Gleitkommazahl
    • GlideDate
    • GlideDateTime
    • Ganzzahl
    • Zeichenfolge
    Tabelle : 175. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob der Anzeigewert des dynamischen Attributs erfolgreich aktualisiert wurde.
    Mögliche Werte:
    • Wahr: Anzeigewert des dynamischen Attributs wurde erfolgreich aktualisiert.
    • Falsch: Fehler aufgetreten. Anzeigewert des dynamischen Attributs wurde nicht aktualisiert. Überprüfen Sie, ob fullPathParameter enthält einen gültigen Pfad zum gewünschten Attribut.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    var grProdTab = new GlideRecord('products_table');
    grProdTab.query();
    grProdTab.next();
    var val = grProdTab.setDynamicAttributeDisplayValue('product_details->date_purchased', '2023-03-31 08:54:26');

    GlideRecord – setDynamicAttributeDisplayValue(Zeichenfolge dynamicAttributeField, Zeichenfolge attrPath, Objektwert)

    Legt den Anzeigewert des dynamischen Attributs fest, das sich in einem angegebenen Feld des aktuellen GlideRecord und einem angegebenen Attributpfad befindet.

    Dynamische Attribute haben einen definierten Datentyp und eine sys_ID Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamisches Schema .

    Tabelle : 176. Parameter
    Name Typ Beschreibung
    DynamicAttributeField Zeichenfolge Name des Felds in der Tabelle, das das dynamische Attribut enthält.
    AttrPath Zeichenfolge Attributpfad, der zum Suchen des zugehörigen dynamischen Schemaattributs verwendet werden soll.

    Format: „attr_Name“

    attr_Name : Name des dynamischen Attributs.

    Tabelle: Im Attributfeld der Tabelle „dynamisches Attribut“ [Dynamic_Attribute].

    Wert Objekt Anzeigewert, auf den das angegebene dynamische Attribut festgelegt werden soll.
    Der übergebene Wert muss einem der folgenden Datentypen entsprechen:
    • Boolescher Wert (Wahr/Falsch)
    • Dezimal
    • Gleitkommazahl
    • GlideDate
    • GlideDateTime
    • Ganzzahl
    • Zeichenfolge
    Tabelle : 177. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob der Anzeigewert des dynamischen Attributs erfolgreich aktualisiert wurde.
    Mögliche Werte:
    • Wahr: Anzeigewert des dynamischen Attributs wurde erfolgreich aktualisiert.
    • Falsch: Fehler aufgetreten. Anzeigewert des dynamischen Attributs wurde nicht aktualisiert. Überprüfen Sie, ob dynamicAttributeFieldUnd attrPathParameter enthalten gültige Daten.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    var grProdTab = new GlideRecord('products_table');
    grProdTab.query();
    grProdTab.next();
    var val = grProdTab.setDynamicAttributeDisplayValue('product_details', 'date_purchased', '2023-03-31 08:54:26');

    GlideRecord – setDynamicAttributeValues(Zeichenfolge dynamicAttributeField, GlideDynamicAttributeStore-Werte)

    Legt einen oder mehrere dynamische Attributwerte mit Werten fest, die im übergebenen GlideDynamicAttributeStore-Objekt angegeben sind.

    Diese Methode aktualisiert nur die als Argumente übergebenen Attribute und Werte. Attribute und Werte auf GlideRecord Nicht angegebene sind von diesem Anruf nicht betroffen. Ungültige Attribute oder Werte werden ignoriert. Überprüfen Sie die Protokollnachrichten auf mögliche Fehlerinformationen.

    Dynamische Attribute haben einen definierten Datentyp und eine sys_ID Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamisches Schema .

    Tabelle : 178. Parameter
    Name Typ Beschreibung
    DynamicAttributeField Zeichenfolge Name des Felds in der aktuellen Tabelle, das enthält Dynamisches Schema .
    Werte GlideDynamicAttributeStore GlideDynamicAttributeStore Objekt, das die zu aktualisierenden dynamischen Attribute enthält.
    Die im Objekt ausgefüllten Werte müssen den folgenden Datentypen entsprechen:
    • Boolescher Wert (Wahr/Falsch)
    • Dezimal
    • Gleitkommazahl
    • GlideDate
    • GlideDateTime
    • Ganzzahl
    • Zeichenfolge
    Tabelle : 179. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    var das = new GlideDynamicAttributeStore();
    das.setDynamicAttributeValue('attribute1', 'Apple');
    das.setDynamicAttributeValue('attribute2', 1234);
    
    var gr_Inc = new GlideRecord('incident');
    gr_Inc.query();
    gr_Inc.next();
    gr_Inc.setDynamicAttributeValues(das);

    GlideRecord – setForceUpdate (boolesche Kraft)

    Aktualisiert den Datensatz, auch wenn sich Felder nicht geändert haben.

    Tabelle : 180. Parameter
    Name Typ Beschreibung
    Erzwingen Boolean „Wahr“ zum Aktualisieren, auch wenn sich Felder nicht geändert haben, andernfalls „falsch“.
    Tabelle : 181. Rückgaben
    Typ Beschreibung
    Ungültig

    Dieses Beispiel zeigt, wie ein Datensatz in der Tabelle „itfm_Cost_model“ erzwungen wird, auch ohne Änderungen zu aktualisieren.

    function() {
      gs.log("Update Script: Upgrade_cost_model_data.js started");
      var now_GR = new GlideRecord("itfm_cost_model");
      now_GR.initialize();
      now_GR.addNullQuery("source_table");
      now_GR.query();
      while (now_GR.next()) {
        now_GR.setForceUpdate(true);
        var sourceTable = getSourceTable(now_GR.getValue('clone_from'));
        if(sourceTable){
          now_GR.setValue("source_table", sourceTable);
          now_GR.setWorkflow(false);
          now_GR.update();
        }
      }
    }

    GlideRecord – setLimit(Nummernlimit)

    Legt die maximale Anzahl von Datensätzen fest, die im GlideRecord aus einer Abfrage zurückgegeben werden sollen.

    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 aus ANZAHL(*) 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 überspringen ANZAHL(*) Abfrage, aber derselbe Leistungsvorteil ist mit erreichbar SetNoCount() .
    Siehe auch:
    Tabelle : 182. Parameter
    Name Typ Beschreibung
    limit Nummer Grenzwert für abzurufende Datensätze.
    Tabelle : 183. Rückgaben
    Typ Beschreibung
    Ungültig

    In diesem Beispiel wird die Anzahl der in der Abfrage zurückgegebenen Datensätze auf maximal zehn festgelegt.

    var now_GR = new GlideRecord('incident');
    now_GR.orderByDesc('sys_created_on');
    now_GR.setLimit(10);
    now_GR.query();

    Bereichsbezogenes Äquivalent

    Zur Verwendung von SetLimit() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: SetLimit() .

    GlideRecord – setLocation(Number rowNumber)

    Legt die aktuelle Zeilenposition auf den angegebenen Wert fest.

    Tabelle : 184. Parameter
    Name Typ Beschreibung
    Zeilennummer Nummer Zeilennummer, die als aktuelle Zeile festgelegt werden soll.
    Tabelle : 185. Rückgaben
    Typ Beschreibung
    Ungültig

    Dieses Beispiel zeigt, wie die Datensatzposition in der Incident-Tabelle festgelegt wird

    verifySetLocation : function() {
      var now_GR = new GlideRecord("incident");
      now_GR.query();
      var recordIDs = new Array();
      while(now_GR.next()) {
      recordIDs.push(now_GR.getValue("sys_id"));
      }
      for (var ix = recordIDs.length - 1; ix >= 0; ix--) {
        now_GR.setLocation(ix);
        Assert.assertEquals(recordIDs[ix], now_GR.getValue("sys_id"),
          "The entry retrieved for the index " + ix + " is not valid");
      }
    }

    GlideRecord – setNewGuid()

    Generiert eine neue GUID und legt sie als eindeutige ID (sys_ID) für den aktuellen Datensatz fest.

    Diese Funktion gilt nur für neue Datensätze. Sie können die GUID für einen vorhandenen Datensatz nicht ändern.

    Tabelle : 186. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 187. Rückgaben
    Typ Beschreibung
    Zeichenfolge SYS_ID des aktuellen Datensatzes.

    Dieses Beispiel erstellt einen neuen Aufgabendatensatz und speichert die ID in der Tabelle „Task_rel_Task“.

    var task = new GlideRecord ('task');
    var tsk_id = task.setNewGuid();
     
    task.description = "Request: " + current.request.number;
    task.description = task.description + "\n" + "Requested by: " + current.request.u_requested_by.name;
    task.description = task.description + "\n" + "Requested for: " + current.request.u_requested_for.name;
    task.description = task.description + "\n" + "Item: " + current.cat_item.name;
     
    var now_GR = new GlideRecord ('task_rel_task');
    //link the incident to the request
    now_GR.parent = current.request;
    now_GR.child = tsk_id;
    now_GR.insert();

    GlideRecord – setNewGuidValue (Zeichenfolgen-GUID)

    Generiert eine neue GUID und legt sie beim Einfügen eines neuen Datensatzes als eindeutige ID für den aktuellen Datensatz fest.

    Tabelle : 188. Parameter
    Name Typ Beschreibung
    guid Zeichenfolge Wert für die neue GUID.
    Tabelle : 189. Rückgaben
    Typ Beschreibung
    Ungültig

    Dieses Beispiel generiert eine neue GUID und legt sie als eindeutige ID für den neu erstellten Datensatz „cmdb_Software_instance“ fest.

    var gobj = new GlideRecord('sys_db_object');
    gobj.addQuery('name','cmdb_software_instance');
    gobj.query();
    if (!gobj.next()) {
      var si = new GlideRecord('cmdb_software_instance');
      si.query();
      var count = 0;
      while (si.next()) {
      if (!si.isValidField('sys_class_name')) {
        var ci = new GlideRecord('cmdb_ci');
        ci.name = si.name;
        ci.setNewGuidValue(si.sys_id);
        ci.sys_class_name = 'cmdb_software_instance';
        ci.insert();
        count++;
      }
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von SetNewGuidValue() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: SetNewGuidValue() .

    GlideRecord – setNoCount()

    Verhindert, dass eine GlideRecord-Abfrage ausgeführt wird ANZAHL(*) Abfrage.

    Wird Ausgeführt Abfrage() Mit einigen Methoden lösen Sie einen aus 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.
    Hinweis:
    Die SetLimit() Methode stoppt auch ANZAHL(*) . Wird Verwendet SetNoCount() Ist unnötig, wenn SetLimit() Methode ist in der Abfrage enthalten.
    Tabelle : 190. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 191. Rückgaben
    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

    Bereichsbezogenes Äquivalent

    Zur Verwendung von SetNoCount() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: SetNoCount() .

    GlideRecord – setQueryReferences(boolesche queryReferences)

    Aktiviert oder deaktiviert die Verwendung des Anzeigenamens des Referenzfelds beim Abfragen eines Referenzfelds.

    Tabelle : 192. Parameter
    Name Typ Beschreibung
    QueryReferences Boolean Kennzeichnung, die angibt, wann Daten generiert werden sollen.
    Gültige Werte:
    • Wahr: Generieren Sie eine Zeichenfolge von Anzeigenamen.
    • Falsch: Generieren Sie eine Zeichenfolge von sys_IDs.
    Tabelle : 193. Rückgaben
    Typ Beschreibung
    Ungültig
    var grByName = new GlideRecord(this.TEST_TABLE);
    grByName.addQuery("caller_id", userDisplayName);
    grByName.setQueryReferences(true);
    grByName.query();
    if (grByName.hasNext()) {
      while(grByName.next()) {
        gs.print("Incident caller_id=" + grByName.caller_id);
      }
    } else {
      gs.print("NO RESULTS");
    }

    GlideRecord – setUseEngines (boolescher Wert e)

    Deaktiviert oder aktiviert die Ausführung von Engines (Genehmigungsregeln/Zuweisungsregeln).

    Warnung:
    Das Deaktivieren der Ausführung von Engines kann erhebliche Auswirkungen auf haben ServiceNow® Instanz und Funktionsweise. Stellen Sie sicher, dass Sie diesen Change gründlich testen, bevor Sie ihn in der Produktion bereitstellen.
    Tabelle : 194. Parameter
    Name Typ Beschreibung
    e Boolean Kennzeichnung, die angibt, ob die Ausführung von Engines aktiviert oder deaktiviert werden soll.
    Gültige Werte:
    • Wahr: Engines aktivieren
    • Falsch: Engines deaktivieren
    Tabelle : 195. Rückgaben
    Typ Beschreibung
    Ungültig

    Dieses Beispiel zeigt, wie Engines und Business-Regeln vor dem Ausführen einer Abfrage deaktiviert werden.

    function auditOAuthInboundRequestsUsage(){
      var now_GR = new GlideRecord("oauth_credential");
      var oauthClient = now_GR.addJoinQuery("oauth_entity", "peer", "sys_id");
      now_GR.addQuery("type", "access_token");
      now_GR.addQuery("expires", ">", nowDateTime());
      now_GR.addNullQuery("oauth_requestor_profile");
      oauthClient.addCondition("active", "true");
      oauthClient.addCondition("type", "client");
      now_GR.setUseEngines(false);
      now_GR.setWorkflow(false);
      now_GR.query();
      return now_GR.hasNext();
    }

    GlideRecord – setValue (Zeichenfolgenname, Objektwert)

    Legt das angegebene Feld oder ein Attribut in einem dynamischen Attributspeicher auf einen angegebenen Wert fest.

    Normalerweise würde ein Skript beispielsweise eine direkte Zuweisung durchführen now_GR.category = Wert . Wenn der Elementname in einem Skript jedoch 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.

    Wenn der Wertparameter Null ist, wird der Datensatz nicht aktualisiert, und es wird kein Fehler ausgelöst.
    Hinweis:
    Diese Methode kann nicht für Journalfelder verwendet werden. Verwenden  GlideElement.setJournalEntry() Stattdessen.
    Hinweis:
    Wenn Feldverschlüsselung Enterprise Plugin ist aktiviert, und die Instanz hat Zugriff auf den Schlüssel. Diese Methode kann verschlüsselte Daten in verschlüsselte Felder einfügen. Wenn die Instanz keinen Zugriff auf den Schlüssel hat, gibt diese Methode einen Fehler zurück. Weitere Informationen finden Sie unter Plattformverschlüsselung .
    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.

    Tabelle : 196. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Name des festzulegenden Felds.

    Um Attributwerte im dynamischen Schema festzulegen, verwenden Sie den Pfad zu einem Attribut in einem dynamischen Attributspeicher.

    Format des Attributpfads: dyn_ATT_field->attr_Name
    • dyn_ATT_field : Name eines dynamischen Attributspeicherfelds in der Tabelle.
    • attr_Name : Name des dynamischen Attributs.

      Tabelle: Dynamisches Attribut [Dynamic_Attribute]

    Siehe auch Dynamic Schema.
    Wert Objekt Wert, der im angegebenen Feld festgelegt werden soll.
    Hinweis:
    Für ein dynamisches Attribut werden nur die folgenden Datentypen unterstützt:
    • Boolescher Wert (Wahr/Falsch)
    • Dezimal
    • Gleitkommazahl
    • GlideDate
    • GlideDateTime
    • Ganzzahl
    • Zeichenfolge

    Um ein dynamisches Kategoriefeld im dynamischen Schema anzugeben, verwenden Sie einen Referenzschlüssel mit dem Namespace und dem Kategoriefeldnamen anstelle einer sys_ID Geben Sie die Kategoriespalte als Namensparameter an, z. B. grExample.setValue('cat_column_name', „Namespace_Name/Cat_Name“) . Weitere Informationen finden Sie unter Create a dynamic namespace.

    Tabelle : 197. Rückgaben
    Typ Beschreibung
    Keine

    Dieses Beispiel zeigt, wie der Wert des Statusfelds in der Tabelle „planned_Task“ festgelegt wird.

    function() {
      var topTask = new GlideRecord('planned_task');
      topTask.setValue('state', -5);
      var childTask = new GlideRecord('planned_task');
      childTask.setValue('state', -5);
      var s = new PlannedTaskStateManagement(childTask, topTask);
      var state = s.manageStateChange(false);
      Assert.assertEquals("-5", state);
    }

    Dieses Beispiel zeigt, wie diese Methode mit einem dynamischen Schema verwendet wird. Die erste Verwendung legt den Wert einer dynamischen Kategorie mithilfe eines Referenzschlüssels fest, um den Wert festzulegen. Beim zweiten wird ein Attributpfad verwendet, um den Wert eines dynamischen Attributs festzulegen Total_miles .

    var used_car = new GlideRecord('u_product');
    
    // Using setValue() to set the dynamic category column to Car
    // u_product/u_attributes is the namespace and u_car is the category
    used_car.setValue('u_attributes_category', 'u_product/u_attributes/u_car');
    
    // Using setDynamicAttributeValue() to set the dynamic attribute value
    used_car.setDynamicAttributeValue("u_attributes->color","green");
    used_car.setDynamicAttributeValue("u_attributes->make","Toyota");
    used_car.setDynamicAttributeValue("u_attributes->model","Rav4");
    used_car.setDynamicAttributeValue("u_attributes->luxury",false);
    used_car.setDynamicAttributeValue("u_attributes->cost",12500);
    used_car.setDynamicAttributeValue("u_attributes->avg_mpg",24.8);
    used_car.setDynamicAttributeValue("u_attributes->date_purchased", new GlideDateTime());
    
    // Using setValue() to set the dynamic attribute value
    used_car.setValue("u_attributes->total_miles", 120000.12345);
    
    used_car.insert();

    Bereichsbezogenes Äquivalent

    Zur Verwendung von SetWert() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: SetWert() .

    GlideRecord – setWorkflow (boolescher Wert aktivieren)

    Aktiviert oder deaktiviert die Ausführung von Business-Regeln, die normalerweise durch nachfolgende Aktionen ausgelöst werden können.

    Hinweis:
    Die SetWorkflow() Methode wird ignoriert, wenn anschließend entweder verwendet wird DeleteProblem() Oder DeleteMultiple() Methoden zum kaskadieren des Löschvorgangs.
    Warnung:
    Das Deaktivieren der Ausführung von Business-Regeln kann erhebliche Auswirkungen auf haben ServiceNow® Instanz und Funktionsweise. Stellen Sie sicher, dass Sie diesen Change gründlich testen, bevor Sie ihn in der Produktion bereitstellen.
    Tabelle : 198. Parameter
    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:
    • Wahr: Aktiviert die Ausführung von Business-Regeln, Skript-Engines oder Audits.
    • Falsch: Deaktiviert die Ausführung von Business-Regeln, Skript-Engines oder Audits.

    Standardwert: wahr

    Tabelle : 199. Rückgaben
    Typ Beschreibung
    Keine
    doit('name1','name2'); 
     
    function doit(username1,username2) { 
     
      var usr1 = new GlideRecord('sys_user');
      var usr2 = new GlideRecord('sys_user');
      var num = 0;
     
      if (usr1.get('user_name',username1) && usr2.get('user_name',username2)) {
        var ref;
        var dict = new GlideRecord('sys_dictionary');
        dict.addQuery('reference','sys_user');
        dict.addQuery('internal_type','reference');
        dict.query();
        while (dict.next()) {
          num = 0;
          ref = new GlideRecord(dict.name.toString());
          ref.addQuery(dict.element,usr1.sys_id);
          ref.query();
          while (ref.next()) {
            ref.setValue(dict.element.toString(),usr2.sys_id); 
            ref.setWorkflow(false);
            ref.update();
            num++;
          }
          if (num > 0) {
            gs.print(dict.element + ' changed from ' + usr1.user_name + 
              ' to ' + usr2.user_name + ' in ' + num + ' ' + dict.name + ' records');
          }
        }
      }
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von SetWorkflow() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: SetWorkflow() .

    GlideRecord – Update (Objektursache)

    Aktualisiert den GlideRecord mit allen vorgenommenen Änderungen. Wenn der Datensatz nicht vorhanden ist, wird er eingefügt.

    Tabelle : 200. Parameter
    Name Typ Beschreibung
    Grund Objekt Optional. Grund für die Aktualisierung. Der Grund wird im Audit-Datensatz angezeigt.
    Tabelle : 201. Rückgaben
    Typ Beschreibung
    Zeichenfolge Die sys_ID des neuen oder aktualisierten Datensatzes. Gibt Null zurück, wenn das Update fehlschlägt.

    Dieses Beispiel aktualisiert einen Datensatz in der Tabelle „Task_ci“.

    var now_GR = new GlideRecord('task_ci');
    now_GR.addQuery();
    now_GR.query();
    var count = now_GR.getRowCount();
    if (count > 0) {
       var allocation = parseInt(10000 / count) / 100;
       while (now_GR.next()) {
          now_GR.u_allocation = allocation;
          now_GR.update();
       }
    }

    Bereichsbezogenes Äquivalent

    Zur Verwendung von Aktualisieren () Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: Aktualisieren () .

    GlideRecord – updateMultiple()

    Aktualisiert jeden GlideRecord in einer angegebenen Abfrage mit einem angegebenen Satz von Änderungen.

    Informationen zum Hinzufügen von Journaleinträgen finden Sie unter SetJournalEntry() Methode.

    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.

    Hinweis:
    Um die erwarteten Ergebnisse sicherzustellen, verwenden Sie SetWert() Methode anstelle von direkten Zuweisungen. Das heißt, verwenden gr_Now.setValue('<field_name>“, „4“); Anstelle von gr_now.<field_name> = 4 .
    Hinweis:
    Verwenden Sie diese Methode nicht mit Select Window() Oder SetLimit() Methoden bei der Arbeit mit großen Tabellen.

    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.

    Tabelle : 202. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 203. Rückgaben
    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();
    Dieses Beispiel zeigt, wie vorhandene Werte des Beschreibungsfelds für Incidents der Priorität 1 gelöscht werden.
    var test = new GlideRecord('incident');
    test.addEncodedQuery('priority=1');
    test.query();
     
    test.setValue('description','NULL');
    test.updateMultiple();

    Bereichsbezogenes Äquivalent

    Zur Verwendung von UpdateMultiple() Methode in einer bereichsbezogenen Anwendung verwenden Sie die entsprechende bereichsbezogene Methode: UpdateMultiple() .

    GlideRecord – updateWithReferences (Objektgrund)

    Aktualisiert einen Datensatz und fügt auch alle zugehörigen Datensätze mit den bereitgestellten Informationen ein oder aktualisiert sie.

    Tabelle : 204. Parameter
    Name Typ Beschreibung
    Grund Objekt Grund für die Updates. Der Grund wird im Audit-Datensatz angezeigt.
    Tabelle : 205. Rückgaben
    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();
    }