---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideElementDynamicAttributeStore - Global

# GlideElementDynamicAttributeStore - Global {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 6 min. de leitura

A API GlideElementDynamicAttributeStore fornece métodos de script convenientes para gerenciar atributos dinâmicos no registro do Glide atual. Use esses métodos em conjunto com a API GlideRecord para obter e definir valores de atributo dinâmico definidos.

Para usar esta API para criar atributos dinâmicos, você deve ter a função dynamic_schema_writer. Para ler dados dinâmicos usando esta API, você deve ter a função dynamic_schema_reader.

Esta API estende a [GlideElement - Global](https://servicenow-prod.fluidtopics.net/owvT3dLZhW8ySmhvNQanDA#c_GlideElementAPI "A API GlideElement fornece vários métodos de script convenientes para lidar com campos e seus valores. Os métodosGlideElement estão disponíveis para os campos do registro do Glide atual.") API.

Para obter mais informações sobre atributos dinâmicos, consulte [Dynamic Schema](https://www.servicenow.com/docs/access?context=dynamic-schema&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US).

## GlideElementDynamicAttributeStore -- getDynamicAttribute(cadeia de caracteres attributePath) {#ariaid-title2}

Retorna um objeto GlideElementDynamicAttribute que representa o atributo dinâmico localizado no caminho de atributo dinâmico especificado.
{#GEDAS-getDynamicAttribute_S__table_gzs_jld_bbc__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| attributePath | Cadeia de caracteres | Caminho do atributo a ser usado para localizar o atributo de esquema dinâmico associado. Formato: `"group_name->attr_name"` * `group_name`: nome do grupo ao qual o atributo está associado. Localizado no campo Nome da tabela Grupo de atributos dinâmicos \[dynamic_attribute_group\] ou no campo Grupo da tabela Atributos dinâmicos \[dynamic_attribute\]. * `attr_name`: nome do atributo dinâmico no grupo dinâmico. Localizado no campo Nome da tabela Atributo dinâmico \[dynamic_attribute\]. Por exemplo: `"carro->cor"` |
[Tabela 1. Parâmetros]

{#GEDAS-getDynamicAttribute_S__table_gzs_jld_bbc} {#GEDAS-getDynamicAttribute_S__table_hzs_jld_bbc__entry__2}

| Tipo | Descrição |
|-|-|
| GlideElementDynamicAttribute | Objeto que contém os atributos dinâmicos especificados. Se o parâmetro attributePath contiver informações inválidas, retornará um valor nulo. |
[Tabela 2. Retorna]

{#GEDAS-getDynamicAttribute_S__table_hzs_jld_bbc}  
O exemplo de código a seguir mostra como chamar este método.

    //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(cadeia de caracteres attributePath) {#ariaid-title3}

Retorna o valor de exibição do atributo dinâmico localizado em um caminho de atributo especificado em um armazenamento de atributo dinâmico. Se um valor de exibição não estiver disponível, ele retornará o valor interno.
{#GEDAS-getDynamicAttributeDisplayValue_S__table_zn3_1md_bbc__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| attributePath | Cadeia de caracteres | Caminho do atributo a ser usado para localizar o atributo de esquema dinâmico associado. Formato: `"group_name->attr_name"` * `group_name`: nome do grupo ao qual o atributo está associado. Localizado no campo Nome da tabela Grupo de atributos dinâmicos \[dynamic_attribute_group\] ou no campo Grupo da tabela Atributos dinâmicos \[dynamic_attribute\]. * `attr_name`: nome do atributo dinâmico no grupo dinâmico. Localizado no campo Nome da tabela Atributo dinâmico \[dynamic_attribute\]. Por exemplo: `"carro->cor"` |
[Tabela 3. Parâmetros]

{#GEDAS-getDynamicAttributeDisplayValue_S__table_zn3_1md_bbc} {#GEDAS-getDynamicAttributeDisplayValue_S__table_a43_1md_bbc__entry__2}

| Tipo | Descrição |
|-|-|
| Objeto | Valor do atributo dinâmico associado em formato legível. Se o parâmetro attributePath contiver informações inválidas, retornará um valor nulo. |
[Tabela 4. Retorna]

{#GEDAS-getDynamicAttributeDisplayValue_S__table_a43_1md_bbc}  
O exemplo de código a seguir mostra como chamar este método.

    //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(cadeia de caracteres attributePath) {#ariaid-title4}

Retorna o valor interno do atributo dinâmico apontado por um caminho de atributo passado em um armazenamento de atributo dinâmico.
Para obter mais informações sobre atributos dinâmicos, consulte [Dynamic Schema](https://www.servicenow.com/docs/access?context=dynamic-schema&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US).
{#GEDAS-getDynamicAttributeValue_S__table_tnp_rld_bbc__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| attributePath | Cadeia de caracteres | Caminho do atributo a ser usado para localizar o atributo de esquema dinâmico associado. Formato: `"group_name->attr_name"` * `group_name`: nome do grupo ao qual o atributo está associado. Localizado no campo Nome da tabela Grupo de atributos dinâmicos \[dynamic_attribute_group\] ou no campo Grupo da tabela Atributos dinâmicos \[dynamic_attribute\]. * `attr_name`: nome do atributo dinâmico no grupo dinâmico. Localizado no campo Nome da tabela Atributo dinâmico \[dynamic_attribute\]. Por exemplo: `"carro->cor"` |
[Tabela 5. Parâmetros]

{#GEDAS-getDynamicAttributeValue_S__table_tnp_rld_bbc} {#GEDAS-getDynamicAttributeValue_S__table_unp_rld_bbc__entry__2}

| Tipo | Descrição |
|-|-|
| Objeto | Valor do atributo dinâmico apontado pelo caminho do atributo passado. Se o parâmetro attributePath contiver informações inválidas, retornará um valor nulo. |
[Tabela 6. Retorna]

{#GEDAS-getDynamicAttributeValue_S__table_unp_rld_bbc}  
O exemplo de código a seguir mostra como chamar este método.

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

Saída:


    *** Script: 1

## GlideElementDynamicAttributeStore - setDynamicAttributeValue(cadeia de caracteres attributePath, valor de objeto) {#ariaid-title5}

Define o atributo apontado por um caminho de atributo especificado em um armazenamento de atributo dinâmico para um valor especificado.
Para obter mais informações sobre atributos dinâmicos, consulte [Dynamic Schema](https://www.servicenow.com/docs/access?context=dynamic-schema&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US).
{#GEDAS-setDynamicAttributeValue_S__table_aj2_vmd_bbc__entry__3}{#GEDAS-setDynamicAttributeValue_S__DynS-value-entry}

| Nome | Tipo | Descrição |
|-|-|-|
| attributePath | Cadeia de caracteres | Caminho do atributo a ser usado para localizar o atributo de esquema dinâmico associado. Formato: `"group_name->attr_name"` * `group_name`: nome do grupo ao qual o atributo está associado. Localizado no campo Nome da tabela Grupo de atributos dinâmicos \[dynamic_attribute_group\] ou no campo Grupo da tabela Atributos dinâmicos \[dynamic_attribute\]. * `attr_name`: nome do atributo dinâmico no grupo dinâmico. Localizado no campo Nome da tabela Atributo dinâmico \[dynamic_attribute\]. Por exemplo: `"carro->cor"` |
| valor | Objeto | Valor a ser definido no atributo especificado. Nota: Para atributos dinâmicos, somente os seguintes tipos de dados são compatíveis: * Booliano (verdadeiro/falso) * Decimal * Número de ponto flutuante * GlideDate * GlideDateTime * Inteiro * Cadeia de caracteres |
[Tabela 7. Parâmetros]

{#GEDAS-setDynamicAttributeValue_S__table_aj2_vmd_bbc} {#GEDAS-setDynamicAttributeValue_S__table_bj2_vmd_bbc__entry__2}

| Tipo | Descrição |
|-|-|
| GlideElementDynamicAttributeStore | Retorna um objeto GlideElementDynamicAttributeStore que contém o valor especificado. Se o parâmetro groupAttributePath contiver informações inválidas, o atributo não será atualizado. |
[Tabela 8. Retorna]

{#GEDAS-setDynamicAttributeValue_S__table_bj2_vmd_bbc}  
O exemplo de código a seguir mostra como chamar este método.

    //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(valores GlideDynamicAttributeStore) {#ariaid-title6}

Define os valores especificados no objeto GlideElementDynamicAttrbuteStore passado no armazenamento de atributos dinâmicos do elemento GlideRecord atual. O tipo de dados do elemento atual deve ser definido como Armazenamento de atributo dinâmico.
Para obter mais informações sobre atributos dinâmicos, consulte [Dynamic Schema](https://www.servicenow.com/docs/access?context=dynamic-schema&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US).
{#GEDAS-setDynamicAttributeValues_O__table_ojl_snd_bbc__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| valores | [GlideDynamicAttributeStore](https://servicenow-prod.fluidtopics.net/afapCiFXz2ilnlQ9iitFWA#GlideDynamicAttStoreAPI "A API GlideDynamicAttributeStore fornece acesso a um novo tipo de dados de armazenamento de atributo dinâmico integrado, semelhante a outros tipos de dados, como cadeia de caracteres, data ou data/hora.") | Objeto que contém os valores a serem definidos no esquema dinâmico do elemento atual. Valores não especificados neste objeto não são atualizados. |
[Tabela 9. Parâmetros]

{#GEDAS-setDynamicAttributeValues_O__table_ojl_snd_bbc} {#GEDAS-setDynamicAttributeValues_O__table_pjl_snd_bbc__entry__2}

| Tipo | Descrição |
|-|-|
| GlideElementDynamicAttributeStore | Objeto GlideElementDynamicAttributeStore atualizado. |
[Tabela 10. Retorna]

{#GEDAS-setDynamicAttributeValues_O__table_pjl_snd_bbc}  
O exemplo de código a seguir mostra como chamar este método.

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

Este exemplo de código insere o seguinte na coluna u_inc_dynamic_schema:

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

## GlideElementDynamicAttributeStore -- setDynamicAttributeDisplayValue(cadeia de caracteres attributePath) {#ariaid-title7}

Define o valor de exibição do atributo dinâmico localizado em um caminho especificado no armazenamento de atributos dinâmicos do elemento GlideRecord atual.
{#GEDAS-setDynAttributeDisplayValue_S__table_bfg_2nd_bbc__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| attributePath | Cadeia de caracteres | Caminho do atributo a ser usado para localizar o atributo de esquema dinâmico associado. Formato: `"group_name->attr_name"` * `group_name`: nome do grupo ao qual o atributo está associado. Localizado no campo Nome da tabela Grupo de atributos dinâmicos \[dynamic_attribute_group\] ou no campo Grupo da tabela Atributos dinâmicos \[dynamic_attribute\]. * `attr_name`: nome do atributo dinâmico no grupo dinâmico. Localizado no campo Nome da tabela Atributo dinâmico \[dynamic_attribute\]. Por exemplo: `"carro->cor"` |
| valor | Objeto | Valor a ser definido no elemento de atributo dinâmico atual. O valor passado deve ser de um dos seguintes tipos de dados: * Booliano (verdadeiro/falso) * Decimal * Número de ponto flutuante * GlideDate * GlideDateTime * Inteiro * Cadeia de caracteres {#GEDAS-setDynAttributeDisplayValue_S__DynS-valid_data_types-ul} |
[Tabela 11. Parâmetros]

{#GEDAS-setDynAttributeDisplayValue_S__table_bfg_2nd_bbc} {#GEDAS-setDynAttributeDisplayValue_S__table_cfg_2nd_bbc__entry__2}

| Tipo | Descrição |
|-|-|
| GlideElementDynamicAttributeStore | Objeto que contém o elemento glide atualizado. |
[Tabela 12. Retorna]

{#GEDAS-setDynAttributeDisplayValue_S__table_cfg_2nd_bbc}  
O exemplo de código a seguir mostra como chamar este método.

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

Saída:

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

O exemplo de código a seguir mostra como um valor de exibição booliano é armazenado como "1", mas é passado de volta como "verdadeiro".

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

Valor retornado:

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

## GlideElementDynamicAttributeStore - setDynamicAttributeDisplayValues(valores GlideDynamicAttributeStore) {#ariaid-title8}

Define os valores de exibição especificados no objeto GlideDynamicAttrbuteStore passado nos atributos dinâmicos do elemento GlideRecord atual. O tipo de dados do elemento atual deve ser definido como Armazenamento de atributo dinâmico na tabela associada.
{#GEDAS-setDynAttributeDisplayValues_O__table_o32_b4d_bbc__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| valores | [GlideDynamicAttributeStore](https://servicenow-prod.fluidtopics.net/afapCiFXz2ilnlQ9iitFWA#GlideDynamicAttStoreAPI "A API GlideDynamicAttributeStore fornece acesso a um novo tipo de dados de armazenamento de atributo dinâmico integrado, semelhante a outros tipos de dados, como cadeia de caracteres, data ou data/hora.") | Objeto que contém os valores de exibição a serem definidos no armazenamento de atributos dinâmicos do elemento atual. Os valores de exibição não especificados neste objeto não são atualizados. Este objeto deve conter o caminho do atributo e o valor de exibição de cada atributo a ser armazenado. Por exemplo: { "car":{ "color":"Blue", "make":"Ford", "model":"Mustang" } } |
[Tabela 13. Parâmetros]

{#GEDAS-setDynAttributeDisplayValues_O__table_o32_b4d_bbc} {#GEDAS-setDynAttributeDisplayValues_O__table_p32_b4d_bbc__entry__2}

| Tipo | Descrição |
|-|-|
| GlideElementDynamicAttributeStore | Objeto que contém o elemento glide atualizado. |
[Tabela 14. Retorna]

{#GEDAS-setDynAttributeDisplayValues_O__table_p32_b4d_bbc}  
O exemplo de código a seguir mostra como chamar este método.

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


