GlideElementDynamicAttributeStore : global

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 7 minutes de lecture
  • L’API GlideElementDynamicAttributeStore fournit des méthodes de script pratiques pour gérer les attributs dynamiques dans l’enregistrement Glide actuel. Utilisez ces méthodes conjointement avec l’API GlideRecord pour obtenir et définir des valeurs d’attributs dynamiques définies.

    Pour utiliser cette API et créer des attributs dynamiques, vous devez disposer du rôle dynamic_schema_writer. Pour lire des données dynamiques à l’aide de cette API, vous devez disposer du rôle dynamic_schema_reader.

    Cette API étend l’API GlideElement : global .

    Voir aussi Dynamic Schema.

    GlideElementDynamicAttributeStore : getDynamicAttributeDisplayValue(String attributePath)

    Renvoie la valeur d’affichage de l’attribut dynamique situé à un chemin d’accès d’attribut spécifié dans un magasin d’attributs dynamiques. Si une valeur d’affichage n’est pas disponible, elle renvoie la valeur interne.

    Tableau 1. Paramètres
    Nom Type Description
    attributePath Chaîne Chemin d’accès d’attribut à utiliser pour localiser l’attribut de schéma dynamique associé.

    Format : « attr_name »

    attr_name : nom de l’attribut dynamique.

    Table : dans le champ Attribut de la table Attribut dynamique [dynamic_attribute].

    Tableau 2. Renvoie
    Type Description
    Objet Valeur de l’attribut dynamique associé au format lisible par l’homme.

    Si le attributePath paramètre contient des informations non valides, renvoie une valeur null.

    L’exemple de code suivant montre comment appeler cette méthode.

    //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->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->luxury');
        gs.info(attr);
    }

    GlideElementDynamicAttributeStore : getDynamicAttributePathsInSchema()

    Renvoie l’ensemble des chemins d’accès d’attributs dynamiques présents dans le schéma configuré pour le magasin.

    Tableau 3. Paramètres
    Nom Type Description
    Néant
    Tableau 4. Renvoie
    Type Description
    Tableau Tableau de chemins d’accès d’attributs sous forme de chaînes.

    L’exemple suivant montre comment renvoyer les chemins d’attributs dynamiques présents dans le schéma et configurés pour le magasin.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.get('number', 'INC0009009');
    gs.info(gr_Inc.inc_dynamic_schema.getDynamicAttributePathsInSchema());

    Sortie :

    number,short_description,active

    GlideElementDynamicAttributeStore : getDynamicAttributePathsInStore()

    Renvoie l’ensemble des chemins d’accès d’attributs dynamiques présents dans le magasin.

    Tableau 5. Paramètres
    Nom Type Description
    Néant
    Tableau 6. Renvoie
    Type Description
    Tableau Tableau de chemins d’accès d’attributs sous forme de chaînes.

    L’exemple suivant montre comment renvoyer les chemins d’accès d’attributs dynamiques présents dans le magasin.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.get('number', 'INC0009009');
    gs.info(gr_Inc.inc_dynamic_schema.getDynamicAttributePathsInStore());

    Sortie :

    severity,number,opened_at,short_description,urgency,opened_by,impact,active,description,state,priority

    GlideElementDynamicAttributeStore : getDynamicAttributesInStore()

    Renvoie l’ensemble des définitions d’attributs dynamiques présentes et stockées dans un champ.

    Tableau 7. Paramètres
    Nom Type Description
    Néant
    Tableau 8. Renvoie
    Type Description
    Tableau Tableau d’objets GlideDynamicAttribute .

    L’exemple suivant montre comment récupérer le contenu d’un attribut dynamique stocké, répertorier les attributs qu’il a stockés et les attributs dans son schéma.

    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");

    Sortie :

    *** Script: Store Contents:
    {
      {
        "b": "hello world"
      },
      {
        "integer1": "5"
      },
      {
        "integer1": "10",
        "string1": "hello"
      }
    }
    
    *** Script: Attributes in Store: b,integer1,integer1,string1
    
    *** Script: Attributes in Schema:
    integer1,string1,integer1

    GlideElementDynamicAttributeStore : getDynamicAttributesInSchema()

    Renvoie l’ensemble des définitions d’attributs dynamiques pointés dans le schéma.

    Tableau 9. Paramètres
    Nom Type Description
    Néant
    Tableau 10. Renvoie
    Type Description
    Tableau Tableau d’objets GlideDynamicAttribute .

    L’exemple suivant montre comment récupérer le contenu d’un attribut dynamique stocké, répertorier les attributs qu’il a stockés et les attributs dans son schéma.

    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");

    Sortie :

    *** Script: Store Contents:
    {
      {
        "b": "hello world"
      },
      {
        "integer1": "5"
      },
      {
        "integer1": "10",
        "string1": "hello"
      }
    }
    
    *** Script: Attributes in Store: b,integer1,integer1,string1
    
    *** Script: Attributes in Schema:
    integer1,string1,integer1

    GlideElementDynamicAttributeStore : getDynamicAttributeValue(String attributePath)

    Renvoie la valeur interne de l’attribut dynamique pointé par un chemin d’attribut transmis dans un magasin d’attributs dynamiques.

    Voir aussi Dynamic Schema.

    Tableau 11. Paramètres
    Nom Type Description
    attributePath Chaîne Chemin d’accès d’attribut à utiliser pour localiser l’attribut de schéma dynamique associé.

    Format : « attr_name »

    attr_name : nom de l’attribut dynamique.

    Table : dans le champ Attribut de la table Attribut dynamique [dynamic_attribute].

    Tableau 12. Renvoie
    Type Description
    Objet Valeur de l’attribut dynamique pointé par le chemin d’attribut transmis.

    Si le attributePath paramètre contient des informations non valides, renvoie une valeur null.

    L’exemple de code suivant montre comment appeler cette méthode.

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

    GlideElementDynamicAttributeStore : getDynamicNamespace()

    Renvoie un espace de noms dynamique configuré pour le magasin.

    Tableau 13. Paramètres
    Nom Type Description
    Néant
    Tableau 14. Renvoie
    Type Description
    Espace de noms IDynamic Informations sur l’objet d’espace de noms dynamique.

    L’exemple suivant montre comment renvoyer l’objet d’espace de noms dynamique configuré pour le magasin.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.query();
    if (gr_Inc.next()) {
        var namespace = gr_Inc.inc_dynamic_schema.getDynamicNamespace();
     
        gs.info("toString:    " + namespace);
        gs.info("name:        " + namespace.getName());
        gs.info("isActive:    " + namespace.isActive());
        gs.info("isTransient: " + namespace.isTransient());
    }

    Sortie :

    toString:    incident/inc_dynamic_schema
    name:        incident/inc_dynamic_schema
    isActive:    true
    isTransient: false

    GlideElementDynamicAttributeStore : getDynamicNamespaceNamename()

    Obtient le nom de l’espace de noms dynamique configuré pour le magasin.

    Tableau 15. Paramètres
    Nom Type Description
    Néant
    Tableau 16. Renvoie
    Type Description
    Chaîne Nom de l’espace de noms dynamique.

    L’exemple suivant montre comment renvoyer le nom de l’espace de noms dynamique configuré pour le magasin.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.query();
    if (gr_Inc.next()) {
        gs.info(gr_Inc.inc_dynamic_schema.getDynamicNamespaceName());
    }

    Sortie :

    incident/inc_dynamic_schema

    GlideElementDynamicAttributeStore : setDynamicAttributeValue(String attributePath, valeur d’objet)

    Définit l’attribut pointé par un chemin d’attribut spécifié dans un magasin d’attributs dynamiques sur une valeur spécifiée.

    Voir aussi Dynamic Schema.

    Tableau 17. Paramètres
    Nom Type Description
    attributePath Chaîne Chemin d’accès d’attribut à utiliser pour localiser l’attribut de schéma dynamique associé.

    Format : « attr_name »

    attr_name : nom de l’attribut dynamique.

    Table : dans le champ Attribut de la table Attribut dynamique [dynamic_attribute].

    valide Objet Valeur à définir dans l’attribut spécifié.
    Remarque :
    Pour les attributs dynamiques, seuls les types de données suivants sont pris en charge :
    • Booléen (vrai/faux)
    • Décimal
    • Nombre à virgule flottante
    • Date GlideDate
    • GlideDateTime
    • Entier
    • Chaîne
    Tableau 18. Renvoie
    Type Description
    Magasin GlideElementDynamicAttributeStore Renvoie un objet GlideElementDynamicAttributeStore contenant la valeur spécifiée.

    Si le attributePath paramètre contient des informations non valides, l’attribut n’est pas mis à jour.

    L’exemple de code suivant montre comment appeler cette méthode.

    //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->make', 'Ford');
    gr_Inc.insert();

    GlideElementDynamicAttributeStore : setDynamicAttributeValues(valeurs GlideDynamicAttributeStore)

    Définit les valeurs spécifiées dans l’objet GlideElementDynamicAttributeStore transmis dans le magasin d’attributs dynamiques de l’élément GlideRecord actuel. Le type de données de l’élément actuel doit être défini sur Magasin d’attributs dynamiques.

    Voir aussi Dynamic Schema.

    Tableau 19. Paramètres
    Nom Type Description
    valeurs Magasin GlideDynamicAttributeStore Objet contenant les valeurs à définir dans le schéma dynamique de l’élément actuel. Les valeurs non spécifiées dans cet objet ne sont pas mises à jour.
    Tableau 20. Renvoie
    Type Description
    Magasin GlideElementDynamicAttributeStore Objet GlideElementDynamicAttributeStore mis à jour.

    L’exemple de code suivant montre comment appeler cette méthode.

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

    Cet exemple de code insère ce qui suit dans la colonne u_inc_dynamic_schema :

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

    GlideElementDynamicAttributeStore : setDynamicAttributeDisplayValue(String attributePath)

    Définit la valeur d’affichage de l’attribut dynamique situé sur un chemin d’accès spécifié dans la banque d’attributs dynamiques de l’élément GlideRecord actuel.

    Tableau 21. Paramètres
    Nom Type Description
    attributePath Chaîne Chemin d’accès d’attribut à utiliser pour localiser l’attribut de schéma dynamique associé.

    Format : « attr_name »

    attr_name : nom de l’attribut dynamique.

    Table : dans le champ Attribut de la table Attribut dynamique [dynamic_attribute].

    valide Objet Valeur à définir dans l’élément d’attribut dynamique actuel.
    La valeur transmise doit être de l’un des types de données suivants :
    • Booléen (vrai/faux)
    • Décimal
    • Nombre à virgule flottante
    • Date GlideDate
    • GlideDateTime
    • Entier
    • Chaîne
    Tableau 22. Renvoie
    Type Description
    Magasin GlideElementDynamicAttributeStore Objet contenant l’élément Glide mis à jour.

    L’exemple de code suivant montre comment appeler cette méthode.

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

    Sortie :

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

    L’exemple de code suivant montre comment une valeur d’affichage booléenne est stockée sous la forme « 1 », mais est renvoyée sous la forme « vrai ».

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

    Valeur renvoyée :

    {
      "u_luxury" : "true"
    }

    GlideElementDynamicAttributeStore : setDynamicAttributeDisplayValues(valeurs GlideDynamicAttributeStore)

    Définit les valeurs d’affichage spécifiées dans l’objet GlideDynamicAttributeStore transmis dans les attributs dynamiques de l’élément GlideRecord actuel. Le type de données de l’élément actuel doit être défini sur Magasin d’attributs dynamiques dans la table associée.

    Tableau 23. Paramètres
    Nom Type Description
    valeurs Magasin GlideDynamicAttributeStore Objet contenant les valeurs d’affichage à définir dans le magasin d’attributs dynamiques de l’élément actuel. Les valeurs d’affichage non spécifiées dans cet objet ne sont pas mises à jour. Cet objet doit contenir à la fois le chemin d’accès de l’attribut et la valeur d’affichage de chaque attribut à stocker.
    Par exemple :
    {
      "color":"Blue",
      "make":"Ford",
      "model":"Mustang"
    }
    Tableau 24. Renvoie
    Type Description
    Magasin GlideElementDynamicAttributeStore Objet contenant l’élément Glide mis à jour.

    L’exemple de code suivant montre comment appeler cette méthode.

    var daStore = new GlideDynamicAttributeStore();
    daStore.setDynamicAttributeValue('make', 'Ford');
    daStore.setDynamicAttributeValue('model', 'Mustang');
    daStore.setDynamicAttributeValue('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();
    }

    Sortie :

    daStore: {"color":"Blue","model":"Mustang","make":"Ford"}