2015年1月25日日曜日

iDempiere 想定業務フロー 1.1 購買依頼 Requisition / ワークフロー workflow 概要

以前の投稿で、 想定業務フローの購買フローにて Purchase Requisition から Purchase Order の流れを確認しました。

このとき、例えば営業担当者が Purchase Requisition を Complete すると、購買担当者に連携されるようなワークフローを設定したいと考えていました。

残念ながらまだここにはたどり着いていないのですが、購買依頼プロセスが依頼総額により依頼者の上長の承認が必要なケースの設定を試してみたいと思います。

まずiDempiere のワークフローの設定を整理してみます。

現在意識している想定業務フローはこちら(既出)

今回フォーカスするのは想定業務フローの 1.1 購買依頼(赤枠)
1.1 購買依頼をブレークダウンするとこんな感じ。


--------------------
図の記載方法は現時点必ずしても統一されていませんがご容赦を。
いずれまとめ直すときにルールを固定したいと思っています。
--------------------

1.1 購買依頼は、前プロセス(灰色のホームベース状の図形) から何かしらの予測もしくはオーダーに基づき発注すべき製品の数量を決めていることを前提とする

これまでのプロセスでは下の3つのプロセスに分解できます。
1.1.1 にて購買依頼を新規に作成し、必要な製品・数量を入力する
1.1.2 にて入力を確定する。(Document Action にて Complete を選択する)
1.1.3 は1.1.2 を受けてバックグラウンドにて伝票のステータスを Completed に変更する

ちなみに1.1.3に違和感あるかと思います。(1.1.2 と 1.1.3 を分ける意味)
これは今回の投稿で追加する承認ワークフローの動作を明確にするため、動作の意味を詳細化していると思ってください。

今回追加する承認ワークフローは、1つの購買依頼あたりの合計金額が 10,000円を超えている場合は 購買依頼作成者の上長に承認依頼が伝達されます。
1.1.4 にて上長が承認する
1.1.3 は 1.1.4 の上長承認を受けて、バックグラウンドにて伝票のステータスを Completed に変更する

承認の要不要に関わらず、 1.1.3 にて 伝票Status が Completed になった依頼は
1.1.5 のバッチプロセス Create PO from Requisition を起動することにより購買伝票として新規作成されます。(この時点の購買伝票Status は Drafted)

処理はこれだけなのですが、必要なマスター情報があります。
1:Requisition のプロセスの変更
 a) 承認プロセスの追加
    b) フロー分岐の条件の追加

2:担当者の上長または組織の上長

早々に設定に入りたいところですが、急がば回れで、WorkFlow 設定の構造の整理と承認プロセスに関連するマスターの整理をしておきたいと思います。



いろいろな情報をぶっ込みすぎてややこしくなっていますが、現在のところご容赦を。。

----------------------------
凡例:
■数字は評価される順番
 黄色:共通
 青:総額が 10,000円以下(標準のフローと同一)
 赤:総額が 10,000円より大きい(今回追加する承認プロセスを通るフロー)
■プロセスID は想定業務フロー 1.1 Requisition に対応
■ピンクの箱は今回追加する設定
-------------------------------

まず、Workflow は Menu -> System Admin -> Workflow -> Workflow から画面を開きます。
ここから始まり、Workflow には 子タブに Nodeが存在します。
Node とは、1つの処理を行う時に構成される一連のアクションの1つ1つです。

Process_Requisition は初期状態で (Start)・(DocPrepare)・(DocComplete)・(DocAuto)の4つのNode から構成されています。(今回あらたな Node である (DocApproval)を追加します。)

各Nodeにはその子タブ(Workflow からすると孫タブ?)の Transition を持っています。
Transitionとは、そのNodeの次にどのNodeに続くかを指定してあります。
Transition は、さらに Condition タブ(Workflow からするとひ孫タブ?)を持ち、その Transition が起動する条件を記述します。(条件が成立しなければ、そのTransitionは無視され、次のTransitionが評価されます。

上の図で動きを追って見ると、、
①:Requisition が起動されるとどのNode から開始するのか評価します。ここでは Node (Start)から開始されることが設定されています。
②Node の中から (Start) を実行します。
③Node (Start) には Transition が2つあり、 Sequence が小さい方を評価します。
④NextNode に設定されているのは (DocPrepare)です。このTransition には条件がありません。(条件なく複数のTransitionが指定されている場合の動作についてはまだ確認が取れていません)
⑤Node の中から(DocPrepare)を実行します。
⑥Actionには Document Action タイプが指定され、その内容は Prepare を実行すると設定されています。(プロセスの 1.1.1/1.1.2 と思われます)
⑦(DocPrepare には Transition が2つあり、Sequence が小さい方(5)を評価します。
⑧Sequence (5) には Conditionが設定されており、 Total Lines(総額)が10,000円より大きい場合はそのTransitionが評価されます。そうでない場合はこのTransition は評価されず、次にSequence が大きい Transition が評価されます。
Total Lines が 10,000円より大きい場合(承認が必要菜場合)
赤数字のフロー
⑨Next Node は Give me your approval. に続きます。
⑩Node の中からGive me your approval. を実行します。
⑪Action に指定されている UserChoice を実行します。(プロセスの 1.1.4 、 UserChoice のロジックは後ほど触れます。)
⑫Node (DocApproval) の Transition を評価します。
⑬Next Node は(DocComplete) に続きます。
⑭Nodeの中から (DocComplete)を実行します。
⑮Action に指定されている Complete を実行します。(プロセスの 1.1.3)

青数字のフローも同様に読みます

続いて UserChoice のロジックで必要なマスターの設定に行きます。
User やら Organization は基本的に設定済みで、次の図にある項目を追加設定していきます。



Node の Action が UserChoice で、 Column value が IsApproved の場合、次の順序でワークフローが検索されます。
1:伝票の作成者の Supervisor (上司・上長)に承認を求めます。
  上記 User のSupervisor です。
  西島さんの場合、広瀬さんが上司という設定となっています。
2:上司・上長が見つからない場合は、所属組織の所属長に承認を求めます。
  上記 User のOrganization のSupervisor
  西島さんは Organizationは HQ であり、この所属長は 遠藤さんになっています。
3:所属組織に Supervisor が設定されていない場合は、組織階層をエスカレーションしていきます。

たとえば西島さんが Requisition を作成した場合、広瀬さんに承認のリクエストが出されます。
広瀬さんが承認したらその Requisitionの Document Action は自動で Completed となります。

また、ロールによって、承認できる限度額が設定可能であり、これはユーザーが割り当てられたロールによって Approval Amount を設定することができます。

-------------
現時点では Workflow で設定した閾値と、ここでの Approval Amount の関係を正確に掴めていません。設定しながら確認したいと思います。
------------

次回は設定画面を確認しながらすすみたいと思います。




0 件のコメント:

コメントを投稿