2015年1月28日水曜日

iDempiere 想定業務フロー 1.1 購買依頼 Requisition / ワークフロー workflow メール送信 実行系

前回までで、 Requisition の部内承認からの Status Completed までのワークフローをメールによる承認依頼付きでやってみました。
ただし現状では Create PO from Requisition は明示的にユーザーが実行する必要があります。


書籍 ADEMPIERE 3.4 ERP SOLUTIONS にあるワークフローの作成例に この Create PO from Requisition も自動化する設定が載っているので、これを参考に設定してみます。

新しい想定業務フローはこちら、(相変わらずバックグラウンド処理にもプロセスID振ってありますが今は無視してください。。)

新しい Process_Requisitionは次の様な仕様となります。



追加は色つきのところです。

これまでやってきたように、他の client に影響を与えないように Minotta Film の admin でログインします。(Organization は *)

Menu -> System Admin -> General Rules -> Workflow -> Workflow
から Process_Requisition を選択し、Node を追加します。(この作業にもずいぶんなれてきました。。)

Search Key とName に (Convert2PO) (名前は単なる識別子であることは確認済みなので、ここからはワークフローの Node のネーミングのお約束に従うことにします。)
Action: Apps Process
Process: Create PO from Requisition_M_Requisition_POCreate

(書籍ADEMPIERE 3.4 ERP SOLUTIONS には Process に M_Requisition_POCreate とだけ書いてあり、探すのに苦労しましたが、 Create の一団のところにありました。)
次は子タブの Parameter です。ここは初めていじるな。。。
Process Parameter: Requisition
Attribute Value: @M_Requisition_ID@ 
この "@" に囲まれたものは、、、
以前の投稿「iDempiere アプリケーション辞書 画面のカスタマイズ(Default Logic)」でちょっとでてきました。
これは M_Requisition_ID という変数にセットされた値が展開されるということです。

では、この M_Requisition_ID とは何なのでしょうか?
それはこのワークフローが呼び出されている時に処理されている Requesiton の IDです。
つまり、この (Create2PO)は、これを処理している Requsition の伝票に対して POへ変換するということになります。

今作成した (Create2PO) は Process_Requisiton の最後です。このため現時点の最後の Node  の (DocComplete) から呼び出されるように設定します。

(DocComplete) を開き、Transition を新規作成します。

Next Node: (Create2PO)

これで終了。保存・終了し、確認してみます。

以前と同様西島さんでログインし、 Requisitionを新規作成します。

私はM_Requisition_IDの意味確認のため、前回作成した Requisitonを残して処理をしてみました。

まずは前回のRequisition の残骸( Create PO from Requisition していないもの)
Requisition の Document No 900085 はApprove 済みで Status は Completed ですが、まだ Create PO from Requisition されていないことを示しています。
(Create PO from Requisition されると、この行が消されます。)
 新たに Requisitionを作成します。
Requisition No は 900086 です。
作成直後の Open Requisitionです。
900085 はそのままですが、 900086が追加されています。
Doc Action: Complete / Doc Status: In-Progress であることから承認待ちであることが解ります。

広瀬さん宛てにメールで承認依頼が飛bので、広瀬さんでログインし直し承認をします。
(画面省略)
 承認後、西島さんでログインしなおします。

で、また Open Requisition 確認、
先ほど Requisition した 900086が消えています。(900085 は依然として残っています)
Open Requisition から消えたと言うことは、 すでにPurchase Order に変換 されているはずですので、確認してみます。
Requisition の Document No 900086 から Purchase Order の Document No 800078  が生成されているのが解ります。
 中を確認してみると、
今Requisition 900086 から生成された Purchase Order 800078 が Document Status: Drafted にて生成されていることが解ります。


ワークフローにより Create PO from Requisition のプロセスは、コンディションを設定していないので、承認の要不要に関わらず実行されます。つまりCreate PO from Requisitionはこれで必要なくなりました。
ただし、この投稿で確認したように、適用前のトランザクション (Requisition 900085) が残っているとそのままになってしまいますので後片付けはしておくことにします。(笑)

書籍 ADEMPIERE 3.4 ERP SOLUTIONS には Requisitionのワークフロー中に、フィールドに文字列を書き込む Nodeの実装についても解説しています。
現時点私は食指動かずスルーします。ご興味のある方は挑戦してみてはいかがでしょうか?


0 件のコメント:

コメントを投稿