예정된 작업 시간 전에 에이전트가 이동을 시작할 수 있도록 하여 유연한 작업 유형을 지원합니다.. 예를 들어, 전일제 직원이 아니라, 계약이나 파견 직원의 작업 시간 외 시간으로 이동 시간을 추가해야 할 수 있습니다.
시작하기 전에
관리자는 스크립트를 실행하고 모든 사용자의 작업 시간 외에 이동 시간을 추가할 수 있습니다.
필요한 역할: wm_dispatcher, wm_manager, wm_admin 또는 admin
프로시저
-
다음으로 이동 레이블이 표시됩니다.
-
다음 작업 중 하나를 수행합니다.
- 디스패처인 경우 다음으로 이동합니다. 레이블이 표시됩니다.
- 관리자인 경우 다음으로 이동합니다. 레이블이 표시됩니다.
-
사용자 프로파일을 선택합니다.
-
사용자 기록을 추가하거나 업데이트하려면 다음 중 하나를 수행합니다.
| 옵션 | 설명 |
|---|
| 이 사용자에 대한 새 기록 추가 |
- 새로 만들기를 클릭합니다.
- 작업 시간 이외 이동 확인란을 선택합니다.
- 제출을 클릭합니다.
|
| 기존 기록 업데이트됨 |
- 기존 기록을 엽니다.
- 작업 시간 이외 이동 확인란을 선택합니다.
- 업데이트를 클릭합니다.
|
-
모든 사용자의 이동 시간을 작업 시간으로 추가하려면 다음을 수행합니다.
-
다음으로 이동
-
스크립트 실행 창에서 모든 사용자에 대해 이동 시간을 작업 시간으로 포함하는 스크립트를 추가합니다.
표 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;
}
}
}
- 스크립트 실행을 클릭합니다.
|
| 모든 사용자에 대해 이동 시간을 작업 시간으로 업데이트 |
- 이 스크립트를 추가합니다.
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);
}
- 스크립트 실행을 클릭합니다.
|