Außendienstmitarbeitern ermöglichen, ihre Fahrt vor der geplanten Arbeitszeit anzutreten

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 1 Minute Lesedauer
  • Unterstützen Sie flexible Arbeitstypen, indem Sie Service Desk-Mitarbeitern ermöglichen, vor ihrer geplanten Arbeitszeit zu reisen. Beispielsweise können Sie Reisezeit außerhalb der geplanten Arbeitszeiten eines Service Desk-Mitarbeiters hinzufügen, falls schlechtes Wetter die Reisezeit unerwartet erhöht.

    Vorbereitungen

    Wenn Sie Administrator sind, können Sie ein Skript ausführen und Reisezeit außerhalb der Arbeitsstunden für alle Benutzer hinzufügen.

    Erforderliche Rolle: wm_dispatcher, wm_manager, wm_admin oder admin

    Prozedur

    1. Navigieren zu Alle > Außendienst.
    2. Führen Sie eine der folgenden Aktionen aus:
      • Wenn Sie Einsatzplaner sind, wechseln Sie zu Einsatzplanung > Meine Mitarbeiter.
      • Wenn Sie Manager sind, wechseln Sie zu Manager > Mein Team.
    3. Wählen Sie ein Benutzerprofil aus.
    4. Um Benutzerdatensätze hinzuzufügen oder zu aktualisieren, führen Sie einen der folgenden Schritte aus.
      OptionBeschreibung
      Neuen Datensatz für diesen Benutzer hinzufügen
      1. Klicken Sie auf Neu.
      2. Aktivieren Sie das Kontrollkästchen Außerhalb der Arbeitszeiten reisen.
      3. Klicken Sie auf Absenden.
      Vorhandenen Datensatz aktualisieren
      1. Öffnen Sie den vorhandenen Datensatz.
      2. Aktivieren Sie das Kontrollkästchen Außerhalb der Arbeitszeiten reisen.
      3. Klicken Sie auf Aktualisieren.
    5. Um die Reisezeit für alle Benutzer als Arbeitszeit hinzuzufügen, gehen Sie wie folgt vor:
      1. Navigieren zu Systemdefinition > Skripts – Hintergrund
      2. Fügen Sie im Fenster Skript ausführen ein Skript hinzu, um die Reisezeit als Arbeitsstunden für alle Benutzer einzubeziehen.
        Tabelle : 1. Optionen zum Einbeziehen der Reisezeit als Arbeitszeit für Benutzer
        Option Beschreibung
        Reisezeit als Arbeitszeit für alle Benutzer hinzufügen
        1. Fügen Sie dieses Skript hinzu:
          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. Klicken Sie auf Skript ausführen.
        Reisezeit als Arbeitszeit für alle Benutzer aktualisieren
        1. Fügen Sie dieses Skript hinzu:
          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. Klicken Sie auf Skript ausführen.