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


---

# UI 라우팅 작업 생성

# UI 라우팅 작업 생성 {#ariaid-title1}

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

이 솔루션을 사용하면 인시던트인지 요청 항목인지 모른 채 서비스 데스크에서 기록을 생성할 수 있습니다. 그러면 서비스 데스크에서 해당 테이블로 기록을 라우팅할 수 있습니다.

## 이 태스크 정보

주:  
여기에 설명된 기능을 사용하려면 관리자 역할이 필요합니다.

UI 라우팅 작업 작성 방법:

## 프로시저

1. `작업` 테이블을 확장하는 새 테이블을 만듭니다(예: 새 호출).
2. 모듈을 생성하여 새 새 통화 기록을 생성합니다.
3. 새 호출 테이블에 원하는 필드를 생성합니다.  
   필요한 유일한 필드는 새 호출을 인시던트 또는 요청 항목으로 라우팅할지 여부를 결정하는 데 필요한 필드뿐입니다. 양식에 인시던트 또는 요청 항목에 전달할 필드가 포함되어 있는지 확인합니다. 이 예에서는 양식에 다음이 만들어집니다.
   * 요청 대상 (참조)
   * 위치 (참조)
   * 콜 유형 (인시던트와 요청의 두 가지 값이 있는 선택)
   * 요청 항목 ( `sc_cat_item` 항목 테이블 참조)
4. 호출 유형 선택에 따라 몇 개의 필드를 필수로 설정하고 요청 항목 필드를 숨기는 UI 정책 몇 개를 추가합니다.
5. 양식에서 불필요한 단추와 기능을 제거합니다.
6. 새 UI 작업 버튼을 만듭니다.  
   이 버튼은 사용자를 인시던트 또는 요청으로 리디렉션합니다. 또한 인시던트 기록을 만들고 값을 인시던트 및 요청 항목 양식에 복사합니다.  

       var reqItem = current.u_item;
       var requestedFor = current.u_requested_for;
       var location = current.location;

       if(current.u_incident_request == 'Incident'){
         //Create a new incident record and redirect to the new incident
         var rec = new GlideRecord('incident');
         rec.initialize();
         rec.caller_id = requestedFor;
         rec.location = location;
         rec.insert();
         action.setRedirectURL(rec);
       }

       if(current.u_incident_request == 'Request'){
         //Build the url and route the user to the request item
         var url = '';
         if(current.u_item.sys_class_name == 'sc_cat_item_guide'){
           url = 'com.glideapp.servicecatalog_cat_item_guide_view.do?sysparm_initial=true&sysparm_guide=' + 
             reqItem + '&sysparm_user=' + requestedFor + '&sysparm_location=' + location;
         }
         else{
           url = 'com.glideapp.servicecatalog_cat_item_view.do?sysparm_id=' + reqItem + '&sysparm_user=' +  
             requestedFor + '&sysparm_location=' + location;
         }
         action.setRedirectURL(url);
       }

7. 위 예제의 경로 단추는 URL의 요청 대상 및 위치 값을 요청 항목 양식에 전달합니다.  
   항목, 기록 생성자 또는 주문 가이드에 다음 클라이언트 스크립트를 사용하여 이러한 값을 매핑하는 <var class="keyword varname">requested_for</var><var class="keyword varname">및 위치</var> 라는 변수가 있는지 확인하십시오. URL의 길이가 제한되어 있으므로 전달할 수 있는 정보의 양에는 제한이 있습니다. 이 방법을 사용하여 긴 텍스트 필드에서 정보를 보내지 마십시오.  

       function onLoad() {
         var url = document.location.toString();
         var userKey = 'sysparm_user=';
         var locKey = 'sysparm_location=';
         var userPosition = url.indexOf(userKey);
         var locPosition = url.indexOf(locKey)
         if (userPosition != -1) {
           var user = url.substr(userPosition+userKey.length, 32);
           g_form.setValue('requested_for',user);
         }
         if (locPosition != -1) {
           var loc = url.substr(locPosition+locKey.length, 32);
           g_form.setValue('location',loc);
         }
       }


