このCookBookでは、BloomMakerで、ワークフロー処理モーダルと動的処理対象者設定機能を利用したWorkflowのコンテンツを作成する方法を紹介します。
本稿では、BloomMakerでワークフロー処理モーダルを利用してWorkflowコンテンツを作成する のサンプルに対し、以下の部分を変更しています。
- 承認ノードを動的承認ノードに変更
- 動的承認ノードに設定する処理対象者を選択するセレクトボックスを申請ノードに配置
変更点以外のレシピについては、BloomMakerとLogicDesignerでWorkflowコンテンツを作成する を参照してください
2020 Winter(8.0.27)より、一覧表示パターンで「コピー新規」アイコンが利用できるようになりました。
それに伴い、LogicDesignerフロー定義:GetPurchaseData にコピー新規用ロジックを追加しています。
また、コピー新規用ロジックで使用する「参照権限判定」は2022 Spring(8.0.31)より追加された新たな判定範囲を利用しています。
完成イメージ
テナント環境セットアップのサンプルインポートで登録される、スクリプト開発/JavaEE開発で作成されたサンプル相当のフローをBloomMakerとLogicDesignerで作成しています。
申請画面で選択した内容で動的処理者設定を利用して、動的承認ノードの処理対象者を決定しています。
「Approver」項目の選択状態によって、次のように動作します。
- SelectFromSampleDivision01:動的処理対象者設定機能の暗黙条件を利用して、SampleDivision01に所属するユーザのみ、申請モーダルで設定できるようにします。
- aoyagi:申請モーダルで動的承認ノードの選択は表示せず、承認者としてaoyagiを設定します。
- NodeSkip:動的承認ノードを削除します。
完成サンプル
以下の完成サンプルをダウンロードしてご活用ください。
IM-BloomMakerインポートファイル : im_bloommaker-data
IM-BloomMaker のインポート画面からインポートしてください。
なお、インポート後にはIM-BloomMaker ルーティング定義の認可設定が必要ですのでご注意ください。
IM-LogicDesignerインポートファイル : im_logicdesigner-data
IM-LogicDesigner のインポート画面からインポートしてください。
IM-Workflowインポートファイル : im_cookbook_178020
IM-Workflowのインポート画面からインポートしてください。
サンプルに含まれる定義情報は以下の表の通りです。
種類 | 定義名 | 補足説明 |
---|---|---|
BloomMakerコンテンツ | im_cookbook_178020 | メインとなるWorkflowの処理画面 |
BloomMakerルーティング定義 | im_cookbook_178020 | 上記BloomMakerコンテンツに対するルーティング定義 |
LogicDesignerフロー定義 | ActionProcessPurchaseData | Workflowアクション処理で利用。ユーザデータを登録/更新する。 |
LogicDesignerフロー定義 | ActvMatterDeleteListenerPurchaseData | Workflow未完了案件削除処理で利用。ユーザデータを削除する。 |
LogicDesignerフロー定義 | CplMatterDeleteListenerPurchaseData | Workflow完了案件削除処理で利用。ユーザデータを削除する。 |
LogicDesignerフロー定義 | GetPurchaseData | BloomMaker前処理で利用。ユーザデータを取得する。 |
LogicDesignerユーザ定義 | DeletePurchaseData | LogicDesignerフロー定義で利用する |
LogicDesignerユーザ定義 | GetMatterNumber | LogicDesignerフロー定義するスクリプト |
LogicDesignerユーザ定義 | GetPurchaseData | LogicDesignerフロー定義するSQL |
LogicDesignerユーザ定義 | InsertPurchaseData | LogicDesignerフロー定義するSQL |
LogicDesignerユーザ定義 | UpdatePurchaseData | LogicDesignerフロー定義するSQL |
LogicDesignerユーザ定義 | validatePurchaseData | LogicDesignerフロー定義するスクリプト |
Workflowコンテンツ定義 | im_cookbook_178020 | BloomMakerコンテンツ、LogicDesignerフロー定義を設定 |
Workflowルート定義 | im_cookbook_178020 | |
Workflowフロー定義 | im_cookbook_178020 |
サンプルは以下の環境で動作を確認できます。
- intra-mart Accel Platform(Advanced) 2020 Spring(8.0.25)以降のバージョンであること
- テナント環境セットアップで、サンプルデータがインポート済みであること
レシピ
- 処理対象者を選択する「Pull-down」を配置します
- 「Pull-down」の選択値からdynamicNodeConfigsを設定します。
- dcNodeConfigsを「Display application modal」アクションの「Dynamic approval node setting information」に設定します。
設定項目の詳細は、添付のサンプルを参照してください。
1. 処理対象者を選択する「Pull-down」を配置します
処理対象者を選択する「Pull-down」を「Apply」画面に配置します。
サンプルでは、処理対象者として以下を選択できるようにします。
- SelectFromSampleDivision01:動的処理対象者設定機能の暗黙条件を利用して、SampleDivision01に所属するユーザのみ、申請モーダルで設定できるようにします。
- aoyagi:申請モーダルで動的承認ノードの選択は表示せず、承認者としてaoyagiを設定します。
- NodeSkip:動的承認ノードを削除します。
2. 「Pull-down」の選択値からdcNodeConfigsを設定します。
「Apply」画面で選択した値から、動的承認ノードの処理者を設定します。
設定する処理対象者のパラメータについては、以下を参照してください。
3. dcNodeConfigsを「Display application modal」アクションの「Dynamic approval node setting information」に設定します。
「Display application modal」アクションにdcNodeConfigsを設定します。
参考:「Display application modal」アクションの「Previous information discard flag」パラメータ
サンプルでは、「Previous information discard flag」をtrueで設定しています。
このフラグは、デフォルトではfalseとなり、基本的には×ボタン押下でモーダル画面を閉じた場合、次の申請モーダル表示時は前回設定情報で表示します。
しかし、今回のように、画面項目を利用して動的処理者設定等を利用している場合、モーダルを開く都度動的処理者設定を実行するほうが好ましい場合があります。
その場合、「Previous information discard flag」をtrueで利用してください。