Anpassen von UI-Aktionen für die Anwendung Now Mobile Agent

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 2 Minuten Lesedauer
  • Erleichtern Sie Endbenutzern die schnellere Erledigung von Aufgaben mit der Field Service Mobile-Anwendung, indem Sie benutzerdefinierte UI-Aktionen erstellen.

    Die Konfigurationen der Bedingungen für UI-Aktionen in der Field Service Mobile-Anwendung unterscheiden sich von denen der Field Service-Desktopanwendung. Im Gegensatz zur Desktopanwendung werden bei UI-Aktionsbedingungen in der mobilen App keine Datenbankabfragen ausgeführt, weshalb keine mobilen Ressourcen beansprucht werden. In der mobilen Anwendung können Sie die Schaltfläche explizit so konfigurieren, dass sie aktiv oder inaktiv ist, anstatt eine Systemprüfung durchzuführen, ob eine Field Service-Konfiguration aktiviert oder deaktiviert ist.

    Administratoren können die UI-Aktionen für die mobile Anwenderoberfläche überprüfen und diejenigen deaktivieren, die nicht verwendet werden, sodass weniger mobile Ressourcen beansprucht werden.

    Die folgende Abbildung zeigt die Anwendung Außendienst Mobile, die in Studiogeöffnet ist. Hier können Sie UI-Aktionen konfigurieren.

    Studio wird mit dem Startpunkt für Field Service Mobile geöffnet.

    Nachstehend finden Sie eine Beispielkonfiguration für die UI-Aktion zum Akzeptieren einer Arbeitsauftragsaufgabe.
    Die Schaltfläche Akzeptieren in der Desktopanwendung besitzt die folgenden Bedingungen für UI-Aktionen:
    current.state == 16 && (new StateFlow().validFlow(current, '53d0aea8d7230100fceaa6859e610326', 'manual'));
    Das System überprüft die folgenden Status-Flow-Bedingungen:
    1. Mit dem folgenden Skript den SMconfiguration-Datensatz, um zu ermitteln, ob die UI-Aktion accept_reject aktiviert oder deaktiviert ist:
      (new sn_sm.SMConfiguration()).isEnabled(current, "accept_reject", false)
    2. Wenn die Aufgabe selbst zugewiesen wurde
    So ändern Sie die UI-Aktion für die entsprechende Schaltfläche auf Ihrem Mobilgerät:
    1. Ändern Sie nicht die Bedingung current.state == 16. Sie sucht nach Informationen zum aktuellen Datensatz.
    2. Wenn diese Bedingung:
      (new sn_sm.SMConfiguration()).isEnabled(current, "accept_reject", false)
      auf falsegesetzt ist, verwerfen Sie diese Bedingung, und deaktivieren Sie die entsprechenden Aktionen in der mobilen Anwenderoberfläche der mobilen App.
    3. Legen Sie den Wert für den Feldparameter current.assigned_to auf den angemeldeten Benutzer fest: current.assigned_to == gs.getUserID()
    Basierend auf dem obigen Beispiel, lautet die geänderte Bedingung für die UI-Aktion in der mobilen App wie folgt:
    current.state == 16 && current.assigned_to == gs.getUserID()

    Nachstehend finden Sie eine weitere Beispielkonfiguration für die Selbstzuweisung einer Aufgabe.

    Die Funktion Mir zuweisen in der Desktopanwendung besitzt die folgenden Bedingungen für UI-Aktionen:
    (new SMTask()).canAssignToSelf(current)
    Die Script Include-Methode SMTask.canAssignToSelf(task) führt eine Systemprüfung für die folgenden Bedingungen aus:
    1. Status der Aufgabe
    2. Wert der geplanten Startzeit
    3. Wenn die Aufgabe selbst zugewiesen wurde
    4. Ob der Benutzer über die im SM-Konfigurationsdatensatz definierten Basis- und Außendienstmitarbeiter-Rollen verfügt
    5. Ob der Benutzer Teil einer Gruppe ist, die von der Einsatzplanungsgruppe für die Aufgabe abgewickelt wird
    In der mobilen App führt die folgende UI-Skriptbedingung eine Überprüfung auf die ersten drei der oben genannten Bedingungen durch:
    current.assigned_to != gs.getUserID() && !(current.expected_start.nil()) && (current.state == 10 || current.state == 16) 
    Für die vierte Bedingung können Sie dem Feld Rollen eine bestimmte Rolle hinzufügen.
    Für die fünfte Bedingung führen Sie die folgende Validierung im Write-back-Aktionselement wot_assign_to_me aus:
    if (smTask.canAssignToSelf(wotGR)) 
    smTask.assignToMe(gs.getUserID(), input.sys_id); 
    else
    gs.addErrorMessage(gs.getMessage("Not a valid task assignment."));