作業指示のステータス移行マップをカスタマイズする
システム管理者ロールを持つユーザーは、作業指示書のステータスをプロジェクトタスクのステータスにマップする、作業指示書のステータス移行マップをカスタマイズできます。
作業指示書のステータスを更新すると、リンクされたプロジェクトタスクのステータスも更新されます。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();