2015年1月26日月曜日

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

ワークフローは権限の問題にからむため、制御するための設定がやや複雑のようです。

Workflowでのノードのコンディション設定
Userでの Supervisor 設定
Organizationでの Supervisor & 階層設定
Role毎のApprove 権限設定

組み合わせの優先度等あいまって、全パターンを整理するのには時間がかかりそうです。
現時点での確認事項は後ほど記述しますが、使いこなすためにはきちんと整理する必要があると思います。

とりあえず設定について記述します。

前回の投稿で概要について書いた内容を反映してみます。

まずユーザーの設定
設定は Adminでログインします。(今回の例では広瀬さん)

Menu -> System Admin -> General Rules -> Security -> User
User Contact 画面となるので、 Supervisor  を設定します。
(今回エスカレーションの検証パタンは Organization は使わないので指定しません。必要と気力に応じて設定してみてください。)

また、子タブの User Roles を割り当てます。

1:西島さん
  Supervisor :多田さん
  Role: Minotta Film User
2:多田さん
  Supervisor: 広瀬さん
  Role: Minotta Film User
3:広瀬さん
  Supervisor: 遠藤さん
  Role: Minotta Filem Admin




続いて Role の Approval Amount の設定です。
Menu -> System Admin -> General Rules -> Security -> Role
1:Minotta Film User
  Currency: JPY
  Approval Amount: 50,000
2:Minotta Film Admin
  Currency: JPY
  Approval Amount: 100,000


前回の投稿から少し変えました。
下の様になっています。(昨日のままでも良いのですが、一点確認したいことがあり、、)



続いてワークフローの修正をします。

この作業は Admin ユーザー(Organization は *)でログインしなおす必要があります。
System ユーザーで作業を行うと、他のクライアントにも影響を与えます。


Menu -> System Admin -> Workflow -> Workflow

ここから Process_Requisition を選択します。

iDempiere 導入時は4つの Nodeにより構成されています。
(Start) (DocPrepare) (DocComplete) (DocAuto)

今回ここに (Approve) を追加します。
ちなみに既存のWorkflow は System ユーザーの所有のため、グレーアウトされており編集できません。修正する必要がある場合は System ユーザーでのログインが必要となりますが、他のクライアントへの影響を考慮する必要があると思います。

子タブ Node を新規追加します。

Search Key: Approve
Name: Give me your approval.
Action: User Choice
Column: IsApproved_Approved

子タブ Transition
Next Node: DocComplete
-------------------------
ちょっと不思議というか、トラップというか、仕様というか。。。
Approveのテストに一度Nodeを追加し、トランザクション実行後に削除しようと思ったのでうが、削除できませんでした。(外部キー制約)
しかたがないので Active じゃなくしてそのままにしていたのですが、、

今回新たに Action : User Choice のノードを作ろうとしたのですが、、
なぜかColumnを選ぼうと思っても一覧表示されません。

ためしに 以前作成したNodeの Action をUser Choice ではなく Wait に修正したら、新規追加のNodeのColumnから一覧の選択・指定ができるようになりました。
どうやら1つのWorkflow にて User Choice は1度しか使えないようです。

外部参照キーがあるので削除できないというメッセージが最後まで読めなくて、該当箇所を絞り切れていません。ワークフロー一度作ると修正に制限があるようなので、注意が必要ですね。)
---------------------------

続いて、Workflow  "Process_Requisition" に今追加した Node "Give me your approval." を 呼び出すよう修正します。

修正箇所は、呼び出し元となる Node "(DocPrepare)" です。

一度親タブである Workflow  "Process_Requisition" に戻り、子タブからNode "(DocPrepare)" を開きます。

この Node にさらに子タブの Transition を新規追加します。

Next Node: Give me your approval.  (さっき追加したNode)
Sequence: 5  (すでに存在しているTransitionより小さい数字)


ちょっと長くなってきたのですが、もう一つ設定が必要です。
今追加した Transitionに Conditionを加える必要があります。
これが条件分岐、条件を満たした場合のみこのTransitionが実行されます。
つまり条件を満たした場合は "Give me your approval. " が Next Node として選択され、満たさない場合は標準のまま "(DocComplete)"が選択されることになります。

Column: TotalLines_Total Lines (明細の金額合計)
Operation: >
Value: 70,000      -------   (画面は 10,000となっていますが、ここでは 70,000が正です)
これで設定は終了(のはず)です。

いろいろ確認していたら思った以上に時間がかかってしまいました。。
次はトランザクション流して動作確認してみます。






0 件のコメント:

コメントを投稿