Personnaliser la carte de transition d’état de la commande de travaux

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 1 minute de lecture
  • Les utilisateurs ayant le rôle d’administrateur système peuvent personnaliser la carte de transition d’état de la commande de travaux, qui mappe les états des commandes de travaux aux états des tâches de projet.

    La mise à jour de l’état d’un ordre de travail met également à jour l’état de la tâche de projet liée. Le script FieldServicesProjectTaskStateHandler mappe les états de commande de travaux aux états des tâches de projet. Les utilisateurs ayant le rôle d’administrateur système peuvent personnaliser cette carte de transition d’état selon leurs besoins en fonction des exemples suivants.

    Exemples

    Définir l’état d’une commande de travaux sur Fermé terminé ne doit pas fermer la tâche du projet. Pour effectuer cette modification, supprimez la ligne suivante dans la fonction initialize() :
    this.workOrderProjectTaskStateMap[FieldServiceProjectTaskStateHandler.WORK_ORDER_STATE_CLOSE_COMPLETE] =
          FieldServiceProjectTaskStateHandler.PROJECT_TASK_STATE_CLOSE_COMPLETE;
        
    Pour mapper l’état d’expédition en attente de la commande de travaux à l’état Ouvert de la tâche de projet, ajoutez la ligne suivante à la fonction initialize() :
    
        this.workOrderProjectTaskStateMap[FieldServiceProjectTaskStateHandler.WORK_ORDER_STATE_PENDING_DISPATCH] = FieldServiceProjectTaskStateHandler.PROJECT_TASK_STATE_OPEN;
        

    Pour qualifier automatiquement une tâche une fois que la tâche de projet est passée en Ouvert, changez la fonction de processus FieldServiceProjectUpdateHandler qui écoute les mises à jour des tâches de projet et changez la commande de travaux liée en Qualifié. Ajoutez la ligne suivante après cette section :

    if(taskJSON.change_map && taskJSON.change_map.state){
    
        If(taskJSON.change_map.state == FieldServiceProjectTaskStateHandler.PROJECT_TASK_STATE_OPEN
        workOrder.state = FieldServiceProjectTaskStateHandler. WORK_ORDER_STATE_PENDING_DISPATCH
        workOrder.update();