---
sourceDocument: Xanadu API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ko-KR

ft:publication_title :

    - Xanadu API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# 서비스 카탈로그 체크 아웃에 필드 추가

# 서비스 카탈로그 체크 아웃에 필드 추가 {#ariaid-title1}

* 릴리스 버전: Xanadu
* 
* 업데이트 날짜 2024년 08월 01일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 4분

이것은 카트가 아닌 레이아웃 매크로를 사용하여 요청 대상 필드 아래의 체크 아웃에 회사 필드를 추가하는 예입니다. glide.sc.use_cart_layouts 즉, <kbd class="ph userinput">false</kbd>입니다.

## 시작하기 전에

필요한 역할: admin

## 이 태스크 정보

그림 1. 필드에 대해 요청됨 ![]()

그런 다음 이 필드는 해당 필드의 값을 서비스 카탈로그 요청의 회사 필드로 전달합니다.

이 예제에서는 다음과 같은 가정을 합니다.  
* 이 예는 2단계 체크 아웃을 사용하는 인스턴스에 대한 것입니다. 2단계 체크아웃이 활성화 되지 않은 경우 시작하기 전에 활성화합니다.
* 이 예에서는 서비스 카탈로그 요청 양식의 회사 필드를 채웁니다. 필드가 양식 에 나타나지 않으면 시작하기 전에 양식을 구성합니다.

## 프로시저

1. 시스템 UI \> UI 매크로로 이동하여 servicecatalog_cart_template 선택합니다.
2. 선언된 숨겨진 변수가 있는 위치를 찾아 다음 줄을 추가합니다.  

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

3. Requested For 코드를 생성하는 다음 코드를 찾습니다.  

       <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. 나중에 다음 코드를 추가합니다.  

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

   주:  
   `'ui_reference'` 매크로는 참조 필드를 정의합니다. 다양한 필드 유형에 대한 여러 매크로가 있습니다. 이러한 필드 유형의 예는 시스템 UI \> UI 매크로에서 확인할 수 있습니다. 이러한 매크로는 `'ui_'`로 시작합니다. 이 예에서 생성된 참조 필드의 이름은 core_company입니다.
5. 이제 시스템 UI \> UI 페이지로 이동하여 servicecatalog_checkout_one UI 페이지를 선택합니다.
6. 클라이언트 스크립트 필드에 다음 스크립트를 추가합니다.  

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

   이 예에서 참조 필드를 core_company라고 하며 요청에 채워지는 필드는 회사입니다. 다른 필드를 사용하는 경우:
   * `var company = gel('core_company');` 줄을 찾아 core_company 체크 아웃의 필드 이름으로 바꿉니다.
   * `"cart_item.hints"`로 시작하는 줄에서 `"request.company`"를 요청 티켓에 채울 필드의 이름으로 바꿉니다. 여기서 `"request"`는 생성 중인 요청이고 `"company"`는 필드의 이름입니다.
   {#t_AddFldSrvcCatCkout__ul_llx_2ln_kyb}

## 결과

항목을 주문하면 카탈로그 양식에 회사 필드가 나타납니다.


