組織階層の深さの違いに対応した処理担当者を設定する

「部ー課ー係」の3階層の組織において、申請から決裁までの業務の流れは「申請→係長承認→課長承認→部長決裁」となります。一方で、階層が異なる組織が含まれていたり、申請者が所属する組織が異なったりすると「申請→課長承認→部長決裁 」のように承認が行われるステップが異なる場合があります。 
「申請~承認フロー」のワークフローアプリでこのようなステップの違いに対応するには、設置済み承認工程の処理が行われないよう、工程をスキップするといった設定の工夫が必要となります。
本記事では、[役職]を指定した処理担当者設定と[エラー境界イベント]を活用した具体的なアプリ定義について紹介します。

申請者によって承認ステップ数が異なるケース

組織階層の深さが異なる場合、申請者が所属する組織の階層に応じて承認ステップが異なるケースがあります。
例えば以下の組織図のような構成で、「山本七海」が申請を行うと承認ステップは

  • 申請→係長承認→課長承認→部長決裁

となります。しかし「渡辺五美」が申請した場合は、係長として承認を行う上司はいないので「係長承認」は行われず

  • 申請→課長承認→部長決裁

となり承認ステップ数が異なります。

「紙」による申請では、承認ステップが異なる「渡辺五美」が申請する場合には、申請書の「係長承認確認欄」は空白のまま課長に提出するなど、柔軟に対応できます。

一方で、ワークフローアプリでは申請や承認といった個々の作業は、ヒューマンタスクとして定義されています。それぞれの作業の担当者は、処理担当者設定で定められたルールに基づいて決定されます。プロセスが実行された時、特定のヒューマンタスクで処理担当者になるユーザがいないと、その工程はエラーとなり、通常ではその先の工程に進まなくなってしまいます。

一連の承認ルールが定義されているアプリの特定の工程が、承認を行う申請者の上司が存在せず処理されなくても、プロセスが進められる設定について考えます。

役職を指定した処理担当者設定

役職を利用して処理担当者を設定する」では、[(役職あり)]を指定した設定について説明しました。[(役職あり)]では対象組織に応じて、その組織の役職者を柔軟に引受候補者として特定できます。一方で、対象組織が複数の場合には個々の組織の役職者がすべて引受候補者になってしまいます。例えば処理担当者設定を[上位組織に所属するメンバ]とした場合、[(役職あり)]では課長、部長、本部長といった上位組織に所属する全ての役職ユーザが引受候補者になってしまいます。

[(役職あり)]ではなく具体的な役職名を指定した設定では、対象は指定した役職を持つユーザに絞り込まれ、それ以外の役職者は対象となりません。[上位組織に所属するメンバ]の例では、指定した役職が例えば「部長」であれば、部長職ユーザのみが引受候補者として特定されます。

申請者にとって承認工程で承認を行う上司は、申請者と同じ組織に所属しているケースと上位組織に所属しているケースがあります。上の組織図の「山本七海」にとって係長は同じ組織、課長や部長は上位組織に所属していますが、「渡辺五美」にとって課長は同じ組織に所属する上司です。

ワークフローアプリでは、このような状況の両方のケースに対応するために、2種類のルール(条件)を承認工程の処理担当者設定に設定します。例えば「課長承認」工程のスイムレーンでは、以下の 2つのルールを設定します。

  1. 下位の組織からの申請に対応
    • スイムレーン:申請者、このスイムレーンのタスクを処理したユーザの上位組織のメンバ、役職:課長
  2. 同じ組織の一般社員による申請に対応
    • スイムレーン:申請者、このスイムレーンのタスクを処理したユーザと同じ組織のメンバ、役職:課長

2種類のルールは、それぞれ別々に処理担当者を割り出します。ただし役職名が指定され絞り込まれると、意図しない方のルールでは引受候補者が「該当者なし」となります。例えば「課長承認」工程では以下のようになります。

  • 係からの申請:上記 2. の条件に対して「同じ組織に課長はいない」ので処理担当者なし
  • 課内部で申請:上記 1. の条件に対して「課より上位の組織には課長が存在しない」ので処理担当者なし

結果として、処理担当者設定に 2種類のルールが設定されていても 1人の処理担当者が特定されます。

なお、役職名を指定せずに[役職:(役職あり)]と設定すると、上記 1. の条件では部長やさらにその上位の役職者も引受候補者になってしまいます。 また、「山本七海」の申請では「課長承認」の工程にも関わらず、 2. の条件により係長も処理担当者になってしまいます。結果として処理担当者設定の 2つのルールにより、意図しないユーザを含む複数人が承認工程の引受候補者になってしまいます。

工程をスキップする設定

ワークフローでは、プロセスが実行されるとワークフロー図で定義されたとおりに処理が進みます。処理がヒューマンタスクに到達したときに、そのタスクの処理担当者がいない場合は、エラータスクとなりフローが進まなくなってしまいます。このような場合でもプロセスが進むよう、エラーになる工程をスキップする設定について説明します。

  • 申請→係長承認→課長承認→部長決裁

というフローで係長がいない場合、処理すべき担当者がいない工程である「係長承認」をスキップすると

  • 申請→課長承認→部長決裁

というフローを実現できます。

今回のような階層構造で申請者が異なると、役職を指定した処理担当者設定により工程の処理担当者が「該当者なし」となるケースがあります。例えば、「申請者が所属する組織と同じ組織の係長」と設定されていて、係長が存在しない組織から申請が行われた場合の処理担当者は「該当者なし」となります。

「該当者なし」の状態ではヒューマンタスクはエラーとなります。しかし[エラー境界イベント]のオプションを有効にすると、工程が処理されることなく次の工程へとスキップされるようになります。プロセスが実行されてヒューマンタスクにトークンが到達した時点で、処理担当者設定のルールに則った処理担当者の特定が行われます。特定する試みの結果が「該当者なし」の場合、トークンが[エラー境界イベント]へと移動するようになります。そのまま[エラー境界イベント]から接続されている次の工程へとトークンが進むので、工程の処理が行われずスキップされることになります。

  • 「係長承認」ヒューマンタスクの設定
    • [エラー境界イベント]を有効にして、次の工程へと経路を接続する

まとめ

今回は、組織階層が均一でない組織で連続承認が行われることを想定し、申請者によって承認ステップ数が異なるケースに対応できるアプリ設定について説明しました。承認ステップ数が少なくなるケースでは、処理担当者がいない承認工程をスキップすることで対応しました。この設定には以下の 2つの機能を利用しました。

  • [役職]を指定した処理担当者設定:一定の条件の時に処理担当者が「該当者なし」となる
  • [エラー境界イベント]:エラータスクとなった場合にプロセスを進める

スイムレーンの処理担当者設定で[役職名]を指定すると、指定の役職で対象が絞り込まれます。役職を絞り込むことで、不適切なユーザが処理担当者になることを防いだり、一定の条件において処理担当者がいない状態にしたりできます。[エラー境界イベント]は工程がエラーとなった場合にフローが停滞しないための機能ですが、設定の工夫により一定条件のときに工程をスキップする仕組みとして活用できます。

Questetra BPM Suite には多様な機能が用意されています。個々の機能を組み合わせて、様々な状況に対応できるアプリを設計してください。

上部へスクロール

Questetra Supportをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む