Permita que os agentes comecem a viajar antes do horário de trabalho programado

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 2 min. de leitura
  • 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

    1. Navegar até Tudo > Serviços de Campo.
    2. Execute uma das seguintes ações:
      • Se você for um expedidor, acesse Expedição > Meus Agentes.
      • Se você for gerente, acesse Gerente > Minha equipe.
    3. Selecione um perfil de usuário.
    4. Para adicionar ou atualizar registros de usuário, siga um destes procedimentos.
      OpçãoDescrição
      Adicione um novo registro para este usuário
      1. Clique em Novo.
      2. Selecione Viagem fora do horário de trabalho caixa de seleção.
      3. Clique em Enviar.
      Um registro existente atualizado
      1. Abra o registro existente.
      2. Selecione Viagem fora do horário de trabalho caixa de seleção.
      3. Clique em Atualizar.
    5. Para adicionar o tempo de viagem como horas de trabalho para todos os usuários, faça o seguinte:
      1. Navegar até Definição do Sistema > Scripts - Segundo Plano
      2. 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
        1. 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;
          			}
          		}
          	}
        2. Clique em Script de execução .
        Atualize o tempo de viagem como horas de trabalho para todos os usuários
        1. 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);
          }
        2. Clique em Script de execução .