はじめに
承認ノードで、処理種別が「承認」「否認」に応じて、チェック内容を変えたいというユーザ要件に答えるための実装方法です。
実装時ポイント
以下が実装時のポイントとなります。
- ロジックデザイナーで作成
- ロジックフローの入力はリクエストパラメータを利用
- 特定の承認ノードでのみで発火させる
- コンテンツ定義としてアクション処理にユーザプログラムに追加
ロジックデザイナーでの作業
処理結果の取得
imwActionProcess<object>(:アクション処理情報)から入力値設定し取得します。該当オブジェクトにあるresultStatus<string>です。代表的なステータスは以下のとおりです。
承認:approve
否認:deny
差し戻し:sendback

画面入力項目はimwUserParameterを入力値として取得します。
分岐処理のEL式に処理結果ステータスを以下の要領で記入することで、処理ステータスに応じてのロジックを組むことができます。
${ $input.imwActionProcess.resultStatus == 'deny' }

ロジック構築後、結果のerror<boolean>とエラー時に表示するmessageを設定します。errorのステータスは以下のとおりです。
true:エラー
false:処理OK
ロジックデザイナーでのロジックフロー作成は要点となる部分は以上となります。
ワークフローとロジックフローの紐づけ作業
ロジックフローをコンテンツに紐づけるための事前準備
コンテンツ定義にユーザプログラムとして作成したロジックフローを紐づけます。なお、事前にロジックフローをアクション処理として使えるように「ロジックフロー管理」で設定します。詳細は以下別記事ををご確認ください。
intra-martロジックデザイナーをワークフローに紐づける手順
コンテンツへの紐づけ
コンテンツ定義のユーザプログラム定義編集画面から以下のとおり設定します。アクション処理は実行順番の順に実行されるため、必ず1番目となるよう「1」を選択しておきましょう。
プラグイン種別:アクション処理
対象ノード:承認/処理ノード
プラグイン種類:【アクション処理】LogicDesigner
実行順番:1

フロー定義への紐づけ
ルート詳細タブからアクション処理を実行させたいノードの編集を選択します。以下の画面が表示されますので、アクション動作処理を変更します。
アクション動作処理:標準から変更する
検索:コンテンツに定義したユーザプログラムを選択する

これで設定は終わりです。
まとめ
以上で、『intra-martで「承認/処理」実行時、処理種別で入力チェック内容を変える方法』でした。設定の手順さえわかれば(わかるまでが大変でしたが)意外と簡単ですね。
コメント