GlideElementDynamicAttributeStore : Global

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 6 Minuten Lesedauer
  • Die GlideElementDynamicAttributeStore- API bietet praktische Skriptmethoden zum Verwalten dynamischer Attribute im aktuellen Glide-Datensatz. Verwenden Sie diese Methoden in Verbindung mit der GlideRecord- API, um definierte dynamische Attributwerte abzurufen und festzulegen.

    Um diese API zum Erstellen dynamischer Attribute zu verwenden, benötigen Sie die Rolle „dynamic_schema_writer“. Um dynamische Daten mit dieser API zu lesen, benötigen Sie die Rolle „dynamic_schema_reader“.

    Diese API erweitert die GlideElement : Global -API.

    Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamic Schema.

    GlideElementDynamicAttributeStore - getDynamicAttribute(String attributePath)

    Gibt ein GlideElementDynamicAttribute-Objekt zurück, das das dynamische Attribut darstellt, das sich unter dem angegebenen dynamischen Attributpfad befindet.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    attributePath Zeichenfolge Attributpfad zum Suchen des zugeordneten dynamischen Schemaattributs.
    Format: "group_name->attr_name"
    • group_name: Name der Gruppe, der dieses Attribut zugeordnet ist. Zu finden im Feld „Name“ der Tabelle „Dynamische Attributgruppe“ [dynamic_attribute_group] oder im Feld „Gruppe“ der Tabelle „Dynamische Attributtabelle“ [dynamic_attribute].
    • attr_name: Name des dynamischen Attributs innerhalb der dynamischen Gruppe. Befindet sich im Feld Name der Tabelle „Dynamische Attributtabelle“ [dynamic_attribute].

    Beispiel: „Auto->Farbe“

    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    GlideElementDynamicAttribute Objekt, das die angegebenen dynamischen Attribute enthält.

    Wenn der Parameter attributePath ungültige Informationen enthält, gibt eine NULL zurück.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    //Gets all the values of the make attribute from the u_inc_dynamic_schema dynamic attribute store column on the incident table
    var gr_Inc = new GlideRecord('incident');
    gr_Inc.query();
    while(gr_Inc.next()) {
        var attr = gr.getDynamicAttribute('inc_dynamic_schema->cars->make');
        gs.info(attr.getValue());
    }
    
    //You can also use if(gr_Inc.next()) if you don't want all the values
    var gr_Inc = new GlideRecord('incident');
    gr_Inc.query();
    if(gr_Inc.next()) {
        var attr = gr_Inc.getDynamicAttribute('inc_dynamic_schema->cars->make');
        gs.info(attr.getValue());
    }

    GlideElementDynamicAttributeStore - getDynamicAttributeDisplayValue(String attributePath)

    Gibt den Anzeigewert des dynamischen Attributs zurück, das sich an einem angegebenen Attributpfad in einem dynamischen Attributspeicher befindet. Wenn ein Anzeigewert nicht verfügbar ist, wird der interne Wert zurückgegeben.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    attributePath Zeichenfolge Attributpfad zum Suchen des zugeordneten dynamischen Schemaattributs.
    Format: "group_name->attr_name"
    • group_name: Name der Gruppe, der dieses Attribut zugeordnet ist. Zu finden im Feld „Name“ der Tabelle „Dynamische Attributgruppe“ [dynamic_attribute_group] oder im Feld „Gruppe“ der Tabelle „Dynamische Attributtabelle“ [dynamic_attribute].
    • attr_name: Name des dynamischen Attributs innerhalb der dynamischen Gruppe. Befindet sich im Feld Name der Tabelle „Dynamische Attributtabelle“ [dynamic_attribute].

    Beispiel: „Auto->Farbe“

    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    Objekt Wert für das zugeordnete dynamische Attribut im visuell lesbaren Format.

    Wenn der Parameter attributePath ungültige Informationen enthält, gibt eine NULL zurück.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    //Gets all the display values of the luxury attribute from the inc_dynamic_schema dynamic attribute store column on the incident table
    var gr_Inc = new GlideRecord('incident');
    gr_Inc.query();
    while(gr_Inc.next()) {
        var attr = gr_Inc.getDynamicAttributeDisplayValue('inc_dynamic_schema->cars->luxury');
        gs.info(attr);
    }
    
    //You can also use if(gr.next()) if you don't want all the values
    var gr_Inc = new GlideRecord('incident');
    gr_Inc.query();
    
    if(gr_Inc.next()) {
        var attr = gr_Inc.getDynamicAttributeDisplayValue('inc_dynamic_schema->cars->luxury');
        gs.info(attr);
    }

    GlideElementDynamicAttributeStore - getDynamicAttributeValue(String attributePath)

    Gibt den internen Wert des dynamischen Attributs zurück, auf das ein übergebener Attributpfad innerhalb eines dynamischen Attributspeichers zeigt.

    Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamic Schema.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    attributePath Zeichenfolge Attributpfad zum Suchen des zugeordneten dynamischen Schemaattributs.
    Format: "group_name->attr_name"
    • group_name: Name der Gruppe, der dieses Attribut zugeordnet ist. Zu finden im Feld „Name“ der Tabelle „Dynamische Attributgruppe“ [dynamic_attribute_group] oder im Feld „Gruppe“ der Tabelle „Dynamische Attributtabelle“ [dynamic_attribute].
    • attr_name: Name des dynamischen Attributs innerhalb der dynamischen Gruppe. Befindet sich im Feld Name der Tabelle „Dynamische Attributtabelle“ [dynamic_attribute].

    Beispiel: „Auto->Farbe“

    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    Objekt Wert des dynamischen Attributs, auf das der übergebene Attributpfad zeigt.

    Wenn der Parameter attributePath ungültige Informationen enthält, gibt eine NULL zurück.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.query();
    
    while(gr_Inc.next()) {
        var attr = gr_Inc.getDynamicAttributeValue('inc_dynamic_schema->cars->luxury');
        gs.info(attr);
    }
    Ausgabe:
    
    *** Script: 1

    GlideElementDynamicAttributeStore - setDynamicAttributeValue(String attributePath, Object value)

    Legt das Attribut, auf das ein angegebener Attributpfad in einem dynamischen Attributspeicher zeigt, auf einen angegebenen Wert fest.

    Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamic Schema.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    attributePath Zeichenfolge Attributpfad zum Suchen des zugeordneten dynamischen Schemaattributs.
    Format: "group_name->attr_name"
    • group_name: Name der Gruppe, der dieses Attribut zugeordnet ist. Zu finden im Feld „Name“ der Tabelle „Dynamische Attributgruppe“ [dynamic_attribute_group] oder im Feld „Gruppe“ der Tabelle „Dynamische Attributtabelle“ [dynamic_attribute].
    • attr_name: Name des dynamischen Attributs innerhalb der dynamischen Gruppe. Befindet sich im Feld Name der Tabelle „Dynamische Attributtabelle“ [dynamic_attribute].

    Beispiel: „Auto->Farbe“

    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)
    • Dezimalzahl
    • Gleitkommazahl
    • GlideDate
    • GlideDateTime
    • Ganzzahl
    • Zeichenfolge
    Tabelle : 8. Ergebnisse
    Typ Beschreibung
    GlideElementDynamicAttributeStore Gibt ein GlideElementDynamicAttributeStore-Objekt zurück, das den angegebenen Wert enthält.

    Wenn der Parameter groupAttributePath ungültige Informationen enthält, wird das Attribut nicht aktualisiert.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    //This simple example inserts a make attribute on the inc_dynamic_schema column where the value of the make attribute is Ford.
    var gr_Inc = new GlideRecord('incident');
    gr_Inc.setDynamicAttributeValue('inc_dynamic_schema->cars->make', 'Ford');
    gr_Inc.insert();

    GlideElementDynamicAttributeStore - setDynamicAttributeValues(GlideDynamicAttributeStore-Werte)

    Legt die im übergebenen GlideElementDynamicAttrputeStore-Objekt angegebenen Werte im dynamischen Attributspeicher des aktuellen GlideRecord-Elements fest. Der Datentyp des aktuellen Elements muss auf Dynamischer Attributspeicherfestgelegt werden.

    Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamic Schema.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    Werte GlideDynamicAttributeStore Objekt, das die im dynamischen Schema des aktuellen Elements festzulegenden Werte enthält. Werte, die in diesem Objekt nicht angegeben sind, werden nicht aktualisiert.
    Tabelle : 10. Ergebnisse
    Typ Beschreibung
    GlideElementDynamicAttributeStore GlideElementDynamicAttributeStore-Objekt aktualisiert.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    var gr_Inc = new GlideRecord('incident');
    var das = new GlideDynamicAttributeStore();
    das.setDynamicAttributeValue("cars->color", "black");
    das.setDynamicAttributeValue("cars->make","Honda");
    das.setDynamicAttributeValue("cars->model","CRV");
    gr_Inc.setDynamicAttributeValues('inc_dynamic_schema', das);
    gr_Inc.insert();

    In diesem Codebeispiel wird Folgendes in die Spalte u_inc_dynamic_schema eingefügt:

    {
      "cars" : {
        "color" : "black",
        "make" : "Honda",
        "model" : "CRV"
      }
    }

    GlideElementDynamicAttributeStore - setDynamicAttributeDisplayValue(String attributePath)

    Legt den Anzeigewert des dynamischen Attributs fest, das sich an einem angegebenen Pfad im dynamischen Attributspeicher des aktuellen GlideRecord-Elements befindet.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    attributePath Zeichenfolge Attributpfad zum Suchen des zugeordneten dynamischen Schemaattributs.
    Format: "group_name->attr_name"
    • group_name: Name der Gruppe, der dieses Attribut zugeordnet ist. Zu finden im Feld „Name“ der Tabelle „Dynamische Attributgruppe“ [dynamic_attribute_group] oder im Feld „Gruppe“ der Tabelle „Dynamische Attributtabelle“ [dynamic_attribute].
    • attr_name: Name des dynamischen Attributs innerhalb der dynamischen Gruppe. Befindet sich im Feld Name der Tabelle „Dynamische Attributtabelle“ [dynamic_attribute].

    Beispiel: „Auto->Farbe“

    Wert Objekt Wert, der im aktuellen dynamischen Attributelement festgelegt werden soll.
    Der übergebene Wert muss einen der folgenden Datentypen aufweisen:
    • Boolescher Wert (Wahr/Falsch)
    • Dezimalzahl
    • Gleitkommazahl
    • GlideDate
    • GlideDateTime
    • Ganzzahl
    • Zeichenfolge
    Tabelle : 12. Ergebnisse
    Typ Beschreibung
    GlideElementDynamicAttributeStore Objekt, das das aktualisierte Glide-Element enthält.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    var grFleet = new GlideRecord('u_car_fleet');
    grFleet.setDynamicAttributeValue('u_dyn_attr_store', 'car->color', 'Yellow');
    grFleet.setDynamicAttributeValue('u_dyn_attr_store', 'car->make', 'Ford');
    var sysId = grFleet.insert();
    gs.info("Inserted: " + grFleet.u_dyn_attr_store);
    
    var daStore = new GlideDynamicAttributeStore();
    daStore.setDynamicAttributeValue('car->color', 'Green');
    daStore.setDynamicAttributeValue('car->model', 'Bronco');
    
    var geDynAttrStore = grFleet.getElement('u_dyn_attr_store');
    geDynAttrStore.setDynamicAttributeDisplayValues(daStore);
    grFleet.update();
    gs.info("Updated:  " + grFleet.u_dyn_attr_store);

    Ausgabe:

    *** Script: Inserted: {"car":{"color":"Yellow","make":"Ford"}}
    *** Script: Updated:  {"car":{"color":"Green","make":"Ford","model":"Bronco"}}

    Das folgende Codebeispiel zeigt, wie ein boolescher Anzeigewert als „1“ gespeichert, aber als „wahr“ zurückgegeben wird.

     var gr_Inc = new GlideRecord('incident');
    gr_Inc.setDynamicAttributeDisplayValue('u_inc_dynamic_schema->u_cars->u_luxury', '1');
    gr_Inc.insert()

    Zurückgegebener Wert:

    {
      "u_cars" : {
        "u_luxury" : "true"
      }
    }

    GlideElementDynamicAttributeStore - setDynamicAttributeDisplayValues(GlideDynamicAttributeStore-Werte)

    Legt die im übergebenen GlideDynamicAttrputeStore-Objekt angegebenen Anzeigewerte in den dynamischen Attributen des aktuellen GlideRecord-Elements fest. Der Datentyp des aktuellen Elements muss in der zugehörigen Tabelle auf „ Dynamischer Attributspeicher “ festgelegt werden.

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    Werte GlideDynamicAttributeStore Objekt, das die Anzeigewerte enthält, die im dynamischen Attributspeicher des aktuellen Elements festgelegt werden sollen. Anzeigewerte, die in diesem Objekt nicht angegeben sind, werden nicht aktualisiert. Dieses Objekt muss sowohl den Attributpfad als auch den Anzeigewert für jedes zu speichernde Attribut enthalten.
    Beispiel:
    {
      "car":{
        "color":"Blue",
        "make":"Ford",
        "model":"Mustang"
      }
    }
    Tabelle : 14. Ergebnisse
    Typ Beschreibung
    GlideElementDynamicAttributeStore Objekt, das das aktualisierte Glide-Element enthält.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    var daStore = new GlideDynamicAttributeStore();
    daStore.setDynamicAttributeValue('car->make', 'Ford');
    daStore.setDynamicAttributeValue('car->model', 'Mustang');
    daStore.setDynamicAttributeValue('car->color', 'Blue');
    gs.info("daStore: " + daStore);
    
    var gr_Car = new GlideRecord('u_car_fleet');
    gr_Car.query();
    while(gr_Car.next()) {
      var glideElement = gr_Car.getElement('u_dyn_attr_store');
      glideElement.setDynamicAttributeValues(daStore);
      gr_Car.update();
    }