---
sourceDocument: Yokohama Créer ou modifier des applications
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/yokohama/application-development

 Release :

    - yokohama

ft:locale :

    - fr-FR

ft:publication_title :

    - Yokohama Créer ou modifier des applications

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Creator


---

Ajouter un champ à la validation du catalogue de services
=========================================================

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

* Rversion finale: Yokohama
* 
* Mis à jour 30 janv. 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes de lecture

Ceci est un exemple d'ajout d'un champ Société au paiement 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<kbd class="ph userinput">est 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 de l'achat en deux étapes n'est pas activée, activez-la avant de commencer.
* Cet exemple renseigne le champ Société sur le formulaire de 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 masqué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 \> 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(); 
         } 
       }

   Pour cet exemple, le champ de référence a été appelé core_company et le champ renseigné sur 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 à la caisse.
   * Dans la ligne commençant par `<< cart_item.hints >>,` remplacez `<< request.company >>` par le nom du champ à renseigner sur le ticket de demande, où `<< request >>` est la demande générée et `<< company >>` est le nom du champ.
   {#t_AddFldSrvcCatCkout__ul_llx_2ln_kyb}

Résultats
---------

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


