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

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기3분
  • 예정된 작업 시간 전에 에이전트가 이동을 시작할 수 있도록 하여 유연한 작업 유형을 지원합니다.. 예를 들어, 전일제 직원이 아니라, 계약이나 파견 직원의 작업 시간 외 시간으로 이동 시간을 추가해야 할 수 있습니다.

    시작하기 전에

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

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

    프로시저

    1. 다음으로 이동 모두 > 현장 서비스레이블이 표시됩니다.
    2. 다음 작업 중 하나를 수행합니다.
      • 디스패처인 경우 다음으로 이동합니다. 발송 > 내 에이전트레이블이 표시됩니다.
      • 관리자인 경우 다음으로 이동합니다. 관리자 > 내 팀레이블이 표시됩니다.
    3. 사용자 프로파일을 선택합니다.
    4. 사용자 기록을 추가하거나 업데이트하려면 다음 중 하나를 수행합니다.
      옵션설명
      이 사용자에 대한 새 기록 추가
      1. 새로 만들기를 클릭합니다.
      2. 작업 시간 이외 이동 확인란을 선택합니다.
      3. 제출을 클릭합니다.
      기존 기록 업데이트됨
      1. 기존 기록을 엽니다.
      2. 작업 시간 이외 이동 확인란을 선택합니다.
      3. 업데이트를 클릭합니다.
    5. 모든 사용자의 이동 시간을 작업 시간으로 추가하려면 다음을 수행합니다.
      1. 다음으로 이동 시스템 정의 > 스크립트 - 백그라운드
      2. 스크립트 실행 창에서 모든 사용자에 대해 이동 시간을 작업 시간으로 포함하는 스크립트를 추가합니다.
        표 1. 출장 시간을 사용자의 작업 시간으로 포함하는 옵션
        옵션 설명
        모든 사용자에 대해 이동 시간을 작업 시간으로 추가
        1. 이 스크립트를 추가합니다.
          createWorkParamsForAllAgents("yes");
          
          function createWorkParamsForAllAgents(travelOutsideWorkHours) {
          	var now_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 now_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. 스크립트 실행을 클릭합니다.