エージェントが予定作業時間より前に出動を開始できるようにすることで、柔軟な作業タイプをサポートします。たとえば、正社員ではなく、契約社員またはオンデマンド社員の勤務時間外に移動時間を追加することができます。
始める前に
アドミニストレーターは、スクリプトを実行して、すべてのユーザーの作業時間外の移動時間を追加できます。
必要なロール:wm_dispatcher、wm_manager、wm_admin、または admin
手順
-
移動先 .
-
次のいずれかのアクションを実行します。
- ディスパッチャーの場合は、 .
- マネージャーの場合は、 .
-
ユーザープロファイルを選択します。
-
ユーザーレコードを追加または更新するには、次のいずれかを実行します。
| オプション | Description (説明) |
|---|
| このユーザーの新しいレコードを追加 |
- [新規] をクリックします。
- [ 作業時間外の移動 ] チェック ボックスをオンにします。
- [送信] をクリックします。
|
| 既存レコードを更新しました |
- 既存のレコードを開きます。
- [ 作業時間外の移動 ] チェック ボックスをオンにします。
- [Update (更新)] をクリックします。
|
-
すべてのユーザーの作業時間として移動時間を追加するには、次の手順を実行します。
-
移動先
-
[ スクリプトを実行 ] ウィンドウで、すべてのユーザーの作業時間として移動時間を含めるスクリプトを追加します。
表 : 1. 移動時間をユーザーの作業時間として含めるオプション
| オプション |
Description (説明) |
| すべてのユーザーの作業時間として移動時間を追加 |
- 次のスクリプトを追加します。
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);
}
- [スクリプトを実行] をクリックします。
|