経路の承認者を選んで追加する-汎用マスタと「ユーザーを動的に指定」の組み合わせ

こんなお悩みありませんか?

  • 直属の上長の承認に加えて、案件ごとのPJオーナーからも承認をもらいたい
  • でもPJオーナーは案件によって毎回変わるので、経路にあらかじめ全員を登録しておけない

そのお悩みは、経路の「ユーザーを動的に指定」で解決できます。この機能は、フォーム内のフィールドの値をもとに、対応するユーザーを承認者として自動的に割り当てるものです。
ただし、「ユーザーを動的に指定」はフィールドにユーザーコードが入っていないと動作しないため、申請者に直接ユーザーコードを入力させるのは現実的ではありません。

そこで汎用マスタを組み合わせます。汎用マスタで「PJオーナー一覧」のような選択式の候補リストを作り、各アイテムのコードに対応するユーザーコードをあらかじめ設定しておけば、申請者は一覧から名前を選ぶだけです。

この方法で使用する経路の「ユーザーを動的に指定」は、エンタープライズプランでのみご利用いただけます。

こんな運用の方におすすめ

  • 直属の上長以外に、案件担当者(PJオーナーなど)からも承認を取りたい。
  • 承認者が申請の都度変わるが、候補は決まったメンバーの中から選ばれる。
  • 経路の「ユーザーを動的に指定」機能は知っているが、申請者にユーザーコードを直接入力させずに使う方法がわからない。

この方法のメリット

  • 承認者候補を汎用マスタで一元管理でき、メンバーの入れ替えがあっても汎用マスタを直すだけで済む(経路やワークフローの作り直しが不要)。
  • 申請者は候補者一覧から名前を選ぶだけでよく、コードや社員番号を入力・記憶する必要がない。
  • 1つの経路を複数のワークフローで使い回せる。

仕組みの全体像

「ユーザーを動的に指定」は、経路のステップに設定した変数(フィールドの値)からユーザーコードを取得し、一致するユーザーを承認者にする機能です。この変数の取得元に、汎用マスタ型フィールドを使います。

  1. 汎用マスタで承認者候補の一覧を作り、各アイテムの「コード」に対応する人のユーザーコードを設定しておく。
  2. ワークフローのフォームに、その汎用マスタから選ぶ「汎用マスタ」型フィールドを追加する。
  3. 経路の承認者設定で「ユーザーを動的に指定」を選び、「ユーザーを表す変数名」に、手順2のフィールドの値からユーザーコードを取り出す式を設定する。

申請者がフィールドで対象者を選ぶと、そのユーザーコードと一致する人が自動的に承認者として割り当てられます。

設定手順

1. 汎用マスタで承認者候補の一覧を作る

「管理センター」>「汎用マスタ」>「汎用マスタ」から、承認者候補(PJオーナーなど)の汎用マスタを新規作成します。

  1. 「新規作成」 をクリックします。
  2. 名前・コード・説明などの基本情報を入力して 「保存」 します。
  3. 作成した汎用マスタを開き、 「新規作成」 からアイテムを1件ずつ登録します。 アイテムの「コード」欄には、対応するユーザーのユーザーコードと同じ値を入力してください。 ここが一致していないと、あとの手順でユーザーを特定できません。

ユーザーコードは、「管理センター」>「ユーザー」>「ユーザー」の対象ユーザーの詳細画面で確認できます。

汎用マスタの作成方法の詳細は、 汎用マスタを設定する をご覧ください。

2. ワークフローのフォームに「汎用マスタ」型フィールドを追加する

対象のワークフローの「フォームの設定」を開き、 汎用セクション内 に「汎用マスタ」型のフィールドを追加します。

  • 型:「汎用マスタ」を選択します。
  • 汎用マスタ:手順1で作成したマスタ(例:PJオーナー一覧)を選択します。
  • 単一選択/複数選択:1人だけ選ばせたい場合は「単一選択」にします。

フィールドの追加方法の詳細は、 ワークフローを作成する をご覧ください。

3. 経路で「ユーザーを動的に指定」を設定する

対象の経路の編集画面を開き、承認者にしたいステップで以下を設定します。

  1. 承認者タイプで「ユーザーを動的に指定」を選択します。
  2. 詳細設定の「ユーザーを表す変数名」に、次の式を入力します。
json_lookup($pj_owner, "$[0].code")

$pj_owner の部分は、手順2で設定したフィールドコードに置き換えてください。この式により、選択された汎用マスタアイテムの「コード」(=ユーザーコード)が取り出され、そのユーザーコードと一致するユーザーが承認者として割り当てられます。

経路の設定方法の詳細は、 経路を作成する をご覧ください(最大10件まで承認者候補を追加できます)。

入力した変数からユーザーコードが取得できない場合や、一致するユーザーがいない場合は「承認者なし」となります。汎用マスタアイテムのコードとユーザーコードが正しく一致しているか、あわせてご確認ください。

応用・活用例

  • チームを動的に指定する場合も同じ考え方が使えます:汎用マスタアイテムのコードにチームコードを設定し、経路の承認者タイプを「チームを動的に指定」にして、同様にjson_lookupでコードを取り出します。
  • 複数の候補から複数人を選んで、複数ステップの承認者にする:フィールドを「複数選択」にします。 $[0]、 $[1] のように選択順のインデックスを指定した式をステップごとに設定すれば、選んだ順番に複数人を承認者として割り当てられます。
  • 汎用マスタを使わない方法もあります:候補者が少ない、または頻繁に変わらない場合は、テキストフィールドや自動計算フィールドでユーザーコードを直接入力・算出する形でも同じ仕組みが使えます。

関連リンク

※ 本記事の設定手順は執筆時点の仕様に基づいています。実際の画面とは一部異なる場合があります。

この記事は役に立ちましたか?