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

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. 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 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 um 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 Parâmetros de trabalho guia.
      2. Clique em Nova.
      3. Clique em Viagem fora do horário de trabalho menu suspenso.
      4. Clique em Sim
      5. Clique em Enviar.
      Registro existente atualizado
      1. Clique em Parâmetros de trabalho guia.
      2. Clique duas vezes em Viagem fora do horário de trabalho coluna.
      3. Clique no novo parâmetro.
      4. Clique em Salvar (Enter) .
    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 Executar script , 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 para os 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 Executar script .
        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 Executar script .