このコンテンツは D365BCのワークフロー作成方法(概要) | IT長のネタ帳 (d3654.be) のサブコンテンツです。
今回は Assisted Setup 機能を使用してBCのワークフローを作成し、BCのWFの構造を理解します。
まずはAssisted Setup機能を検索して実行。

Set up approval workflow というカテゴリの下に6つの行が存在します。ワークフローを作成するのは下の3つの行です。今回は下から2行目のSet up a customer approval workflow を使用します。 ’Set up a customer approval workflow’ をクリックするとWizardが開始されます。

最初の画面に説明が書かれていますので読んだら「Next」を選択。

次の画面では ‘The workflow starts when’ という項目でワークフローの起動条件を指定します。BCのワークフローには2種類あります。一つは「ユーザーが承認依頼ボタンを手で押したとき」です。もう一つは「既定の項目が変更されたとき」です。今回は一つ目の「ユーザーが承認依頼ボタンを押したとき」の例で説明します。 ‘The user send an approval requests manually’ を選択します。まだNextは押してはいけません。

次に ‘Approver’ を指定します。WFの承認ルートの決定は奥が深い世界なのですが、今回はシンプルに特定の固定ユーザーが承認者である、という例にします。プルダウンボタンを押すと…

選択肢が何も表示されません。これはworkflowの承認ユーザーが誰も設定されていないからです。プルダウンの右下に表示されている ‘Select from full list’ を選択します。

すると承認者の一覧画面が表示されています。ただし、まだ誰も登録されていません。ここでEdit list をクリックします。

すると編集画面になますので、ユーザーを指定します。BCの基本的な仕様ですが、自分自身を承認者に設定すると承認依頼した瞬間に承認完了してしまいます。したがって自分以外のユーザーを指定する必要があります。承認ユーザーを登録する際にはそのユーザーの上長をApproverIDに指定する必要がありますので、以下のように設定します。そして自分以外のユーザーを選択してOKボタンをクリックします。

自分以外のユーザーが承認者として設定されました。ここでNextをクリックします。

Wizardの最後の画面です。すべて設定は完了したのでFinishをクリックします。

Assisted Setupの画面に戻ってきました。Completed列がONになっています。これで設定完了です。

Wizardで作成されたワークフローを見てみましょう。’Workflow’で検索して機能を実行。

ワークフローの一覧画面です。Customer Approval Workflow というワークフローが一つだけ作成されています。これをクリックしてみます。

作成されたワークフローの構造を見ていきます。上半分はワークフローのコードや名称、カテゴリです。下半分はワークフローの振る舞いが記述されています。具体的には、
・When Event:何が起こったとき
・On Condition:どんな条件をみたしたら
・Then Response:何を行うか
が記述されています。
1行目には最初のトリガーが記述されています。得意先マスタのカード画面で承認依頼ボタンが押されたときに何をするかが記述されています。’Then Response’をクリックしてみましょう。

Responseの一行目には(承認依頼のボタンが押されたときには)’Restriction Record’を追加する、という事が書かれています。このRestriction Recordは最初は理解するのが難しいのですが、簡単に言うと、あるテーブルレコードに関してRestriction Recordが存在するとそのレコードについて処理が出来なくなる仕組みです。例えば得意先AのRestriction Recordが存在していると、受注の転記が出来ない、などです。このRestriction Recordは承認されたとき/却下されたとき/取り下げられたときに削除されます。

次に2行目です。ここでは承認者に対して承認依頼のレコードを作成しています。このレコードをもとに承認者は承認依頼を検知し、承認処理を進めます。合わせてここでは承認者を指定しています。今回はCEADMINというユーザーになっています。これはWizaird中に指定しました。

4つ目のレスポンスは承認要求の通知です。

2行目以降の明細は最終承認されたとき/中間の承認が処理されたとき/却下されたとき…などの説明です。

設定はこれだけで完了です。次回は実際にこのワークフローを動かしてみましょう。
4件のコメント