作業指示状況移行マップのカスタマイズ
システムアドミニストレーターロールを持つユーザーは、作業指示状況をプロジェクトタスク状況にマップする作業指示状況移行マップをカスタマイズできます。
作業指示書のステータスを更新すると、リンクされたプロジェクトタスクのステータスも更新されます。FieldServicesProjectTaskStateHandler スクリプトは、作業指示書の状況をプロジェクトタスクの状況にマップします。システムアドミニストレーターロールを持つユーザーは、次の例に基づいて、必要に応じてこの状況移行マップをカスタマイズできます。
例
作業指示のステータスを [完了してクローズ] に設定しても、プロジェクトタスクはクローズされません。この変更を行うには、 initialize() 関数の次の行を削除します。
this.workOrderProjectTaskStateMap[FieldServiceProjectTaskStateHandler.WORK_ORDER_STATE_CLOSE_COMPLETE] =
FieldServiceProjectTaskStateHandler.PROJECT_TASK_STATE_CLOSE_COMPLETE;
作業指示書の ディスパッチ待ち ステータスをプロジェクトタスクの [オープン] ステータスにマッピングするには、 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();