Ofereça suporte a tipos de trabalho flexíveis, permitindo que os agentes comecem a viajar antes do horário de trabalho programado. Por exemplo, você pode querer adicionar o tempo de viagem fora do horário de trabalho programado de um agente, caso o mau tempo aumente repentinamente o tempo de viagem.
Antes de Iniciar
Se você for um administrador, poderá executar um script e adicionar tempo de viagem fora do horário de trabalho para todos os usuários.
Função necessária: wm_dispatcher, wm_manager, wm_admin ou admin
Procedimento
-
Navegar até .
-
Execute uma das seguintes ações:
- Se você for um expedidor, acesse .
- Se você for gerente, acesse .
-
Selecione um perfil de usuário.
-
Para adicionar ou atualizar registros de usuário, siga um destes procedimentos.
| Opção | Descrição |
|---|
| Adicione um novo registro para este usuário |
- Clique em Novo.
- Selecione Viagem fora do horário de trabalho caixa de seleção.
- Clique em Enviar.
|
| Um registro existente atualizado |
- Abra o registro existente.
- Selecione Viagem fora do horário de trabalho caixa de seleção.
- Clique em Atualizar.
|
-
Para adicionar o tempo de viagem como horas de trabalho para todos os usuários, faça o seguinte:
-
Navegar até
-
Em Script de execução , adicione o script para incluir o tempo de viagem como horas de trabalho para todos os usuários.
Tabela 1. Opções para incluir o tempo de viagem como horas de trabalho dos usuários
| Opção |
Descrição |
| Adicione o tempo de viagem como horas de trabalho para todos os usuários |
- Adicione este script:
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;
}
}
}
- Clique em Script de execução .
|
| Atualize o tempo de viagem como horas de trabalho para todos os usuários |
- Adicione este script:
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);
}
- Clique em Script de execução .
|