Personnalisation des actions d’interface utilisateur pour l’application Now Mobile Agent

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 2 minutes de lecture
  • Facilitez la tâche de vos utilisateurs finaux grâce à l’application Field Service Mobile en créant des actions d’interface utilisateur personnalisées.

    Les configurations pour les conditions d’action d’interface utilisateur dans l’application Field Service Mobile sont différentes de celles de l’application de bureau. Contrairement à l’application de bureau, les conditions d’action d’interface utilisateur sur mobile n’exécutent aucune requête de base de données et n’utilisent donc pas de ressources mobiles. Sur l’application mobile, au lieu d’effectuer une vérification du système pour savoir si une configuration de Service sur site est activée ou désactivée, vous pouvez configurer le bouton pour qu’il soit actif ou inactif.

    En tant qu’administrateur, vous pouvez examiner les actions d’interface utilisateur mobiles et désactiver celles qui ne sont pas employées pour utiliser moins de ressources mobiles.

    L’image ci-dessous montre l’application Field Service mobile ouverte dans Studio. C’est ici que vous pouvez configurer les actions d’interface utilisateur.

    Studio ouvert avec le point de départ pour Field Service Mobile.

    Voici un exemple de configuration d’action d’interface utilisateur pour l’acceptation d’une tâche de commande de travaux.
    Le bouton Accepter de l’application de bureau a les conditions d’action d’interface utilisateur suivantes :
    current.state == 16 && (new StateFlow().validFlow(current, '53d0aea8d7230100fceaa6859e610326', 'manual'));
    Le système vérifie les conditions de flux d’états suivantes :
    1. L’enregistrement SMconfiguration, pour voir si l’action d’interface utilisateur accept_reject est activée ou désactivée à l’aide du script suivant :
      (new sn_sm.SMConfiguration()).isEnabled(current, "accept_reject", false)
    2. Si la tâche a été affectée automatiquement
    Pour modifier l’action d’interface utilisateur pour le bouton correspondant sur votre équipement mobile :
    1. Ne modifiez pas la condition current.state == 16. Elle effectue une recherche d’informations sur l’enregistrement actuel.
    2. Si cette condition :
      (new sn_sm.SMConfiguration()).isEnabled(current, "accept_reject", false)
      est définie sur faux, supprimez cette condition et désactivez les actions d’interface utilisateur mobiles correspondantes sur l’application mobile.
    3. Définissez la valeur du paramètre du champ tâches actuelles affectées à sur l’utilisateur connecté comme indiqué ici : current.assigned_to == gs.getUserID()
    Sur la base de l’exemple ci-dessus, voici la condition modifiée pour l’action d’interface utilisateur dans l’application mobile :
    current.state == 16 && current.assigned_to == gs.getUserID()

    Voici un autre exemple de configuration pour l’affectation d’une tâche à soi-même.

    La fonctionnalité Me l’affecter de l’application de bureau a les conditions d’action d’interface utilisateur suivantes :
    (new SMTask()).canAssignToSelf(current)
    La méthode de script include SMTask.canAssignToSelf(task) effectue une vérification du système pour les conditions suivantes :
    1. État de la tâche
    2. Valeur de l’heure de début planifiée
    3. Si la tâche a été affectée automatiquement
    4. Si l’utilisateur a les rôles de base et d’agent tels que définis dans l’enregistrement de configuration SM
    5. Si l’utilisateur fait partie d’un groupe géré par le groupe de distribution des tâches
    Sur l’application mobile, la condition de script de l’interface utilisateur suivante effectue une vérification des trois premières conditions énumérées ci-dessus :
    current.assigned_to != gs.getUserID() && !(current.expected_start.nil()) && (current.state == 10 || current.state == 16) 
    Pour la quatrième condition, vous pouvez ajouter un rôle spécifique dans le champ Rôles.
    Pour la cinquième condition, effectuez la validation suivante dans l’élément d’action d’écriture différée wot_assign_to_me :
    if (smTask.canAssignToSelf(wotGR)) 
    smTask.assignToMe(gs.getUserID(), input.sys_id); 
    else
    gs.addErrorMessage(gs.getMessage("Not a valid task assignment."));