Accel-Mart Quick チュートリアルガイド 第14版 2023-02-08

10.9.7. 案件終了処理(トランザクションなし)

案件終了処理(トランザクションなし)は、ワークフローの案件が完了する際に実行される業務ロジックです。
以下のタイミングで実行されます。
  • 最後の承認者が「承認」を行ったとき
  • 承認者が「否認」を行ったとき
  • 申請者が「取止め」を行ったとき
  • ワークフロー管理者による案件操作で終了ノードに到達したとき

注意

案件終了処理(トランザクションなし)は、直前に実行される後処理や到達処理の業務ロジックとは独立した処理として実行されます。
そのため、案件終了処理(トランザクションなし)の業務ロジックでエラーが発生した場合でも、直前に行われた処理を戻すことはできません。

注意

案件終了処理(トランザクションなし)は、案件終了処理の前に実行されます。
そのため、案件終了処理でエラーが発生した場合でも、案件終了処理(トランザクションなし)は実施済みとなり、処理を戻すことはできません。

10.9.7.1. 利用例

  • 案件終了時に実行する処理で、独自にデータベーストランザクション制御を行うワークフローを作成する

10.9.7.2. 業務ロジックの概要

案件終了処理(トランザクションなし)の業務ロジックを新規作成すると、初期状態では以下の図のように設定されています。
タスクを追加し、実現したい業務ロジックを作成してください。
../../../_images/matter_end_process_no_transaction_1.png
図:業務ロジックの初期状態
案件終了処理の業務ロジックには、「分岐(正常終了)」タスクが初期設定されています。
設定されている条件式は以下の通りです。
  • ${ $input.imwMatterEndProcess.lastResultStatus == 'approveend' || $input.imwMatterEndProcess.lastResultStatus == 'mattercomplete' || $input.imwMatterEndProcess.lastResultStatus == 'matterhandle' }
案件が正常終了(最終承認、承認終了、案件操作によって終了)した場合に実行する処理は分岐の then から、それ以外(取止め、否認)によって終了した場合に実行する処理は分岐の else からそれぞれ線を繋げてください。
また、案件終了処理(トランザクションなし)の業務ロジックには、「業務データ取得」タスクが初期配置されています。
当該タスクで、ワークフローのフォームへの入力情報を取得します。
業務ロジック内でフォームの入力情報を使用したい場合は、「業務データ取得」タスクの返却値を利用してください。

注意

案件終了処理(トランザクションなし)の中でデータベースの登録・更新・削除処理を行う場合は、独自にデータベーストランザクション制御を行ってください。

10.9.7.3. 入力値

入力値 説明
localeId<string>
処理実行時のロケールID
  • ja:日本語
  • en:英語
  • zh_CN:中国語(簡体字)
tenantId<string>
テナントID
applyBaseDate<string>
申請基準日( yyyy/MM/dd 形式)
parameter<string>
当業務ロジックのロジックフロー情報を表すパラメータ
targetLocales<string[]>
システムで利用しているロケールID
contentsId<string>
コンテンツID
contentsVersionId<string>
コンテンツバージョンID
routeId<string>
ルートID
routeVersionId<string>
ルートバージョンID
flowId<string>
フローID
flowVersionId<string>
フローバージョンID
processDate<string>
処理日( yyyy/MM/dd 形式)
systemMatterId<string>
システム案件ID
userDataId<string>
ユーザデータID
actFlag<string>
代理フラグ
  • 0:本人が処理
  • 1:代理先ユーザが処理
lastAuthUserCd<string>
最終処理権限者コード
案件をログインユーザ本人の権限で処理した場合は本人のユーザコードが、代理先として処理した場合は代理元のユーザコードが設定されます。
lastExecUserCd<string>
最終処理実行者コード
実際に案件を処理したユーザのユーザコードです。
案件を代理先として処理した場合は、ログインユーザ(代理先ユーザ)のユーザコードが設定されます。
lastProcessNodeId<string>
最終処理が実行されたノードのノードID
lastResultStatus<string>
最終処理結果ステータス
  • discontinue:取止め
  • approveend:承認終了
  • mattercomplete:最終承認
  • deny:否認
  • matterhandle:案件操作
matterName<string>
案件名
matterNumber<string>
案件番号

10.9.7.4. 出力値

出力値はありません。

10.9.7.5. 定数

定数ID 説明
imfrApplicationId
アプリケーションID
「ファイルアップロード情報取得」タスクの入力値等に使用します。
imwFlowId フローID

10.9.7.6. ユーザ定義タスク

案件終了処理(トランザクションなし)作成時に初期配置される「業務データ取得」タスクに関する情報です。

コラム

「業務データ取得」タスクは「Forma登録情報定義」という種類のユーザ定義です。
「ノーコード開発業務ロジック」というユーザカテゴリに業務ロジック名と同じユーザ定義名で登録されます。

10.9.7.6.1. 入力値

入力値 説明
insertId<string>
データ登録ID
業務ロジック入力値の userDataId を設定してください。

10.9.7.6.2. 出力値

入力値 説明
formaItemInfo<object>
画面アイテム入力情報
フォームの各画面アイテムの入力情報を保持するオブジェクトです。
配下のパラメータ名は画面アイテムのフィールド識別IDです。
複数項目選択可能な画面アイテム(「チェックボックス」、「リストボックス」)は選択された値をカンマ区切りにして値が設定されます。
formaTableItemInfo<object>
テーブル系画面アイテム入力項目
配下にテーブル識別IDをパラメータ名とするオブジェクトの配列を保持します。
formaSystemInfo<object> システム情報
- imfr_sd_insert_id<string> データ登録ID
- imfr_sd_application_id<string> アプリケーションID
- imfr_sd_application_no<long> アプリケーション履歴番号
- imfr_sd_version_no<long> バージョン
- imfr_sd_create_date<date> 登録日時
- imfr_sd_create_user_cd<string> 登録者ユーザコード
- imfr_sd_record_date<date> 更新日時
- imfr_sd_record_user_cd<string> 更新者ユーザコード
- imfr_sd_preserve_flag<string>
一時保存フラグ
  • 1:一時保存
  • 0:一時保存でない