Personalize o mapa de transição de estado da ordem de serviço

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 1 min. de leitura
  • Usuários com a função de administrador do sistema podem personalizar o mapa de transição de estado da ordem de serviço, que mapeia os estados da ordem de serviço para os estados da tarefa do projeto.

    Atualizar o estado de uma ordem de serviço também atualiza o estado da tarefa do projeto vinculada. . FieldServicesProjectTaskStateHandler o script mapeia os estados da ordem de serviço para os estados da tarefa do projeto. Usuários com a função de administrador do sistema podem personalizar este mapa de transição de estado conforme necessário com base nos exemplos a seguir.

    Exemplos

    Definir o status de uma ordem de serviço como Encerramento concluído não deve fechar a tarefa do projeto. Para fazer essa mudança, remova a seguinte linha no inicializar() função:
    this.workOrderProjectTaskStateMap[FieldServiceProjectTaskStateHandler.WORK_ORDER_STATE_CLOSE_COMPLETE] =
          FieldServiceProjectTaskStateHandler.PROJECT_TASK_STATE_CLOSE_COMPLETE;
        
    Para mapear a ordem de serviço Expedição pendente estado da tarefa do projeto Aberto estado, adicione a seguinte linha ao inicializar() função:
    
        this.workOrderProjectTaskStateMap[FieldServiceProjectTaskStateHandler.WORK_ORDER_STATE_PENDING_DISPATCH] = FieldServiceProjectTaskStateHandler.PROJECT_TASK_STATE_OPEN;
        

    Para qualificar uma tarefa automaticamente depois que a tarefa do projeto for alterada para Aberto , altere FieldServiceProjectUpdateHandler função de processo que escuta atualizações de tarefa do projeto e muda a ordem de serviço vinculada para Qualificado . Adicione a seguinte linha após esta seção:

    Se(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();