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

  • Release version: Washingtondc
  • Updated February 1, 2024
  • 1 minute to read
  • Les utilisateurs ayant le rôle d’administrateur système peuvent personnaliser la carte de transition d’états de la commande de travaux, qui mappe les états de commande de travaux aux états de tâche de projet.

    Mettre à jour l’état d'une commande de travaux met également à jour l’état de la tâche de projet liée. Le script FieldServicesProjectTaskStateHandler mappe les états de la commande de travaux aux états de la tâche de projet. Les utilisateurs ayant le rôle d’administrateur système peuvent personnaliser cette carte de transition d’états au besoin en fonction des exemples suivants.

    Exemples

    Définir l’état d’une commande de travaux sur Fermer terminé ne doit pas fermer la tâche de projet. Pour effectuer ce changement, supprimez la ligne suivante dans la fonction initialize() :
    this.workOrderProjectTaskStateMap[FieldServiceProjectTaskStateHandler.WORK_ORDER_STATE_CLOSE_COMPLETE] =
          FieldServiceProjectTaskStateHandler.PROJECT_TASK_STATE_CLOSE_COMPLETE;
        
    Pour mapper la commande de travaux à l'état Expédition en attente vers la tâche de projet à l'état Ouvert, 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 à l’état Ouvert, modifiez la fonction de processus FieldServiceProjectUpdateHandler qui écoute les mises à jour des tâches de projet et modifiez l’état de la commande de travaux liée vers 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();