案件終了処理
案件終了処理は、ワークフローの案件が完了する際に実行される業務ロジックです。
以下のタイミングで実行されます。
- 最後の承認者が「承認」を行ったとき
- 承認者が「否認」を行ったとき
- 申請者が「取止め」を行ったとき
- ワークフロー管理者による案件操作で終了ノードに到達したとき
注意
案件終了処理は、直前に実行される後処理や到達処理の業務ロジックとは独立した処理として実行されます。
そのため、案件終了処理の業務ロジックでエラーが発生した場合でも、直前に行われた処理を戻すことはできません。
利用例
- 最後の承認者が承認して案件が完了した際に、申請内容をWebデータベースに登録・更新する
- 案件終了時に定型文をメールで送信する
- 案件終了時に添付ファイルをストレージに格納する
業務ロジックの概要
案件終了処理の業務ロジックを新規作成すると、初期状態では以下の図のように設定されています。
タスクを追加し、実現したい業務ロジックを作成してください。
案件終了処理の業務ロジックには、「分岐(正常終了)」タスクが初期設定されています。
設定されている条件式は以下の通りです。
${ $input.imwMatterEndProcess.lastResultStatus == approveend $input.imwMatterEndProcess.lastResultStatus == mattercomplete $input.imwMatterEndProcess.lastResultStatus == matterhandle }
案件が正常終了(最終承認、承認終了、案件操作によって終了)した場合に実行する処理は分岐の then
から、それ以外(取止め、否認)によって終了した場合に実行する処理は分岐の else
からそれぞれ線を繋げてください。
また、案件終了処理の業務ロジックには、「業務データ取得」タスクが初期配置されています。
当該タスクで、ワークフローのフォームへの入力情報を取得します。
業務ロジック内でフォームの入力情報を使用したい場合は、「業務データ取得」タスクの返却値を利用してください。
注意
案件終了処理は、ワークフローのデータベーストランザクション内で実行されます。
そのため、業務ロジックの中で独自にデータベーストランザクション制御を行うことはできません。
JavaScriptユーザ定義タスクで、データベーストランザクション制御を伴う処理は実施しないでください。