作業指示のステータス移行マップをカスタマイズする

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む2読むのに数分
  • システム管理者ロールを持つユーザーは、作業指示書のステータスをプロジェクトタスクのステータスにマップする、作業指示書のステータス移行マップをカスタマイズできます。

    作業指示書のステータスを更新すると、リンクされたプロジェクトタスクのステータスも更新されます。FieldServicesProjectTaskStateHandler スクリプトは、作業指示書のステータスをプロジェクトタスクのステータスにマッピングします。システム管理者ロールを持つユーザーは、次の例に基づいて、必要に応じてこのステータス移行マップをカスタマイズできます。

    作業指示書のステータスを [ 完了してクローズ ] に設定しても、プロジェクトタスクはクローズされません。この変更を行うには、 initialize() 関数の次の行を削除します。
    this.workOrderProjectTaskStateMap[FieldServiceProjectTaskStateHandler.WORK_ORDER_STATE_CLOSE_COMPLETE] =
          FieldServiceProjectTaskStateHandler.PROJECT_TASK_STATE_CLOSE_COMPLETE;
        
    作業指示書の [Pending dispatch (ディスパッチ待ち )] ステータスをプロジェクトタスクの [Open (オープン )] ステータスにマッピングするには、 initialize() 関数に次の行を追加します。
    
        this.workOrderProjectTaskStateMap[FieldServiceProjectTaskStateHandler.WORK_ORDER_STATE_PENDING_DISPATCH] = FieldServiceProjectTaskStateHandler.PROJECT_TASK_STATE_OPEN;
        

    プロジェクト タスクが [オープン] に変更された後にタスクを自動的に認定するには、プロジェクト タスクの更新をリッスンする FieldServiceProjectUpdateHandler プロセス関数を変更し、リンクされた作業指示書を [認定済み] に変更します。このセクションの後に次の行を追加します。

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