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