---
sourceDocument: Yokohama Mobile Configuração e navegação
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/yokohama/mobile

 Release :

    - yokohama

ft:locale :

    - pt-BR

ft:publication_title :

    - Yokohama Mobile Configuração e navegação

ft:clusterId :

    - mobile

bundleId :

    - mobile

workflow :

    - Platform


---

# Exemplos de script de fonte de dados

# Exemplos de script de fonte de dados {#ariaid-title1}

* Versão de lançamento: Yokohama
* 
* Atualizado 5 de mar. de 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 6 min. de leitura

Use scripts de fonte de dados para mapear valores de entrada, elementos descritivos e ações de entrada. Como alternativa, crie uma fonte de dados dedicada para cada um desses elementos.
O script da fonte de dados aceita dois parâmetros: <var class="keyword varname">ValoresMapper </var>e. <var class="keyword varname">contexto </var>. O parâmetro de contexto se refere ao formulário de entrada com o qual o usuário está interagindo. . <var class="keyword varname">ValoresMapper </var>o parâmetro é responsável por vincular identificadores de elemento a colunas de tabela específicas por meio de <var class="keyword varname">AddRecordMapping </var>método. Por exemplo, a chamada de método pode ter esta aparência:

    valuesMapper.addRecordMapping(UNIQUE_ELEMENT_IDENTIFIER, GLIDE_RECORD_INSTANCE, COLUMN_NAME);

Nota:  
Todos os scripts listados neste tópico são configurados no registro da fonte de dados. Para obter mais informações, consulte [Configure fontes de dados](https://servicenow-prod.fluidtopics.net/I9qFfsbWaSZuZEBpgteyNg "Configure fontes de dados para mapear elementos de IU para campos de banco de dados específicos usando identificadores de elemento, permitindo a recuperação e a exibição de dados nas telas do formulário de entrada. Este mapeamento verifica se cada elemento de IU reflete com precisão o campo de dados correspondente em um registro.").

## Script de amostra padrão {#data-source-script-examples__section_g31_xvm_p2c}

A seguir está o script de amostra fornecido no Construtor de apps para celular. O script fornece um modelo que mostra como filtrar uma tabela existente e como mapear campos específicos para elementos de IU.

    (function DataSource(valuesMapper, context) {
    var gr = new GlideRecord(TABLE_NAME); // Could be any table within the Instance, including custom tables
    gr.addQuery('sys_id',context.getUniqueValue());
    gr.query();
    if (gr.next()) { // Could also be itetaring muliple records from the same table using the 'while' iterator

        valuesMapper.addRecordMapping('short_description',gr,'short_description'); // Map the field short_description to a UI element that has element identifier of "short_description". The element identifier could be any String, it's easier to map the column's name as the element identifer.

        valuesMapper.addRecordMapping('priority',gr,'priority'); // Map the field priority to a UI element that has element identifier of "priority". The element identifier could be any String, it's easier to map the column's name as the element identifier.

    }
    })(valuesMapper, context);

Este script de amostra contém:

* Os seguintes parâmetros que definem a fonte de dados:
  * <var class="keyword varname">ValoresMapper </var>: Este parâmetro é usado para mapear os valores da fonte de dados para os elementos de IU.
  * <var class="keyword varname">Contexto </var>: Este parâmetro especifica o contexto no qual a fonte de dados está sendo usada, como um incidente, solicitação de mudança ou qualquer outra tabela.
  {#data-source-script-examples__ul_mjx_cwm_p2c}
* . <var class="keyword varname">AddRecordMapping </var>o método é usado para mapear os campos e consiste nos seguintes parâmetros:
  * Identificador de elemento: O nome exclusivo definido para o campo que você está mapeando. No exemplo, isto é `<short description> `e. `<priority> `.
  * Registro do Glide `<gr> `: Isso é usado para fazer referência a qualquer tabela na instância, incluindo tabelas personalizadas.
  * Nome do campo: Este é o nome do campo no registro do Glide. No exemplo, isto é `<short description> `e. `<priority> `.  
    Nota:  
    Uma diretriz geral é nomear o identificador do elemento da mesma forma que o nome do campo, para facilitar a manutenção e a compreensão do código.
  {#data-source-script-examples__ul_lcm_3wm_p2c}
{#data-source-script-examples__ul_wpq_bwm_p2c}

## Script para mapear entradas configuradas no formulário de entrada {#data-source-script-examples__section_cny_nwm_p2c}

A seguir está um exemplo de script que demonstra como o. <var class="keyword varname">Identificador de elemento </var>O atributo de entradas configurado na tabela de atributos \[sys_sg_input_attribute\] é processado. O script contém exemplos de mapeamento de um valor de entrada para uma coluna na tabela de incidentes de cinco entradas nomeadas <var class="keyword varname">entrada_1 </var>, <var class="keyword varname">entrada_2 </var>, <var class="keyword varname">entrada_3 </var>, <var class="keyword varname">entrada_4 </var>, <var class="keyword varname">entrada_5 </var>.

    (function DataSource(valuesMapper, context) {
    var gr = new GlideRecord('incident');
    gr.addQuery('sys_id',context.getUniqueValue());
    gr.query();
    if (gr.next()) {
    // Map the column short_description from the incident table to the elementIdentifier "input_1_short_description".
    valuesMapper.addRecordMapping('input_1_short_description', gr,'short_description'); 

    // Map the column start_time from the incident table to the elementIdentifier "input_2_start_time".
    valuesMapper.addRecordMapping('input_2_start_time',gr,'start_time'); 

    // Map the column score from the incident table to the elementIdentifier "input_3_score".
    valuesMapper.addRecordMapping('input_3_score', gr,'score'); 

    // Map the column assigned_to from the incident table to the elementIdentifier "input_4_assigned_to".
    valuesMapper.addRecordMapping('input_4_assigned_to',gr,'assigned_to');

    // Map the attachment from the record in the incident table to the elementIdentifier "input_5_attachment_1" (The column name must be "sys_id").
    valuesMapper.addRecordMapping('input_5_attachment_1',gr,'sys_id');

     }
    })(valuesMapper, context);

Este código define a função <var class="keyword varname">Fonte de dados </var>Que mapeia colunas específicas do registro da tabela Incidente \[incidente\] para identificadores de elemento correspondentes. O seguinte processo ocorre:

* Cria um <var class="keyword varname">GlideRecord </var>objeto da tabela de incidente \[incidente\].
* Consulta a tabela em busca de um registro com um específico <var class="keyword varname">sys_id </var>usando um valor exclusivo do <var class="keyword varname">contexto </var>.
* Se um registro for encontrado, ele mapeará as seguintes colunas para o identificador de elemento exclusivo correlacionado:
  * <var class="keyword varname">short_description </var>para <var class="keyword varname">input_1_short_description </var>
  * <var class="keyword varname">start_time </var>para <var class="keyword varname">input_2_start_time </var>
  * <var class="keyword varname">pontuação </var>para <var class="keyword varname">input_3_score </var>
  * <var class="keyword varname">assigned_to </var>para <var class="keyword varname">input_4_assigned_to </var>
  * <var class="keyword varname">sys_id </var>para <var class="keyword varname">input_5_attachment_1 </var>
  {#data-source-script-examples__ul_v3n_dxm_p2c}
{#data-source-script-examples__ul_bn5_zwm_p2c}

## Script para mapear elementos descritivos associados a entradas ou seções de entrada no formulário de entrada {#data-source-script-examples__section_u2s_hxm_p2c}

A seguir está um exemplo de script que demonstra como lidar com o. <var class="keyword varname">Identificador de elemento </var>atributo de um elemento descritivo, configurado na tabela elemento descritivo \[ sys_sg_descritive_element\].

    (function DataSource (valuesMapper, context) {
    var gr = new GlideRecord('incident');
    gr.addQuery('sys_id',context.getUniqueValue());
    gr.query();
    if (gr.next()) {
    // Handle descriptive element of type Rich Text. Map to a column named "rich_text_1_col" in the incident table to the elementIdentifier "input_1_rich_text_descriptive_element_id". The col type in the "incident" should be "HTML"
    valuesMapper.addRecordMapping('input_1_rich_text_descriptive_element_id',gr,'rich_text_1_col'); 

    // Handle descriptive element of type Text. Map to a column named "plain_text_1_col" in the incident table to the elementIdentifier "input_1_text_descriptive_element_id". The col type in the "incident" should be "String"/"String (Full UTF-8)"
    valuesMapper.addRecordMapping('input_1_text_descriptive_element_id',gr,'plain_text_1_col'); 

    // Handle descriptive element of type Image. Map to a column named "image_1_col" in the incident table to the elementIdentifier "input_1_image_descriptive_element_id". The col type in the "incident" should be "Image"
    valuesMapper.addRecordMapping('input_1_image_descriptive_element_id',gr,'image_1_col'); 
    }
    })(valuesMapper, context);

Este código define a função <var class="keyword varname">Fonte de dados </var>Que mapeia colunas específicas do registro da tabela Incidente \[incidente\] para identificadores de elemento correspondentes. O seguinte processo ocorre:

* Cria um <var class="keyword varname">GlideRecord </var>objeto da tabela de incidente \[incidente\].
* Consulta a tabela em busca de um registro com um específico <var class="keyword varname">sys_id </var>usando um valor exclusivo do <var class="keyword varname">contexto </var>.
* Se um registro for encontrado, ele mapeará as seguintes colunas para o identificador de elemento exclusivo correlacionado:
  * <var class="keyword varname">rich_text_1_col </var>(Tipo HTML) para <var class="keyword varname">input_1_rich_text_descritive_element_id </var>
  * <var class="keyword varname">texto_simples_1_col </var>(Tipo de cadeia de caracteres) a <var class="keyword varname">input_1_text_descritive_element_id </var>
  * <var class="keyword varname">imagem_1_col </var>(Tipo de imagem) a <var class="keyword varname">input_1_image_descritive_element_id </var>
  {#data-source-script-examples__ul_y2x_vxm_p2c}
{#data-source-script-examples__ul_sbf_txm_p2c}

## Script para mapear ações de entrada associadas a entradas no formulário de entrada {#data-source-script-examples__section_bjw_cym_p2c}

A seguir está um exemplo de script que demonstra como lidar com o. <var class="keyword varname">Identificador de elemento </var>Atributo de ações de entrada configuradas na tabela Ação de formulário de entrada \[sys_sg_parameter_action\].

    (function DataSource(valuesMapper, context) {
    var gr = new GlideRecord('incident');
    gr.addQuery('sys_id',context.getUniqueValue());
    gr.query();
    if (gr.next()) {
    // Handle an attachment type input action. Map the elementIdentifier "input_1_action_attachments" to a record in the incident table by specifying the sys_id as the column in the table.
    valuesMapper.addRecordMapping('input_1_action_attachments',gr,'sys_id'); 

    // Handle a comment type input action. Map the elementIdentifier "input_1_action_comment" to a column in the incident table where the comment is stored. In this example, the comment is stored in the //"comment_by_agent" column.
    valuesMapper.addRecordMapping('input_1_action_comment',gr,'comment_by_agent'); 

    //Handle a navigation type input action with a record context.
    Map the elementIdentifier "input_1_navigation" to a record in the incident table by specifying the sys_id as the column in the table.
    valuesMapper.addRecordMapping('input_1_navigation',gr,'sys_id'); 
    }
    })(valuesMapper, context);

Este código define a função <var class="keyword varname">Fonte de dados </var>Que mapeia colunas específicas de um registro de tabela de Incidente \[incidente\] para identificadores de elemento correspondentes. O seguinte processo ocorre:

* Cria um objeto GlideRecord para a tabela "incidente".
* Consulta a tabela em busca de um registro com um específico <var class="keyword varname">sys_id </var>usando um valor exclusivo do <var class="keyword varname">contexto </var>.
* Se um registro for encontrado, ele mapeará as seguintes colunas para o identificador de elemento exclusivo correlacionado:
  * <var class="keyword varname">sys_id </var>para <var class="keyword varname">input_1_action_attachments </var>para lidar com ações de entrada de tipo de anexo.
  * <var class="keyword varname">comentário_por_agente </var>para <var class="keyword varname">input_1_action_comment </var>para lidar com ações de entrada de tipo de comentário.
  * <var class="keyword varname">sys_id </var>para <var class="keyword varname">input_1_navigation </var>para lidar com ações de entrada de tipo de navegação com um contexto de registro.
  {#data-source-script-examples__ul_qvf_mzm_p2c}
{#data-source-script-examples__ul_dwj_kzm_p2c}

