예정된 작업 시간 전에 에이전트가 이동을 시작할 수 있도록 합니다.

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 3분
  • 에이전트가 예약된 근무 시간 전에 이동을 시작할 수 있도록 하여 유연한 작업 유형을 지원합니다. 예를 들어 악천후로 인해 이동 시간이 갑자기 늘어나는 경우를 대비하여 에이전트의 예약된 작업 시간 외의 이동 시간을 추가할 수 있습니다.

    시작하기 전에

    관리자는 스크립트를 실행하고 모든 사용자에 대해 작업 시간 외 이동 시간을 추가할 수 있습니다.

    필요한 역할: wm_dispatcher, wm_manager, wm_admin 또는 admin

    프로시저

    1. 다음으로 이동 모두 > 현장 서비스.
    2. 다음 작업 중 하나를 수행합니다.
      • 디스패처인 경우 다음으로 이동하십시오. 발송 > 내 에이전트.
      • 관리자인 경우 다음으로 이동하십시오. 관리자 > 내 팀.
    3. 사용자 프로파일을 선택합니다.
    4. 사용자 기록을 추가하거나 업데이트하려면 다음 중 하나를 수행합니다.
      옵션설명
      이 사용자에 대한 새 기록 추가
      1. 작업 매개변수 탭을 클릭합니다.
      2. 새로 만들기를 클릭합니다.
      3. 작업 외 시간 출장 드롭다운 메뉴를 클릭합니다.
      4. 예를 클릭합니다.
      5. 제출을 클릭합니다.
      기존 기록 업데이트됨
      1. 작업 매개변수 탭을 클릭합니다.
      2. 작업 시간 외 출장 열을 두 번 클릭합니다.
      3. 새 매개변수를 클릭합니다.
      4. 저장(Enter)을 클릭합니다.
    5. 모든 사용자의 이동 시간을 작업 시간으로 추가하려면 다음을 수행합니다.
      1. 다음으로 이동 시스템 정의 > 스크립트 - 백그라운드
      2. 스크립트 실행 창에서 이동 시간을 모든 사용자의 작업 시간으로 포함하도록 스크립트를 추가합니다.
        표 1. 이동 시간을 사용자의 작업 시간으로 포함하는 옵션
        옵션 설명
        이동 시간을 모든 사용자의 작업 시간으로 추가
        1. 이 스크립트 추가:
          createWorkParamsForAllAgents("yes");
          
          function createWorkParamsForAllAgents(travelOutsideWorkHours) {
          	var gr = new GlideRecord("sys_user_has_role");
          	gr.addEncodedQuery("role=26c324ba1b32200096f9fbcd2c0713c2"); // fetching users having wm_agent role
          	gr.query();
          	gs.info("total work agents found: "+gr.getRowCount());
          	var agentWorkParameter = {};
          		
          		while (gr.next()) {
          			var userId = gr.getValue("user");
          			if (!agentWorkParameter[userId]) {
          				var wp = new GlideRecord("wm_agent_work_configuration");
          				wp.initialize();
          				wp.setValue("user",userId);
          				wp.setValue("travel_outside_of_work_hours", travelOutsideWorkHours); // setting default value for travel_outside_of_work_hours
          				wp.insert();
          				agentWorkParameter[userId] = true;
          			}
          		}
          	}
        2. 스크립트 실행을 클릭합니다.
        이동 시간을 모든 사용자의 작업 시간으로 업데이트
        1. 이 스크립트 추가:
          updateWorkParamsForAgents("yes");  // param1: default travel outside work hours value
          
          function updateWorkParamsForAgents(travelOutsideWorkHours) {
          	var gr = new GlideRecord("wm_agent_work_configuration");
          	gr.query();
          	gs.info("total agent work parameters found: "+gr.getRowCount());
          	var updateCount = 0;
          	
          	while (gr.next()) {
          		var canTravelOutside = gr.getValue("travel_outside_of_work_hours");
          		if ( canTravelOutside != travelOutsideWorkHours) {
          			gr.setValue("travel_outside_of_work_hours", travelOutsideWorkHours);
          			if (gr.update())
          				updateCount ++;
          		}
          	}
          	gs.info("total agent work parameters updated: "+updateCount);
          }
        2. 스크립트 실행을 클릭합니다.