---
sourceDocument: Référence de l’API Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Référence de l’API Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Ajouter un champ à la validation du catalogue de services

# Ajouter un champ à la validation du catalogue de services {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes de lecture

Il s'agit d'un exemple d'ajout d'un champ Société à la validation sous le champ Demandé pour à l'aide de macros de mise en page autres que celles du panier, c'est-à-dire glide.sc.use_cart_layouts que la valeur est <kbd class="ph userinput">faux</kbd>.

## Avant de commencer

Rôle requis : admin

## Pourquoi et quand exécuter cette tâche

Figure 1. Demandé pour le champ ![]()

Ce champ transmettra ensuite la valeur de ce champ au champ Société de la demande de Catalogue de services.

Cet exemple fait les hypothèses suivantes.  
* Cet exemple concerne une instance utilisant la validation en deux étapes. Si la validation en deux étapes n'est pas activée, activez-la avant de commencer.
* Cet exemple renseigne le champ Société du formulaire Demande de Catalogue de services. Si le champ n'apparaît pas sur le formulaire, configurez le formulaire avant de commencer.

## Procédure

1. Accédez à Interface utilisateur du système \> Macros d'interface utilisateur et sélectionnez servicecatalog_cart_template.
2. Recherchez où il y a des variables cachées déclarées et ajoutez la ligne suivante :  

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

3. Recherchez le code suivant, qui génère le code Demandé pour :  

       <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. Ajoutez ensuite le code suivant :  

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

   Remarque :  
   La macro `<< ui_reference >>` définit un champ de référence. Il existe plusieurs macros pour différents types de champs. Vous pouvez voir des exemples de ces types de champs sous Interface utilisateur du système \> Macros d'interface utilisateur. Ces macros commencent par `<< ui_ >>.` Pour cet exemple, le champ de référence créé est nommé core_company.
5. Accédez maintenant à l'interface utilisateur du système \> aux pages de l'interface utilisateur et sélectionnez la page de l'interface utilisateur servicecatalog_checkout_one.
6. Ajoutez le script suivant au champ Script client .  

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

   Dans cet exemple, le champ de référence a été appelé core_company et le champ renseigné dans la demande est entreprise. Si différents champs sont utilisés :
   * Trouvez cette ligne : `var company = gel('core_company') ;` et remplacez core_company par le nom du champ dans la validation.
   * Dans la ligne qui commence par `<< cart_item.hints >>,` remplacez `<< request.company >>` par le nom du champ à renseigner sur le ticket de demande, où `<< request >>` correspond à la demande générée et `<< company >>` au nom du champ.
   {#t_AddFldSrvcCatCkout__ul_llx_2ln_kyb}

## Résultats

Lorsqu'un élément est commandé, le champ Société apparaît sur le formulaire Catalogue :


