このCookBookでは、LogicDesignerを利用して、特定フローの特定ノードで、処理中の案件に対し、任意の処理対象者を追加する方法について紹介しています。 人事異動で担当者が追加となり、複数の案件に対して案件操作が必要となった場合など、このCookBookを参考にしてフローを作成することで、容易に対応することができます。 ここでは、処理の流れを分かりやすくするため、Forma標準アプリで画面を作成していますが、ロジックフローをジョブとして実行することも可能です。
完成イメージ
申請基準日、フロー、フローのノードを指定し、指定した内容を基に検索した未完了案件に処理対象者を追加するFormaアプリのサンプルです。 このサンプルを実行することで、特定フローの特定ノードで、処理中の案件に対し、任意の処理対象者を追加することができます。
完成サンプル
以下の完成サンプルをダウンロードしてご活用ください。 なお、以下のサンプルはintra-mart Accel Platform 2018 Summerの環境を利用して作成したものです。 IM-LogicDesignerの「未完了案件取得」タスク、「処理対象者追加」タスクは2018 Summerに追加された機能のため、より前のバージョンでは動作しません。
- ロジックフロー定義 : im_cookbook_149454_logicdesigner.zip
- IM-LogicDesignerのインポート機能からインポートしてください。ロジックフローが登録されます。
- 手順の詳細は以下のドキュメントをご覧ください。 [IM-LogicDesigner ユーザ操作ガイド] - [インポートを行う]
- データソース定義 : im_cookbook_149454_datasource.zip
- Forma管理画面のデータソース定義インポート機能からインポートしてください。データソース定義が登録されます。
- 手順の詳細は以下のドキュメントをご覧ください。 [IM-FormaDesigner for Accel Platform 作成者 操作ガイド] - [「データソース定義インポート」画面の機能と各部の説明]
- アプリケーション情報 : im_cookbook_149454_application.zip
- Forma管理画面のアプリケーション情報インポート機能からインポートしてください。Formaアプリケーション情報が登録されます。
- 手順の詳細は以下のドキュメントをご覧ください。 [IM-FormaDesigner for Accel Platform 作成者 操作ガイド] - [「アプリケーション情報インポート」画面の機能と各部の説明]
完成サンプルをご利用の際は、テナント環境セットアップでサンプルデータインポートを行い、利用するユーザのロールに「IM-Workflow ユーザ」を設定してください。 また、インポートしたFormaアプリのメニュー設定が必要です。詳細は以下をご覧ください。 [IM-FormaDesigner for Accel Platform 作成者 操作ガイド] - [メニューを設定する]
レシピ
- 未完了案件情報を取得するロジックフローを作成する。
- 未完了案件の処理待ちノードに処理対象者を追加するロジックフローを作成する。
- データソース定義を作成する。
- 未完了案件の処理待ちノードに処理対象者を追加するFormaアプリを作成する
- 実行画面で確認する。
1.未完了案件情報を取得するロジックフローを作成する。
Formaアプリで入力する検索項目(フローID、ノードID、申請基準日)を基に検索項目に合致する案件情報を返却するロジックフローを作成します。 以下のエレメントを配置したロジックフローを作成します。 【エレメント】
- getUnprocessedList(未完了案件一覧取得)
1-1.入出力定義を設定します。 入力項目は、Formaアプリで入力する検索項目(フローID、ノードID、申請基準日)を設定します。 出力項目は、検索条件に合致した未完了案件情報を格納するオブジェクトは配列を設定します。サンプルではオブジェクト名をresultにしています。 サンプルでは、未完了案件情報の案件名、システム案件ID、ノードIDを返却するようにしています。
1-2.マッピング設定を行います。 1-2-1.getProcessedListエレメント 未完了案件情報を取得するため、以下のようにマッピング設定してください。 サンプルでは、未完了案件一覧取得タスクの入力値のロケールIDには、アカウントコンテキストのロケールをマッピング設定しています。 また、申請基準日(From/To)をマッピングすることにより、取得する未完了案件情報の絞り込みを行っていますが、申請日(From/To)での絞り込みまたは、両方の絞り込みも可能です。
1-2-2.endエレメント 取得した未完了案件情報を返却するため、以下のようにマッピング設定してください。 
2.未完了案件の処理待ちノードに処理対象者を追加するロジックフローを作成する。
レシピ1で取得した未完了案件の処理待ちノードに処理対象者を追加するロジックフローを作成します。 以下のエレメントを配置したロジックフローを作成します。 【エレメント】
- startLoop(繰り返し開始)
- addProcessTargetUser(処理対象者追加)
- endLoop(繰り返し終了)
2-1.入出力定義を設定します。 入力項目は、処理対象者を追加するため、レシピ1で取得した未完了案件のシステム案件IDとノードID、Formaアプリで入力する処理対象者のユーザコードを設定します。 未完了案件のシステム案件IDとノードIDを格納するオブジェクトは配列を設定します。サンプルではオブジェクト名をinfoにしています。 出力項目は、処理が正常終了したことをFormaアプリに表示するため、「暗黙的に連携するレスポンスパラメータ」を設定します。詳細は以下のドキュメントをご覧ください。 [IM-BIS for Accel Platfoem IM-BIS 仕様書] - [暗黙的に連携するレスポンスパラメータの仕様]
2-2.定数を設定します。 処理が正常終了したことをFormaアプリに表示するため、真偽値falseと画面に表示するメッセージを設定します。
2-3.マッピング設定を行います。 2-3-1.startLoopエレメント 未完了案件数分の繰り返し処理を行うため、繰り返し対象に、レシピ2-1で設定した未完了案件のシステム案件IDとノードIDを格納したオブジェクトの配列を設定してください。
2-3-2.addProcessTargetUserエレメント 未完了案件の処理待ちノードに処理対象者を追加するため、以下のようにマッピング設定してください。
2-3-2.endエレメント 処理が正常終了したことをFormaアプリに表示するため、以下のようにマッピング設定してください。 
3. データソース定義を作成する。
上記で作成した2つのロジックフローを、IM-LogicDesignerのデータソース定義として設定してください。 データソース定義設定の方法は、以下のドキュメントをご覧ください。 [IM-BIS システム管理者 操作ガイド] - [「データソース - 編集[LogicDesigner]」画面の操作手順]
4. 未完了案件の処理待ちノードに処理対象者を追加するFormaアプリを作成する
作成した2つのロジックフローを外部連携し、未完了案件の処理待ちノードに処理対象者を追加するFormaアプリを作成します。 Forma管理画面の「Formaアプリ作成」-「アプリ一覧」からアプリケーションを作成してください。 [IM-FormaDesigner for Accel Platform 作成者 操作ガイド] - [6. IM-FormaDesigner でのIM-Workflowから利用できるアプリケーションの作成] 4-1.処理画面を作成します。 以下のアイテムを配置した処理画面を作成してください。 画像は例です。 
- 配置するアイテムと説明
| アイテムのラベル | アイテムの種類 | 説明 |
|---|---|---|
| flowId | 文字列 | 検索するフローのフローIDを入力します。 |
| nodeId | 文字列 | 検索するフローの処理待ちノードのノードIDを入力します。 |
| applyBaseDate | 期間 | 検索する案件基準日の期間を入力します。 |
| activeMatterList | グリッドテーブル | 検索した未完了案件情報が表示されます。 |
| カラムは、レシピ1-1の出力項目で指定した値のカラムを定義します。今回は、matterName、systemMatterId、nodeIdを文字列型で定義してください。 | ||
| userCds | グリッドテーブル | 追加する処理対象者のユーザコードを入力します。 |
| カラムは、userCdを文字列型で定義してください。 | ||
| search | イベントボタン | グリッドテーブルに検索した未完了案件の情報を表示します。 |
| add | イベントボタン | グリッドテーブルに表示されている案件情報と入力したユーザコードを基に、処理対象者を追加します。 |
4-2.アクション処理を設定します。 レシピ4-1で配置した2つのイベントボタンに、それぞれアクション処理を設定します。 アクション設定の方法は以下のドキュメントをご覧ください。 [IM-BIS for Accel Platform IM-BIS 仕様書] - [1. アクション設定] サンプルでは、作成したロジックフローを実行する前に、入力値をチェックするカスタムスクリプトを設定しています。 詳細は以下のドキュメントをご覧ください。 [IM-BIS for Accel Platform IM-BIS 仕様書] - [1. アクション設定] - [1.8. カスタムスクリプト設定画面の機能と各部の説明] 4-2-1.「search」ボタンのアクション設定を行います。 レシピ1で作成した未完了案件情報を取得するロジックフローを呼び、データマッパーで以下のように紐づけを行います。
- リクエスト
| 画面アイテムのラベル名 | ロジックフローの入力項目 |
|---|---|
| flowId | flowId |
| nodeId | nodeId |
| applyBaseDate(期間の開始日) | applyBaseDateFrom |
| applyBaseDate(期間の終了日) | applyBaseDateTo |
- レスポンス
| 画面アイテムのラベル名 | ロジックフローの出力項目 |
|---|---|
| activeMatterListのmatterNameカラム | resultのmatterName |
| activeMatterListのsystemMatterIdカラム | resultのsystemMatterId |
| activeMatterListのnodeIdカラム | resultのnodeId |
4-2-2.「add」ボタンのアクション設定を行います。 レシピ2で作成した処理対象者を追加するロジックフローを呼び、データマッパーで以下のように紐づけを行います。
- リクエスト
| 画面アイテムのラベル名 | ロジックフローの入力項目 |
|---|---|
| activeMatterListのsystemMatterIdカラム | infoのsystemMatterId |
| activeMatterListのnodeIdカラム | infoのnodeId |
| userCdsのuserCdカラム | userCds |
- レスポンス レスポンス値のデータマッパーの紐づけはありません。
以上で、未完了案件の処理待ちノードに処理対象者を追加するFormaアプリが作成できました。
5.実行画面で確認する。
最後に、実行画面で作成したFormaアプリを用いて動作を確認します。
- Formaアプリを開き、フローID、ノードID、申請基準日の期間を入力し、「search」ボタンをクリックします。

- グリッドテーブルに表示された案件を確認し、ユーザコードを入力して、「add」ボタンをクリックします。

- 画面上部に成功メッセージが表示されれば処理対象者の追加が完了です。
処理対象者が追加された案件のフローでは以下のようになります。 
IM-LogicDesignerの「処理対象者追加」タスクを利用すれば、処理中の案件に対して、処理対象者を追加することができます。 今回は、処理中のノードに対して、処理対象者を追加しましたが、未到達ノードに対しても、処理対象者を追加することができます。



