CookBook

申請者の役職から処理対象者を設定する

投稿日:2018-04-02 更新日:

このCookbookでは、IM-Workflow 2018 Springから新たに追加された 処理対象者プラグイン「ロジックフロー(ユーザ)」 の設定方法を紹介いたします。
この機能を利用すると、申請した案件の情報などに基づいてフローの参照者や処理対象者をロジックフローから設定できます。

今回のCookbookでは、申請者の役職情報に基づいて、後続の処理対象者をロジックフローで設定するための方法が確認できます。

完成イメージ


申請者の担当組織から取得した役職情報に基づいて、ロジックフローで処理対象者を設定するサンプルです。
任意のルート定義の処理対象者に「ロジックフロー(ユーザ)」を利用することにより、上位の役職のユーザを承認ノードの処理対象者に設定できます。

im_cookbook_142677_1

簡単な処理の流れは以下のとおりです。

  1. 申請者・申請時の担当組織に基づいて、申請者の役職情報を取得する
  2. 申請者の上位の役職のユーザを取得する
  3. 取得した上位の役職のユーザを承認ノードの処理対象者に設定する

完成サンプル

以下のサンプルをダウンロードしてご利用ください。

サンプルに含まれる定義情報は以下の表の通りです。

種類 定義名 補足説明
ユーザ定義(JavaScript) 【Cookbook】ユーザの役職情報の取得 IMMCompanyManager.listCompanyPostWithUserOnDepartment を利用して申請者の役職情報を取得するユーザ定義です。
ユーザ定義(JavaScript) 【Cookbook】役職情報に基づくユーザの取得 IMMCompanyManager.listUserWithCompanyPost を利用して役職情報から対象のユーザを取得するユーザ定義です。
ロジックフロー 【Cookbook】承認者の設定 上記のユーザ定義を参照し、処理対象者を設定するロジックフローです。

上記のサンプルの利用条件は以下の通りです。

  • intra-mart Accel Platform(Advanced) 2018 Spring(8.0.19)以降のバージョンであること
  • サンプルデータのインポートが行われていること

サンプルは、intra-mart Accel Platform(Advanced) 2018 Spring(8.0.19)で動作確認を行っています。

レシピ

  1. ユーザ定義を作成する
  2. ロジックフローを作成する
  3. ワークフローで利用可能なロジックフローに登録する
  4. ワークフローの処理対象者にロジックフローを追加する
  5. 実行画面で確認する

1. ユーザ定義を作成する

ワークフローから取得可能なパラメータを利用し、以下の役割をもつユーザ定義をそれぞれ作成してください。

  • 申請者の情報から申請者の役職情報を取得する
  • 役職情報を受け取り、受け取った役職のユーザを取得する

IM-LogicDesignerとの連携で、ワークフローから利用できるパラメータの情報については以下のドキュメントをご参照ください。
[IM-Workflow 管理者操作ガイド] - [ロジックフローを利用する]

2. ロジックフローを作成する

1. 入出力設定の登録

  • 入力はIM-Workflowが提供しているパラメータを利用するため、以下のドキュメントに基づいて、「処理対象者プラグインに属するリソースの入力設定」の「imwApplyAuthInfo(申請者情報)」、「imwMatterInfo(案件情報)」を設定してください。
  • 出力は、入力と同様に「処理対象者プラグインに属するリソースの出力設定」を設定してください。
    [IM-Workflow 管理者操作ガイド] - [ロジックフローを利用する]
  • 設定後の入出力設定は、以下の画面のとおりです。

im_cookbook_142677_2

入力項目 データ型
imwApplyAuthInfo object
  userCd string
  companyCd string
  departmentSetCd string
  departmentCd string
imwMatterInfo object
  applyBaseDate string
出力項目 データ型
userCds string[]

2. 定数の設定

  • 処理対象者を選出するための役職コードを定数に定義してください。
     今回の例では、部長(ps002)、課長(ps003)を設定しています。
     その他に「申請基準日(applyBaseDate)」を変換する際の日付フォーマットを定義しています。

im_cookbook_142677_3

定数ID 定数値
manager ps002
sectionManager ps003

3. 変数の設定

  • 分岐で設定する処理対象者の役職コードを保持するための変数を定義してください。

im_cookbook_142677_4

変数ID データ型
approveAuthInfo object
  postCd string

4. タスクの配置と接続

  • 以下のとおりに、タスクを配置し、それぞれのタスク同士を接続してください。

im_cookbook_142677_5

(1) 【Cookbook】Acquisition of Official Position Information from User
  ワークフローから受け取った申請者情報を、次の「パブリックグループに所属するユーザの取得」タスクの入力値の形式に変換しています。

(2) Branch(Applicant's post)(分岐) / Setting Section Manager(変数操作) / Setting Section Manager(変数操作)
  申請者の役職情報に基づいて分岐を実行します。
  一般社員(役職がない)場合には処理対象者の役職に「課長(ps003)」を設定します。
  課長以上の役職の場合には、処理対象者の役職に「部長(ps002)」を設定します。

(3) 【Cookbook】Acquisition of Users from Official Position
  分岐で設定した役職に基づいて、対象の役職を持つユーザをワークフローに合わせた形で返却します。

4. ロジックフローの作成

各タスクのマッピングを以下のとおりに設定してください。

im_cookbook_142677_6

(1) 【Cookbook】Acquisition of Official Position Information from User
  localeは、アカウントコンテキストから取得しています。

im_cookbook_142677_7

(2) Branch(Applicant's post)
  分岐条件のEL式には以下のとおりに設定してください。

im_cookbook_142677_8

(3) Setting Section Manager

im_cookbook_142677_9

(4) Setting Manager

im_cookbook_142677_10

(5) End
  ロジックフローの出力値をワークフローの参照者や処理対象者に利用する場合、以下の図のように、String型の配列として userCds にユーザコードを渡してください。

im_cookbook_142677_11

ここまででロジックフローが完成しましたので、保存後に次の手順に移ってください。

3. ワークフローで利用可能なロジックフローに登録する

作成したロジックフローをワークフローで利用可能にするための設定を行います。
ワークフローの「ロジックフロー管理」でリソース「処理権限者」と作成したロジックフローを関連づけてください。
設定の詳細は以下のドキュメントをご覧ください。
[IM-Workflow 管理者操作ガイド] - [ロジックフローを利用する]

im_cookbook_142677_12

4. ワークフローの処理対象者にロジックフローを追加する

ワークフローのルート定義の処理対象者にロジックフローを追加してください。
以下の例では、ルート定義の承認ノードの処理対象者にロジックフローを追加しています。
設定の詳細は以下のドキュメントをご覧ください。
[IM-Workflow 管理者操作ガイド] - [ルート定義を登録・設定する]

im_cookbook_142677_13

5. 実行画面で確認する

最後に、処理対象者にロジックフローを追加したワークフローで申請してください。
申請後の案件の次の処理対象者を確認すると、申請者の上位の役職のユーザが登録されていることを確認できます。

im_cookbook_142677_14

なお、ワークフローの処理権限者・確認対象者・案件操作権限者(参照者)に「ロジックフロー(ユーザ)」を利用する場合、いくつか注意事項があります。
詳細は以下のドキュメントをご覧ください。
[IM-Workflow 管理者操作ガイド] - [処理対象者プラグインに属するリソースの入力設定に関する注意事項]

-CookBook
-,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

IM-BloomMaker 「ファイルアップロード」エレメントの利用方法

このCookBookでは、 2020 Spring でリリースした「ファイルアップロード」エレメントの利用方法について説明していきます。 登録画面でアップロードしたファイルを別画面でダウンロードするこ …

no image

ワークフローの一覧を使い分けるには(改訂版)

このCookbookでは、以前に公開した「IM-Workflowの一覧を業務別に使い分けるには」に関して、お問い合わせいただいた内容を追加してワークフローの一覧の検索条件を付与する方法をご紹介いたしま …

スケジュールにログインしている本人しか表示されない場合の対応方法

このCookBookでは「intra-mart Accel Collaboration」スケジュール機能を利用する前の注意点について紹介しています。 お客様で「intra-mart Accel Col …

no image

FormaのスクリプトからAjax処理を呼び出す

このCookBookでは、Formaのスクリプトからサーバサイドロジックを呼び出し、Ajax処理を実現する方法をご紹介します。 IM-LogicDesignerを利用し、サーバサイドロジックとその呼び …

no image

BloomMaker 入力規則エラーメッセージエレメントの使い方

このCookBookでは、Accel Platform 2021 Springで追加されたエレメント「入力規則エラーメッセージ」について紹介しています。 「入力規則エラーメッセージ」は、指定した変数に …