到達処理
到達処理は、ワークフローの処理が指定のノードに到達した際に実行される業務ロジックです。
ノードAに到達処理を設定した場合、以下のタイミングで実行されます。
- 「申請」または「承認」によって案件がノードAに到達したとき
- 案件がノードAに「差戻し」されたとき
- 案件をノードAに「引戻し」したとき
- ワークフロー管理者が案件操作で案件をノードAに移動したとき
業務ロジックを作成する際に、業務ロジックを設定する対象ノードを選択できます。
対象ノードは、「業務ロジック」画面で業務ロジック名をクリックして遷移する「業務ロジック情報」画面で変更できます。
到達処理は、後処理の業務ロジックやワークフローの内部処理とは独立した処理として実行されます。
そのため、到達処理の業務ロジックでエラーが発生した場合でも、直前に行われた処理を戻すことはできません。
利用 例
- 経路を問わず、特定のノードに到達した際にロジックを実行する
- システムノードを使用したワークフローを作成する
業務ロジックの概要
到達処理の業務ロジックを新規作成すると、初期状態では以下の図のように設定されています。
タスクを追加し、実現したい業務ロジックを作成してください。
到達処理の業務ロジックには、「業務データ取得」タスクが初期配置されています。
当該タスクで、ワークフローのフォームへの入力情報を取得します。
業務ロジック内でフォームの入力情報を使用したい場合は、「業務データ取得」タスクの返却値を利用してください。
到達処理の業務ロジックには、処理の種別ごとの分岐は設定されていません。
前ノードで実行された処理の種別で場合分けしたい場合は、入力値の preNodeResultStatus
を利用した分岐を設定してください。
到達処理の中でデータベースの登録・更新・削除処理を行う場合は、独自にデータベーストランザクション制御を行ってください。
入力値
入力値 | 型 | 説明 |
---|---|---|
localeId | string | ロケールID |
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 | 代理フラグ
|
nodeId | string | 処理が実行されたノードのノードID |
preNodeAuthCompanyCode | string | 前ノード権限会社コード |
preNodeAuthOrgzSetCode | string | 前ノード権限組織セットコード |
preNodeAuthOrgzCode | string | 前ノード権限組織コード |
preNodeAuthUserCd | string | 前ノード処理権限者コード 案件をログインユーザ本人の権限で処理した場合は本人のユーザコードが、代理先として処理した場合は代理元のユーザコードが設定されます。 |
preNodeExecUserCd | string | 前ノード処理実行者コード 実際に案件を処理したユーザのユーザコードです。 案件を代理先として処理した場合は、ログインユーザ(代理先ユーザ)のユーザコードが設定されます。 |
preNodeId | string | 前ノードID |
preNodeProcessComment | string | 前ノード処理コメント |
preNodeResultStatus | string | 前ノード処理結果ステータス
|
priorityLevel | string | 優先度
|
matterName | string | 案件名 |
matterNumber | string | 案件番号 |
mailIds | string[] | メール種別「処理結果通知」で設定されているメールID |
mailReplaceMap | map | メール置換文字情報 置換文字列と置換内容の詳細は「IM-Workflow 仕様書 別紙」を参照してください。 |
出力値
出力値 | 型 | 説明 |
---|---|---|
mailSendFlag | boolean | ワークフローの「処理依頼」メールを送信するかを指定します。
|
定数
定数ID | 説明 |
---|---|
TRUE | 出力値 mailSendFlag へのマッピングに利用する定数です。 |
imfrApplicationId | アプリケーションID 「ファイルアップロード情報取得」タスクの入力値等に使用します。 |
imwFlowId | フローID |
ユーザ定義タスク
到達処理作成時に初期配置される「業務データ取得」タスクに関する情報です。
「業務データ取得」タスクは「Forma登録情報定義」という種類のユーザ定義です。
「ノーコード開発業務ロジック」というユーザカテゴリに業務ロジック名と同じユーザ定義名で登録されます。
入力値
入力値 | 型 | 説明 |
---|---|---|
insertId | string | データ登録ID 業務ロジック入力値の userDataId を設定してください。 |
出力値
入力値 | 型 | 説明 |
---|---|---|
formaItemInfo | object | 画面アイテム入力情報 フォームの各画面アイテムの入力情報を保持するオブジェクトです。 配下のパラメータ名は画面アイテムのフィールド識別IDです。 複数項目選択可能な画面アイテム(「チェックボックス」、「リストボックス」)は選択された値をカンマ区切りにして値が設定されます。 |
formaTableItemInfo | object | テーブル系画面アイテム入力項目 配下にテーブル識別IDをパラメータ名とするオブジェクトの配列を保持します。 |
formaSystemInfo | object | システム情報 |
formaSystemInfoオブジェクト
出力値 | 型 | 説明 |
---|---|---|
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 | 一時保存フラグ
|
実装例
簡単な到達処理の業務ロジック実装例をご紹介します。
この業務ロジックでは、案件が業務ロジックを設定したノードに到達した際に、ワークフローの申請内容を特定のユーザにメールで送信します。