GlideElementDynamicAttributeStore – Global

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 7 Minuten Lesedauer
  • Die GlideElementDynamicAttributeStore Die API bietet praktische Skriptmethoden für die Verwaltung dynamischer Attribute im aktuellen Glide-Datensatz. Verwenden Sie diese Methoden in Verbindung mit GlideRecord API zum Abrufen und Festlegen definierter dynamischer Attributwerte.

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

    Diese API erweitert den GlideElement – Global API.

    Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamic Schema.

    GlideElementDynamicAttributeStore – getDynamicAttribute(Zeichenfolge attributePath)

    Gibt ein GlideElementDynamicAttribute-Objekt zurück, das das dynamische Attribut im angegebenen dynamischen Attributpfad darstellt.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    attributePath Zeichenfolge Attributpfad, der zum Suchen des zugehörigen dynamischen Schemaattributs verwendet werden soll.
    Format: „Group_Name->attr_Name“
    • Gruppenname : Name der Gruppe, der das Attribut zugeordnet ist.

      Tabelle: Im Feld Name der Tabelle „dynamische Attributgruppe“ [Dynamic_Attribute_Group] oder im Feld Gruppe der Tabelle „dynamisches Attribut“ [Dynamic_Attribute].

    • attr_Name : Name des dynamischen Attributs innerhalb der dynamischen Gruppe.

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

    Beispiel: „Auto->Farbe“

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

    Wenn attributePathParameter enthält ungültige Informationen, 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 – getDynamicAttributesInStore()

    Gibt den Satz dynamischer Attributdefinitionen zurück, die in einem Feld vorhanden und gespeichert sind.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    Array Array von GlideDynamicAttribute Oder GlideTransientDynamicAttribute Objekte.

    Das folgende Beispiel zeigt, wie Sie den Inhalt eines gespeicherten dynamischen Attributs abrufen, die gespeicherten Attribute und die Attribute in seinem Schema auflisten.

    var record = new GlideRecord('cool_thing');
    record.get('number', 'COOL0000005');
    
    gs.info("Store Contents:\n" + JSON.stringify(JSON.parse(record.store1), null, 2) + "\n");
    gs.info("Attributes in Store:\n" + record.store1.getDynamicAttributesInStore() + "\n");
    gs.info("Attributes in Schema:\n" + record.store1.getDynamicAttributesInSchema() + "\n");

    Ausgabe:

    *** Script: Store Contents:
    {
      "_a": {
        "b": "hello world"
      },
      "_group1": {
        "integer1": "5"
      },
      "_group2": {
        "integer1": "10",
        "string1": "hello"
      }
    }
    
    *** Script: Attributes in Store:
    a->b,group1->integer1,group2->integer1,group2->string1
    
    *** Script: Attributes in Schema:
    group1->integer1,group1->string1,group2->integer1

    GlideElementDynamicAttributeStore – getDynamicAttributesInSchema()

    Gibt den Satz dynamischer Attributdefinitionen zurück, auf die im Schema verwiesen wird.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    Array Array von GlideDynamicAttribute Oder GlideTransientDynamicAttribute Objekte.

    Das folgende Beispiel zeigt, wie Sie den Inhalt eines gespeicherten dynamischen Attributs abrufen, die gespeicherten Attribute und die Attribute in seinem Schema auflisten.

    var record = new GlideRecord('cool_thing');
    record.get('number', 'COOL0000005');
    
    gs.info("Store Contents:\n" + JSON.stringify(JSON.parse(record.store1), null, 2) + "\n");
    gs.info("Attributes in Store:\n" + record.store1.getDynamicAttributesInStore() + "\n");
    gs.info("Attributes in Schema:\n" + record.store1.getDynamicAttributesInSchema() + "\n");

    Ausgabe:

    *** Script: Store Contents:
    {
      "_a": {
        "b": "hello world"
      },
      "_group1": {
        "integer1": "5"
      },
      "_group2": {
        "integer1": "10",
        "string1": "hello"
      }
    }
    
    *** Script: Attributes in Store:
    a->b,group1->integer1,group2->integer1,group2->string1
    
    *** Script: Attributes in Schema:
    group1->integer1,group1->string1,group2->integer1

    GlideElementDynamicAttributeStore – getDynamicAttributeDisplayValue(Zeichenfolge 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 : 7. Parameter
    Name Typ Beschreibung
    attributePath Zeichenfolge Attributpfad, der zum Suchen des zugehörigen dynamischen Schemaattributs verwendet werden soll.
    Format: „Group_Name->attr_Name“
    • Gruppenname : Name der Gruppe, der das Attribut zugeordnet ist.

      Tabelle: Im Feld Name der Tabelle „dynamische Attributgruppe“ [Dynamic_Attribute_Group] oder im Feld Gruppe der Tabelle „dynamisches Attribut“ [Dynamic_Attribute].

    • attr_Name : Name des dynamischen Attributs innerhalb der dynamischen Gruppe.

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

    Beispiel: „Auto->Farbe“

    Tabelle : 8. Ergebnisse
    Typ Beschreibung
    Objekt Wert für das zugehörige dynamische Attribut im visuell lesbaren Format.

    Wenn attributePathParameter enthält ungültige Informationen, 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(Zeichenfolge attributePath)

    Gibt den internen Wert des dynamischen Attributs zurück, auf das ein übergebener Attributpfad in einem dynamischen Attributspeicher verweist.

    Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamic Schema.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    attributePath Zeichenfolge Attributpfad, der zum Suchen des zugehörigen dynamischen Schemaattributs verwendet werden soll.
    Format: „Group_Name->attr_Name“
    • Gruppenname : Name der Gruppe, der das Attribut zugeordnet ist.

      Tabelle: Im Feld Name der Tabelle „dynamische Attributgruppe“ [Dynamic_Attribute_Group] oder im Feld Gruppe der Tabelle „dynamisches Attribut“ [Dynamic_Attribute].

    • attr_Name : Name des dynamischen Attributs innerhalb der dynamischen Gruppe.

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

    Beispiel: „Auto->Farbe“

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

    Wenn attributePathParameter enthält ungültige Informationen, 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(Zeichenfolge attributePath, Objektwert)

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

    Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamic Schema.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    attributePath Zeichenfolge Attributpfad, der zum Suchen des zugehörigen dynamischen Schemaattributs verwendet werden soll.
    Format: „Group_Name->attr_Name“
    • Gruppenname : Name der Gruppe, der das Attribut zugeordnet ist.

      Tabelle: Im Feld Name der Tabelle „dynamische Attributgruppe“ [Dynamic_Attribute_Group] oder im Feld Gruppe der Tabelle „dynamisches Attribut“ [Dynamic_Attribute].

    • attr_Name : Name des dynamischen Attributs innerhalb der dynamischen Gruppe.

      Tabelle: Im Feld Name der Tabelle „dynamisches Attribut“ [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)
    • Dezimal
    • Gleitkommazahl
    • GlideDate
    • GlideDateTime
    • Ganzzahl
    • Zeichenfolge
    Tabelle : 12. Ergebnisse
    Typ Beschreibung
    GlideElementDynamicAttributeStore Gibt ein GlideElementDynamicAttributeStore-Objekt zurück, das den angegebenen Wert enthält.

    Wenn groupAttributePathParameter enthält ungültige Informationen, das Attribut wurde 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 Werte fest, die im übergebenen GlideElementDynamicAttrbuteStore-Objekt im dynamischen Attributspeicher des aktuellen GlideRecord-Elements angegeben sind. Der Datentyp des aktuellen Elements muss auf festgelegt werden Dynamischer Attributspeicher .

    Weitere Informationen zu dynamischen Attributen finden Sie unter Dynamic Schema.

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    Werte GlideDynamicAttributeStore Objekt, das die Werte enthält, die im dynamischen Schema des aktuellen Elements festgelegt werden sollen. Werte, die in diesem Objekt nicht angegeben sind, werden nicht aktualisiert.
    Tabelle : 14. Rückgaben
    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();

    Dieses Codebeispiel fügt Folgendes in die Spalte u_inc_Dynamic_Schema ein:

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

    GlideElementDynamicAttributeStore – setDynamicAttributeDisplayValue(Zeichenfolge attributePath)

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

    Tabelle : 15. Parameter
    Name Typ Beschreibung
    attributePath Zeichenfolge Attributpfad, der zum Suchen des zugehörigen dynamischen Schemaattributs verwendet werden soll.
    Format: „Group_Name->attr_Name“
    • Gruppenname : Name der Gruppe, der das Attribut zugeordnet ist.

      Tabelle: Im Feld Name der Tabelle „dynamische Attributgruppe“ [Dynamic_Attribute_Group] oder im Feld Gruppe der Tabelle „dynamisches Attribut“ [Dynamic_Attribute].

    • attr_Name : Name des dynamischen Attributs innerhalb der dynamischen Gruppe.

      Tabelle: Im Feld Name der Tabelle „dynamisches Attribut“ [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)
    • Dezimal
    • Gleitkommazahl
    • GlideDate
    • GlideDateTime
    • Ganzzahl
    • Zeichenfolge
    Tabelle : 16. Rückgaben
    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 Anzeigewerte fest, die im übergebenen GlideDynamicAttrbuteStore-Objekt in den dynamischen Attributen des aktuellen GlideRecord-Elements angegeben sind. Der Datentyp des aktuellen Elements muss auf festgelegt werden Dynamischer Attributspeicher In der zugehörigen Tabelle.

    Tabelle : 17. 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 Attribut enthalten, das gespeichert werden soll.
    Zum Beispiel:
    {
      "car":{
        "color":"Blue",
        "make":"Ford",
        "model":"Mustang"
      }
    }
    Tabelle : 18. Rückgaben
    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();
    }