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

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 2 minutes de lecture
  • Facilitez la tâche de vos utilisateurs finaux avec l’application mobile Field Service en créant des actions d’interface utilisateur personnalisées.

    Les configurations des conditions d’action d’interface utilisateur sont différentes dans les applications mobiles Service sur site et dans 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 système pour savoir si une configuration de service sur site est activé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 mobile et désactiver celles qui ne sont pas utilisées afin d’utiliser moins de ressources mobiles.

    L’image suivante montre l’application Agent ouverte dans Studio.Now Mobile L’application Now Mobile Agent ouverte Studio dans est l’endroit où vous pouvez configurer les actions d’interface utilisateur.

    Voici un exemple de configuration d’action d’interface utilisateur pour accepter une tâche de commande de travaux.
    Le bouton Accepter de l’application de bureau comporte 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’état suivantes :
    1. L’enregistrement SMconfiguration permettant de voir si l’action d’interface utilisateur accept_reject est activée ou désactivée à l’aide de ce script :
      (new sn_sm.SMConfiguration()).isEnabled(current, "accept_reject", false)
    2. Si la tâche a été auto-affectée
    Pour modifier l’action d’interface utilisateur du bouton correspondant sur votre équipement mobile :
    1. Ne modifiez pas la condition current.state == 16 . Il recherche des informations sur l’enregistrement actuel.
    2. Si cette condition :
      (new sn_sm.SMConfiguration()).isEnabled(current, "accept_reject", false)
      est défini sur faux, abandonnez cette condition et désactivez les actions d’interface utilisateur mobile correspondantes sur l’application mobile.
    3. Définissez la valeur du paramètre de champ Tâches actuelles affectées à l’utilisateur connecté, comme indiqué ici : current.assigned_to == gs.getUserID()
    Sur la base de l’exemple précédent, 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’auto-affectation d’une tâche.

    La fonction Assign to Me (Me l’affecter) de l’application de bureau comporte les conditions d’action d’interface utilisateur suivantes :
    (new SMTask()).canAssignToSelf(current)
    La méthode d’include de script SMTask.canAssignToSelf(task) effectue une vérification système pour ces conditions :
    1. État de la tâche
    2. Valeur de l’heure de début planifiée
    3. Si la tâche a été auto-affectée
    4. Si l’utilisateur dispose des rôles de base et d’agent tels que définis dans l’enregistrement de configuration SM
    5. Indique si l’utilisateur fait partie d’un groupe géré par le groupe de répartition des tâches
    Sur l’application mobile, la condition de script d’interface utilisateur suivante vérifie les trois premières conditions énumérées précédemment :
    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 au 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."));