UI 라우팅 작업 생성

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기3분
  • 이 솔루션을 사용하면 인시던트인지 요청 항목인지 모른 채 서비스 데스크에 기록을 만들 수 있습니다. 그러면 서비스 데스크에서 기록을 적절한 테이블로 라우팅할 수 있습니다.

    이 태스크 정보

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

    UI 라우팅 작업을 작성하는 방법:

    프로시저

    1. 작업 테이블을 확장하는 새 테이블을 만듭니다(예: New Call).
    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의 요청 대상위치 값을 요청 항목 양식에 전달합니다.
      다음 클라이언트 스크립트를 사용하여 이러한 값을 매핑하는 항목, 기록 생성자 또는 주문 가이드에 requested_for위치 라는 변수가 있는지 확인합니다. 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);
        }
      }