4.4.1.1. 承認ノードの処理対象者をロジックフローで指定する¶
- プロセス定義 (IM-BPM)
- ユーザタスクと申請タスクを配置し、ワークフローと連携します。
- 画面から入力された処理対象者情報をプロセスの変数情報に保持します。
- Formaアプリケーション(IM-FormaDesigner)
- ユーザタスクの処理画面として使用します。
- 処理対象者情報を画面から入力させます。
- ロジックフロー(IM-LogicDesigner)
- ワークフローから処理対象者プラグインとして利用します。
- プロセスの変数情報から処理対象者情報を取得して返却します。
- ワークフローのルート定義・フロー定義 (IM-Workflow)
- 申請タスクによって申請されます。
- 承認ノード到達時、処理対象者プラグインとしてロジックフローと連携します。
注意
コラム
IM-FormaDesignerアプリケーション情報 IM-LogicDesigner ロジックフロー IM-Workflow ロジックフロー管理テーブルデータ IM-Workflow ルート定義およびフロー定義
4.4.1.1.1. プロセス定義を作成する¶
4.4.1.1.1.2. ユーザタスクのプロパティを設定する¶
ユーザタスクのプロパティエリアにて「基本情報」タブを表示します。
- 「ID」に select_target を入力します。このチュートリアルでは、ここで入力したIDに紐づく変数から、このユーザタスクを処理したユーザを取得します。
「メインコンフィグ」タブを表示します。
「処理対象グループ」に im_bpm_user を入力します。
- 「フォームキー」に forma:app_select_target を入力します。このチュートリアルでは、後ほど app_select_target というアプリケーションIDを持つFormaアプリケーションを作成します。
4.4.1.1.1.3. 申請タスクのプロパティを設定する¶
申請タスクのプロパティエリアにて「メインコンフィグ」タブを表示します。
「アプリケーション」にて IM-Workflow を選択します。
- 「フローID」に flow_target_ld を入力します。このチュートリアルでは、後ほど flow_target_ld というIDを持つフロー定義を作成します。
「案件名」に 承認ノード処理対象者チュートリアル を入力します。
「申請実行者コード」に aoyagi を入力します。
「申請権限者コード」に aoyagi を入力します。
4.4.1.1.2. Formaアプリケーションを作成する¶
4.4.1.1.2.1. アプリケーションの基本情報を入力する¶
- 「アプリケーションID」に app_select_target を入力します。プロセス定義の作成時、ユーザタスクのプロパティ「フォームキー」に指定したものです。
「アプリケーション種別」にて 標準 を選択します。
「有効日付(開始)」に 2018/01/01 を入力します。
「アプリケーション名」に 【チュートリアル】処理対象者選択 を入力します。
「登録」をクリックして先に進みます。
コラム
4.4.1.1.2.2. フォームを編集する¶
- 「ツールキット」を開き、「共通マスタアイテム」 - 「ユーザ選択」アイテムをドラッグし、フォームに配置します。アイテムのプロパティは特に変更する必要はありませんが、「フィールド識別ID」が userCd1 であることを確認してください。
「ツールキット」 - 「ボタンアイテム」 - 「ボタン(登録)」アイテムをドラッグし、フォームに配置します。
「更新」をクリックしてフォームを更新します。
コラム
4.4.1.1.2.3. テーブルを登録する¶
以下のいずれかの方法で「フォーム設定」画面を表示します。
- 「フォーム編集」画面から「戻る」リンクをクリックして「フォーム一覧」画面に移動し、もう一度 「戻る」リンクをクリックします。
- 「サイトマップ」→「Forma管理画面」→「アプリ一覧」をクリックし、アプリケーションID「 app_select_target 」の編集アイコンをクリックします。
「テーブル設定」タブをクリックします。
「登録」をクリックします。
図:「テーブル設定」「ユーザコード」項目のデータサイズに 100 を入力します。
「登録」をクリックして、テーブルを登録します。
コラム
4.4.1.1.2.4. 権限を設定する¶
「サイトマップ」→「Forma管理画面」→「アプリ一覧」から「アプリケーション一覧」画面を表示します。
アプリケーションID「 app_select_target 」の編集アイコンをクリックします。
「権限設定」タブをクリックします。
「+ロール」をクリックします。
「追加」をクリックします。
「ロール検索」ダイアログにて、「 IM-BPMユーザ(im_bpm_user)」ロールを検索して選択し、「決定」をクリックします。
追加された「IM-BPMユーザ(im_bpm_user)」ロールの「権限」セレクトボックスにて、「登録・更新・削除可能」を選択します。
図:「権限設定」
4.4.1.1.3. ロジックフローを作成する¶
4.4.1.1.3.1. 入出力設定を行う¶
「入出力設定」をクリックします。
「入力」ペインにて、「JSON入力」をクリックします。
図:「入出力設定」 - 「JSON入力」「null値の型」にて map を選択します。
「JSON」の内容を、以下の文字列で置き換えます。
{ "imbpmExecutionInfo": { "id": "", "processInstanceId": "", "businessKey": "", "processDefinitionId": "", "superExecutionId": "", "currentActivityId": "", "currentActivityName": "", "variablesLocal": null, "variables": null } }
図:「サンプルJSONの入力」「決定」をクリックします。
「出力」ペイン上部にある、「+string」をクリックします。
「出力」ペイン下部に新しく値が設定されたのを確認し、名称に userCds を入力します。
追加した userCds を選択している状態で、「配列型にする」チェックボックスをオンにします。
図:「入出力設定」 (設定後)「決定」をクリックします。
コラム
4.4.1.1.3.2. 定数設定を行う¶
「定数設定」をクリックします。
「+定数を追加」をクリックします。
「定数ID」に EL_STRING を入力します。
「定数値」に以下の値を入力します。
${$input.imbpmExecutionInfo.variables.im_bpm_system_variables.im_operation_users["select_target"]}
図:「定数設定」 (設定後)「決定」をクリックします。
コラム
4.4.1.1.3.3. 変数設定を行う¶
「変数設定」をクリックします。
「+string」をクリックします。
下部に新しく値が設定されたのを確認し、名称に tempUserCds を入力します。
追加した tempUserCds を選択している状態で、「配列型にする」チェックボックスをオンにします。
図:「変数設定」(設定後)「決定」をクリックします。
コラム
4.4.1.1.3.4. エレメントのマッピングを行う¶
「開始」エレメントから「終了」エレメントに向けて、線を接続します。
図:エレメントの接続「終了」エレメントをダブルクリックし、「マッピング設定」を表示します。
図:「終了」エレメント - 「マッピング設定」入力 variables<map> をクリックして選択し、「+キーを追加」をクリックします。
variables<map> 配下にキーが追加されたのを確認し、名称に userCd1 を入力します。
「関数選択」セレクトボックスにて、push を選択し、「+関数を追加」をクリックします。
変数 tempUserCds<string[]> から、追加したpush関数の入力「array」に対して線を引きます。
入力 userCd1 から、追加したpush関数の入力「value」に対して線を引きます。
「関数選択」セレクトボックスにて、el を選択し、「+関数を追加」をクリックします。
定数 EL_STRING から、追加したel関数の入力「value」に対して線を引きます。
「関数選択」セレクトボックスにて、push を選択し、「+関数を追加」をクリックします。
1つ目のpush関数の出力「out」から、2つ目のpush関数の入力「array」に対して線を引きます。
el関数の出力「out」から、2つ目のpush関数の入力「value」に対して線を引きます。
2つ目のpush関数の出力「out」から、出力 userCds<string[]> に対して線を引きます。
図:「終了」エレメント - 「マッピング設定」(設定後)「決定」をクリックします。
コラム
コラム
変数「 userCd1 」の値Formaアプリケーションの識別ID「 userCd1 」のフィールドの値が、連携先プロセスの変数に格納されたものです。 暗黙オブジェクト「 im_operation_users 」の値システム変数「 im_bpm_system_variables 」内に、Map型の暗黙オブジェクトとして存在しています。ユーザタスクのプロパティに設定したIDをキーとして与えることで、タスクを処理したユーザコードを取得できます。このチュートリアルでは、IDが「 select_target 」のユーザタスクを処理したユーザコードを、el関数を利用したEL式で取得しています。
4.4.1.1.3.5. 新規保存を行う¶
「新規保存」をクリックします。
「フロー定義ID」に workflow_target_plugin を入力します。
「フロー定義名」 - 「 標準 」に 【チュートリアル】BPM処理対象者プラグイン を入力します。
「フローカテゴリ」を検索し、 Sample を選択します。
図:「新規保存」「決定」をクリックします。
コラム
4.4.1.1.4. ワークフローのルート定義・フロー定義を作成する¶
4.4.1.1.4.1. ロジックフローを管理する¶
「サイトマップ」→「ワークフロー」→「ワークフロー管理者」→「ロジックフロー管理」から、「ロジックフロー管理」画面を表示します。
図:「ロジックフロー管理」「リソース設定」ダイアログにて、セレクトボックスで「処理対象者プラグイン」を選択します。
左ペインに表示されている「処理権限者」をクリックして選択します。
中央に表示されている をクリックし、「処理権限者」を右ペインに移動します。
図:「リソース設定」「更新」をクリックします。
「【チュートリアル】BPM処理対象者プラグイン」が、処理対象者プラグイン(処理権限者)として利用可能になりました。
図:「ロジックフロー管理」(設定後)
コラム
4.4.1.1.4.2. ルート定義を作成する¶
「サイトマップ」→「ワークフロー」→「ワークフロー管理者」→「マスタ定義」→「ルート定義」から、「ルート定義」画面を表示します。
「新規作成」をクリックします。
「ルートID」に、 route_target_ld を入力します。
「ルート名」に表示されているロケール分すべてに、 【チュートリアル】承認ノード処理対象者指定ルート を入力します。
図:「ルート定義 - 新規作成」「登録」をクリックします。
表示されている「バージョン」タブ画面にて、「新規作成」をクリックします。
「基本情報」タブ画面にて、「バージョン期間」 の範囲開始日に 2018/01/01 を入力します。
「バージョン有効/無効」にて、「 有効 」を選択します。
図:「ルート定義 - バージョン - 新規作成」 - 「基本情報」「ルート詳細」タブをクリックします。
「承認/処理」ノードをドラッグし、ドロップして配置します。
「申請/処理開始」ノードから「承認/処理」ノードに線を引きます。
同様に、「承認/処理」ノードから「終了」ノードに線を引きます。
図:「ルート定義 - バージョン - 新規作成」 - 「ルート詳細」「申請/処理開始」ノードをクリックし、選択します。
右側に表示されたノード詳細エリアにて、「処理対象者」の「検索」をクリックします。
表示された「処理対象者」一覧にて、「ユーザ」を選択し、虫眼鏡アイコンをクリックします。
図:「ルート定義 - バージョン - 新規作成」 - 「申請/処理開始」ノード詳細表示された「ユーザ検索」ダイアログにて、「青柳辰巳」を検索して選択し、「決定」をクリックします。
右側に表示されたノード詳細エリアにて、「処理対象者」に「青柳辰巳」が設定されているのを確認します。
図:「ルート定義 - バージョン - 新規作成」 - 「申請/処理開始」ノード詳細(設定後)「承認/処理」ノードをクリックし、選択します。
右側に表示されたノード詳細エリアにて、「処理対象者」の「検索」をクリックします。
表示された「処理対象者」一覧にて、「ロジックフロー(ユーザ)」を選択し、虫眼鏡アイコンをクリックします。
図:「ルート定義 - バージョン - 新規作成」 - 「承認/処理」ノード詳細表示された「ロジックフロー検索」ダイアログにて、 「【チュートリアル】BPM処理対象者プラグイン」の「選択」チェックボックスをオンにします。
図:「ロジックフロー検索」選択イメージ「決定」をクリックします。
右側に表示されたノード詳細エリアにて、「処理対象者」に「【チュートリアル】BPM処理対象者プラグイン」が設定されているのを確認します。
図:「ルート定義 - バージョン - 新規作成」 - 「承認/処理」ノード詳細(設定後)「登録」をクリックします。
コラム
4.4.1.1.4.3. フロー定義を作成する¶
「サイトマップ」→「ワークフロー」→「ワークフロー管理者」→「マスタ定義」→「フロー定義」から、「フロー定義」画面を表示します。
「新規作成」をクリックします。
- 「フローID」に、 flow_target_ld を入力します。プロセス定義の作成時、申請タスクのプロパティ「フローID」に指定したものです。
「フロー名」に表示されているロケール分すべてに、 【チュートリアル】承認ノード処理対象者指定フロー を入力します。
図:「フロー定義 - 新規作成」「登録」をクリックします。
表示されている「バージョン」タブ画面にて、「新規作成」をクリックします。
「基本情報」タブ画面にて、「バージョン期間」 の範囲開始日に 2018/01/01 を入力します。
「バージョン有効/無効」にて、「有効」を選択します。
「コンテンツ」にて「検索」をクリックし、「スクリプト開発モデル」を選択します。
「ルート」にて「検索」をクリックし、「【チュートリアル】承認ノード処理対象者指定ルート」を選択します。
図:「フロー定義 - バージョン - 新規作成」 - 「基本情報」「登録」をクリックします。
コラム
4.4.1.1.5. 実行結果を確認する¶
4.4.1.1.5.1. プロセスを開始し、ユーザタスクを処理する¶
作成したプロセスを実行環境にデプロイします。
「青柳辰巳」でログインします。
「プロセス開始一覧」画面を表示し、デプロイしたプロセスを開始します。
「タスク一覧」画面を表示し、「グループタスク」に存在する「ユーザ指定」タスクを担当にします。
「個人タスク」に移動した「ユーザ指定」タスクを処理します。
図:「個人タスク」 - 「ユーザ指定」タスク - 「処理」- 作成したFormaアプリケーション「【チュートリアル】処理対象者選択」のフォームが表示されます。「ユーザ名」にて「検索」を行い、「 上田辰男 」を選択します。図:「【チュートリアル】処理対象者選択」入力画面
「登録」をクリックします。
4.4.1.1.5.2. ワークフローの処理対象者を確認する¶
「処理済一覧」画面を表示し、「処理済タスク」に存在する「ユーザ指定」タスクの「」アイコンをクリックします。
図:「処理済タスク」 - 「ユーザ指定」タスク - 「履歴」- 「履歴」画面が表示されます。「申請タスク」に記載されている、「【チュートリアル】承認ノード処理対象者指定フロー」リンクをクリックします。図:「履歴」 - 「申請」タスク - ワークフロー「履歴参照」へのリンク
- ワークフローの「履歴参照」ダイアログが表示されます。「承認/処理」ノードの「処理者」列に表示されている「【チュートリアル】BPM処理対象者プラグイン」リンクをクリックします。図:ワークフロー「履歴参照」 - 「承認/処理」ノード - 「処理対象者状況確認」へのリンク
- 「処理対象者状況確認」ダイアログが表示されます。以下の2人のユーザが表示されていることを確認します。
- 上田辰男
- 青柳辰巳
図: 「処理対象者状況確認」