GlideDynamicAttribute : global

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 8 minutes de lecture
  • L’API GlideDynamicAttribute permet d’accéder aux métadonnées d’attributs dynamiques.

    Cette API fournit des méthodes qui vous permettent d’obtenir des valeurs de schéma dynamique définies dans la table Attribut dynamique [dynamic_attribute]. Les attributs dynamiques ont un type de données défini et un sys_id. Pour plus de détails sur les attributs dynamiques, voir Schéma dynamique.

    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.

    GlideAggregate : global méthodes utilisables avec un schéma dynamique :
    • addAggregate()
    • addHaving()
    • getDynamicAttributeValue()
    • getDynamicAttributeDisplayValue()
    • getValue()
    • groupBy()
    • orderBy()
    • orderByAggregate()
    GlideRecord : global méthodes utilisables avec un schéma dynamique :
    • addQuery()
    • getDisplayValue()
    • getDynamicAttribute()
    • getDynamicAttributeDisplayValue()
    • getDynamicAttributeValue()
    • getValue()
    • orderBy()
    • orderByDesc()
    • setDisplayValue()
    • setDynamicAttributeDisplayValue()
    • setDynamicAttributeValue()
    • setDynamicAttributeValues()
    • setValue()

    GlideDynamicAttribute : getGroupName()

    Obtient la valeur de la propriété de nom de groupe d’un objet d’attribut dynamique.

    À partir de la version Zurich, les groupes dynamiques ont été supprimés du schéma dynamique. Pour les attributs dynamiques définis avec un groupe d’attributs dynamiques associé avant la version Zurich, cette méthode continue de fonctionner pour la rétrocompatibilité. Les clients sont invités à migrer vers les définitions d’attributs dynamiques actuelles pour tirer parti des améliorations futures des fonctionnalités et des fonctionnalités.

    Pour plus d’informations sur la migration, consultez l’article Guide de migration du schéma dynamique Zurich [KB2146133] dans la base de connaissances Now Support.
    Remarque :
    Cette méthode renvoie null pour les attributs migrés et les attributs nouvellement créés.

    Vous pouvez utiliser des attributs dynamiques dans des catégories dynamiques pour simplifier l’administration et améliorer l’expérience utilisateur du schéma dynamique. Pour plus d'informations, consultez Working with Dynamic Schema.

    Tableau 1. Paramètres
    Nom Type Description
    Néant
    Tableau 2. Renvoie
    Type Description
    Chaîne Valeur de la propriété nom de groupe de l’attribut dynamique.

    Dans l’exemple suivant, la valeur du nom du groupe d’objets d’attribut dynamique s’affiche sous la forme d’un a.

    var das = new GlideDynamicAttributeStore();
    das.setDynamicAttributeValue('a->b', 5);    // transient (adding here)
    das.setDynamicAttributeValue('a->c', 10);   // defined in dynamic_attribute table
    
    var attributes = das.getDynamicAttributes();
    gs.info(attributes);
    
    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
    	
        gs.info("");
        gs.info("[" + i + "].getPath()      = " + attr.getPath());
        gs.info("[" + i + "].getName()      = " + attr.getName());
        gs.info("[" + i + "].getGroupName() = " + attr.getGroupName());
        gs.info("[" + i + "].isTransient()  = " + attr.isTransient());
        gs.info("[" + i + "].getType()      = " + attr.getType());
    }

    Sortie :

    *** Script: a->c,a->b
    *** Script: 
    *** Script: [0].getPath()      = a->c
    *** Script: [0].getName()      = c
    *** Script: [0].getGroupName() = a
    *** Script: [0].isTransient()  = false
    *** Script: [0].getType()      = integer
    *** Script: 
    *** Script: [1].getPath()      = a->b
    *** Script: [1].getName()      = b
    *** Script: [1].getGroupName() = a
    *** Script: [1].isTransient()  = true
    *** Script: [1].getType()      = string

    GlideDynamicAttribute : getName()

    Obtient la valeur de la propriété de nom d’un objet d’attribut dynamique.

    Tableau 3. Paramètres
    Nom Type Description
    Néant
    Tableau 4. Renvoie
    Type Description
    Chaîne Valeur de la propriété de nom de l’attribut dynamique.

    L’exemple suivant montre comment renvoyer la valeur du nom d’objet d’attribut dynamique.

    var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
    used_car.setDynamicAttributeValue('mfg_year', 2014);       // transient (adding here)
    used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table
    
    var attributes = used_car.getDynamicAttributes();
    gs.info(attributes);
    
    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
        gs.info("");
        gs.info("[" + i + "].getPath()           = " + attr.getPath());
        gs.info("[" + i + "].getName()           = " + attr.getName());
        gs.info("[" + i + "].getNamespaceName()  = " + attr.getNamespaceName());
        gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
        gs.info("[" + i + "].isTransient()       = " + attr.isTransient());
        gs.info("[" + i + "].getType()           = " + attr.getType());
    }

    Sortie :

    *** Script: mfg_year,u_total_miles
    *** Script: 
    *** Script: [0].getPath()           = mfg_year
    *** Script: [0].getName()           = mfg_year
    *** Script: [0].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
    *** Script: [0].isTransient()       = true
    *** Script: [0].getType()           = string
    *** Script: 
    *** Script: [1].getPath()           = u_total_miles
    *** Script: [1].getName()           = u_total_miles
    *** Script: [1].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
    *** Script: [1].isTransient()       = false
    *** Script: [1].getType()           = integer

    GlideDynamicAttribute : getNamespacedName()

    Obtient le nom d’un attribut dynamique dans son espace de noms.

    Tableau 5. Paramètres
    Nom Type Description
    Néant
    Tableau 6. Renvoie
    Type Description
    Chaîne Nom de l’attribut dynamique dans son espace de noms.

    Format : namespace_name/attribute_name

    L’exemple suivant montre comment renvoyer le nom de l’attribut dynamique dans un espace de noms appelé u_product/u_car_inventory.

    var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
    used_car.setDynamicAttributeValue('mfg_year', 2014);       // transient (adding here)
    used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table
    
    var attributes = used_car.getDynamicAttributes();
    gs.info(attributes);
    
    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
        gs.info("");
        gs.info("[" + i + "].getPath()           = " + attr.getPath());
        gs.info("[" + i + "].getName()           = " + attr.getName());
        gs.info("[" + i + "].getNamespaceName()  = " + attr.getNamespaceName());
        gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
        gs.info("[" + i + "].isTransient()       = " + attr.isTransient());
        gs.info("[" + i + "].getType()           = " + attr.getType());
    }

    Sortie :

    *** Script: mfg_year,u_total_miles
    *** Script: 
    *** Script: [0].getPath()           = mfg_year
    *** Script: [0].getName()           = mfg_year
    *** Script: [0].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
    *** Script: [0].isTransient()       = true
    *** Script: [0].getType()           = string
    *** Script: 
    *** Script: [1].getPath()           = u_total_miles
    *** Script: [1].getName()           = u_total_miles
    *** Script: [1].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
    *** Script: [1].isTransient()       = false
    *** Script: [1].getType()           = integer

    GlideDynamicAttribute : getNamespaceName()

    Obtient le nom d’un espace de noms d’attribut dynamique.

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

    L’exemple suivant montre comment renvoyer l’espace de noms de l’attribut dynamique u_product/u_car_inventory.

    var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
    used_car.setDynamicAttributeValue('mfg_year', 2014);       // transient (adding here)
    used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table
    
    var attributes = used_car.getDynamicAttributes();
    gs.info(attributes);
    
    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
        gs.info("");
        gs.info("[" + i + "].getPath()           = " + attr.getPath());
        gs.info("[" + i + "].getName()           = " + attr.getName());
        gs.info("[" + i + "].getNamespaceName()  = " + attr.getNamespaceName());
        gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
        gs.info("[" + i + "].isTransient()       = " + attr.isTransient());
        gs.info("[" + i + "].getType()           = " + attr.getType());
    }

    Sortie :

    *** Script: mfg_year,u_total_miles
    *** Script: 
    *** Script: [0].getPath()           = mfg_year
    *** Script: [0].getName()           = mfg_year
    *** Script: [0].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
    *** Script: [0].isTransient()       = true
    *** Script: [0].getType()           = string
    *** Script: 
    *** Script: [1].getPath()           = u_total_miles
    *** Script: [1].getName()           = u_total_miles
    *** Script: [1].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
    *** Script: [1].isTransient()       = false
    *** Script: [1].getType()           = integer

    GlideDynamicAttribute : getPath()

    Obtient la valeur de la propriété path d’un objet d’attribut dynamique.

    Tableau 9. Paramètres
    Nom Type Description
    Néant
    Tableau 10. Renvoie
    Type Description
    Chaîne Valeur du chemin d’accès de l’attribut dynamique.

    L’exemple suivant montre comment renvoyer la valeur du chemin de l’objet d’attribut dynamique.

    var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
    used_car.setDynamicAttributeValue('mfg_year', 2014);       // transient (adding here)
    used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table
    
    var attributes = used_car.getDynamicAttributes();
    gs.info(attributes);
    
    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
        gs.info("");
        gs.info("[" + i + "].getPath()           = " + attr.getPath());
        gs.info("[" + i + "].getName()           = " + attr.getName());
        gs.info("[" + i + "].getNamespaceName()  = " + attr.getNamespaceName());
        gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
        gs.info("[" + i + "].isTransient()       = " + attr.isTransient());
        gs.info("[" + i + "].getType()           = " + attr.getType());
    }

    Sortie :

    *** Script: mfg_year,u_total_miles
    *** Script: 
    *** Script: [0].getPath()           = mfg_year
    *** Script: [0].getName()           = mfg_year
    *** Script: [0].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
    *** Script: [0].isTransient()       = true
    *** Script: [0].getType()           = string
    *** Script: 
    *** Script: [1].getPath()           = u_total_miles
    *** Script: [1].getName()           = u_total_miles
    *** Script: [1].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
    *** Script: [1].isTransient()       = false
    *** Script: [1].getType()           = integer

    GlideDynamicAttribute : getType()

    Obtient la valeur de la propriété type d’un objet d’attribut dynamique.

    Tableau 11. Paramètres
    Nom Type Description
    Néant
    Tableau 12. Renvoie
    Type Description
    Chaîne Valeur du type de données de l’attribut dynamique.

    Dans l’exemple suivant, la valeur du type d’objet d’attribut dynamique s’affiche sous forme de chaîne pour l’attribut transitoire et de nombre entier pour l’attribut non transitoire.

    var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
    used_car.setDynamicAttributeValue('mfg_year', 2014);       // transient (adding here)
    used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table
    
    var attributes = used_car.getDynamicAttributes();
    gs.info(attributes);
    
    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
        gs.info("");
        gs.info("[" + i + "].getPath()           = " + attr.getPath());
        gs.info("[" + i + "].getName()           = " + attr.getName());
        gs.info("[" + i + "].getNamespaceName()  = " + attr.getNamespaceName());
        gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
        gs.info("[" + i + "].isTransient()       = " + attr.isTransient());
        gs.info("[" + i + "].getType()           = " + attr.getType());
    }

    Sortie :

    *** Script: mfg_year,u_total_miles
    *** Script: 
    *** Script: [0].getPath()           = mfg_year
    *** Script: [0].getName()           = mfg_year
    *** Script: [0].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
    *** Script: [0].isTransient()       = true
    *** Script: [0].getType()           = string
    *** Script: 
    *** Script: [1].getPath()           = u_total_miles
    *** Script: [1].getName()           = u_total_miles
    *** Script: [1].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
    *** Script: [1].isTransient()       = false
    *** Script: [1].getType()           = integer

    GlideDynamicAttribute : isTransient()

    Indique si un objet est un attribut dynamique transitoire.

    Tableau 13. Paramètres
    Nom Type Description
    Néant
    Tableau 14. Renvoie
    Type Description
    Booléen Marqueur indiquant si un attribut dynamique est transitoire.
    Valeurs valides :
    • vrai : l’attribut dynamique est transitoire. Les attributs dynamiques sont définis dans la table Attribut dynamique [dynamic_attribute] avec un type de données et un sys_id. Consultez GlideDynamicAttribute.
    • false : l’attribut dynamique n’est pas transitoire. Les attributs dynamiques transitoires sont des attributs dynamiques qui ont été ajoutés à un champ DynamicAttributeStore sans définition dans la table Attribut dynamique [dynamic_attribute]. Les attributs dynamiques transitoires sont traités comme des chaînes et n’ont pas de sys_id.

    Dans l’exemple suivant, la méthode isTransient() renvoie false pour l’objet non transitoire.

    var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
    used_car.setDynamicAttributeValue('mfg_year', 2014);       // transient (adding here)
    used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table
    
    var attributes = used_car.getDynamicAttributes();
    gs.info(attributes);
    
    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
        gs.info("");
        gs.info("[" + i + "].getPath()           = " + attr.getPath());
        gs.info("[" + i + "].getName()           = " + attr.getName());
        gs.info("[" + i + "].getNamespaceName()  = " + attr.getNamespaceName());
        gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
        gs.info("[" + i + "].isTransient()       = " + attr.isTransient());
        gs.info("[" + i + "].getType()           = " + attr.getType());
    }

    Sortie :

    *** Script: mfg_year,u_total_miles
    *** Script: 
    *** Script: [0].getPath()           = mfg_year
    *** Script: [0].getName()           = mfg_year
    *** Script: [0].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
    *** Script: [0].isTransient()       = true
    *** Script: [0].getType()           = string
    *** Script: 
    *** Script: [1].getPath()           = u_total_miles
    *** Script: [1].getName()           = u_total_miles
    *** Script: [1].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
    *** Script: [1].isTransient()       = false
    *** Script: [1].getType()           = integer