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


---

# Adicionar um campo ao check-out do catálogo de serviços

# Adicionar um campo ao check-out do catálogo de serviços {#ariaid-title1}

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

Este é um exemplo de adição de um campo Empresa ao check-out abaixo do campo Solicitado para usando macros de layout que não sejam de carrinho, ou seja, glide.sc.use_cart_layouts é <kbd class="ph userinput">falso</kbd>.

## Antes de Iniciar

Função necessária: administrador

## Por Que e Quando Desempenhar Esta Tarefa

Figura 1. Solicitado para o campo ![]()

Este campo passará o valor desse campo para o campo Empresa da solicitação do Catálogo de serviços.

Este exemplo faz as seguintes suposições.  
* Este exemplo se refere a uma instância que usa a finalização de compra em duas etapas. Se a finalização de compra em duas etapas não estiver habilitada, habilite-a antes de começar.
* Este exemplo preenche o campo Empresa no formulário de Solicitação do Catálogo de serviços. Se o campo não for exibido no formulário, configure o formulário antes de começar.

## Procedimento

1. Vá para IU do sistema \> Macros de IU e selecione servicecatalog_cart_template.
2. Encontre onde há variáveis ocultas declaradas e adicione a seguinte linha:  

       <input type="HIDDEN" name="cart_id" id="cart_id" value="$[sc_cart.sys_id]" />

3. Encontre o código a seguir, que gera o código Solicitado para :  

       <tr class="header">
       <td width = "30%">
         ${gs.getMessage('Requested for')}:
         </td>
         <td width="70%">
           <label for="requestor_location">${gs.getMessage('Deliver to')}:</label>
         </td>
       </tr>
       <tr><td>$[SP]</td> 
       </tr>
         <tr><td valign="top">
           <j2:if test="$[jvar_can_delta_rf == false]">
             $[sc_cart.requested_for.getDisplayValue()]
           </j2:if>
           <j2:if test="$[jvar_can_delta_rf != false]">
             <g2:catalog_requested_for />
           </j2:if>
         </td>
         <td>
           <textarea id="requestor_location" style="width:100%" rows="4"       name="requestor_location" wrap="soft" onChange="catDeliveryAddress('$[sc_cart.sys_id]', 'requestor_location');"> 
             $[sc_cart.delivery_address]
           </textarea>
         </td>
       </tr>
       <tr>
         <td>$[SP]</td>
       </tr>

4. Adicione o seguinte código posteriormente:  

       <tr class="header">
         <td colspan="2">Company</td>
       </tr>
       <tr>
         <td>$[SP]</td>
       </tr>
       <tr>
         <td colspan="2">
           <g2:ui_reference name="core_company" table="core_company" onchange="setCartValue()"/>
         </td>
       </tr>
       <tr>
         <td>$[SP]</td>
       </tr>

   Nota:  
   A macro `"ui_reference"` define um campo de referência. Existem várias macros para diferentes tipos de campo. Você pode ver exemplos desses tipos de campo em IU do sistema -\> Macros de IU. Essas macros começam com `'ui_'`. Para este exemplo, o campo de referência criado é chamado core_company.
5. Agora navegue até IU do sistema \> Páginas de IU e selecione a Página de IU servicecatalog_checkout_one.
6. Adicione o script a seguir ao campo Script do cliente.  

       function setCartValue() { 
         var newField = gel('core_company'); 
         var myCart = gel('cart_id'); 
         var cart_item = new GlideRecord('sc_cart_item');
         cart_item.addQuery('cart', myCart.value);
         cart_item.query(); 
         if(cart_item.next()) {
           cart_item.hints = "<hints><entry key='sysparm_processing_hint' value='setfield:request.company=" + newField.value + "'/></hints>";
           cart_item.update(); 
         } 
       }

   Para este exemplo, o campo de referência foi chamado core_companye o campo que está sendo preenchido na solicitação é company. Se campos diferentes forem usados:
   * Encontre esta linha: `var company = gel('core_company');` e substitua core_company pelo nome do campo no check-out.
   * Na linha que começa com `"cart_item.hints",` substitua `"request.company"` pelo nome do campo a ser preenchido no tíquete de solicitação, em que `"request"` é a solicitação que está sendo gerada e `"company"` é o nome do campo.
   {#t_AddFldSrvcCatCkout__ul_llx_2ln_kyb}

## Resultado

Quando um item é solicitado, o campo da empresa aparece no formulário Catálogo:


