Dynamics CRM 2015/Online 2015 更新プログラム 業務プロセスフローの新機能 その2


みなさん、こんにちは。

前回に引き続き業務プロセスフロー機能の新機能を紹介します。
前回の記事を見られていない方は合わせてご確認ください。
- Dynamics CRM 2015/Online 2015 更新プログラム 業務プロセスフローの新機能 その1

前回紹介した条件分岐により分かれたルートは最終的に同じルートにマージすることが出来ます。
これまで一部のステージが異なるため分けていた業務プロセスを 1 つにまとめることできます。

それ以外にも様々なポイントが強化されています。
・関連するフィールドを選択しやすくなった
・他エンティティのステージから戻ってもプロセスがクローズされない(継続できる)
・関連のないエンティティのステージを追加できるようになった
・SDK で操作できるようになった

早速見てみましょう。
今回も、前回の記事で紹介したサポート業務のプロセスをベースに紹介します。

事前準備
1. Dynamics CRM 2015 にログインします。
2. 設定 | カスタマイズ | システムのカスタマイズ を選択します。
3. 左ペインから プロセス を選択します。
4. 「サポート案件への電話のプロセス」をダブルクリックします。
ステージが条件分岐され、「緊急担当者をアサイン」ステージがあることを確認します。
すでに削除されている方は、画像の通り作成してください。

2772.image_5D00085D

5. 「緊急担当者をアサイン」ステージの下の「+ステージの挿入」をクリックします。

image

6. 「SLA の確認コール」ステージを追加します。
今回は、関連する電話エンティティのステージを選択します。

image

7. 関連付けの選択 をクリックします。関連フィールドを選択します。

image

ここでサポート案件のどのフィールドに関連づけるかを指定します。

ポイント:関連するフィールドを選択しやすくなった
前バージョンでは関連するすべてのエンティティの中から関連フィールドを選択する必要がありました(以下、前バージョンの選択画面)。今回のバージョンでは、ステージのエンティティがすでに選択されているため、エンティティが絞られた状態となり関連フィールドを特定しやすくなりました。

image

ポイント:関連のないエンティティのステージを追加できるようになった
前バージョンでは、関連するエンティティのステージしか追加できませんでした。今回のバージョンでは、関連しないエンティティのステージも追加できるようになりました。関連付けの選択 で「なし」を選択することで追加可能です。

8. ステップを追加します。

image

9. 「SLA の確認コール」が「リサーチ」ステージの前に追加されたことを確認して保存します。

image

ポイント:他エンティティのステージから戻ってもプロセスがクローズされない(継続できる)
前バージョンでは他のエンティティのステージから戻る場合、業務プロセスのサイクルはクローズする必要がありましたが、今回のバージョンでは、クローズする必要なく継続してプロセスを定義することが可能です。(以下、前バージョンの選択画面)

image

以上で、事前準備は完了です。

動作確認
早速サポート案件を作成して確認しましょう。
1. Dynamics CRM 2015 にログインします。
2. サービス | サポート案件 を選択します。
3. 新規サポート案件をクリックします。優先度を「高」に設定します。
次のステージが「緊急担当者をアサイン」に変化することを確認します。

image

4. サポート案件の件名を入力し、保存します。
5. 「→次の段階」で「SLA の確認コール」ステージまで進め、「作成+」をクリックします。

image

6. 同じ画面内に電話エンティティの新規フォームが表示されます。電話活動を作成します。

image

7. 「→次の段階」で「リサーチ」ステージに進めます。
電話エンティティのステージからサポート案件のステージに戻りました。

image

8. 「解決」ステージによりサポート業務のプロセスが完了します。
優先度「高」以外を指定した場合、異なるルート(ステップ 5,6 がない)となりますが、
最終的に、リサーチ、解決ステージにルートがマージされます。

以上で動作確認は終了です。

最後に今回の業務プロセスの新機能の制限事項を紹介します。

制限
・1 つのエンティティに最大 10 つのアクティブな業務プロセスを設定できる
・1 つの業務プロセスに最大 30 ステージ、1つのステージに最大 30 ステップ
・1 つの業務プロセスに含められるエンティティの種類は最大 5 種類
・分岐の条件に指定できるフィールドは、分岐直前のステージのエンティティフィールドのみ
・分岐に複数の条件を指定する場合、AND / OR どちらかに統一する
・ループは指定できない
・分岐の深さは 5 つ
・1 つのレコードに有効な業務プロセスは 1 つのみ

まとめ
いかがだったでしょうか。条件分岐とマージによりこれまで分けていた業務プロセスを
1 つにまとめることが可能になります。前バージョンからアップデートを検討されている方は、
是非業務プロセスの新機能で業務プロセスの最適化をご検討ください。
また、SDK での操作に関する情報は、別記事で紹介していきますのでお楽しみに!

- プレミアフィールドエンジニアリング 河野 高也

Comments (6)

  1. hattori より:

    いつもteamBlog参考にさせて頂いております。

    DynamicsCRMのフォーム画面にて、onchageイベントとjavascriptの関数名を紐づけているような機能が

    業務プロセスの入力フィールドに対してもできないか調べているのですが、

    見つけるけることができず、ここで質問させていただきました。

    ※業務プロセスにある入力フィールドの値が変わった時に、javascriptの関数を呼び出し、入力チェック等を行いたいと思っております。

    お手数をお掛けしますが、ご教授いただければ幸いです。

    よろしくお願い致します。

  2. コメントありがとうございます。

    業務プロセスフローのフィールドの値を変更した場合、連動してフォーム上の同じフィールドも

    値が変わりますので、フォーム上の該当フィールドに対して OnChange を設定いただければ

    連動して JavaScript 関数が呼び出されます。

    一度ご確認いただけますでしょうか。

    - 中村 憲一郎

  3. hattori より:

    ご回答ありがとうございます。

    javascriptの関数、呼び出すことができました。

    しかし、根本解決には至らず、、すいません、、追加で質問させてください。

    業務プロセスフローのフィールドの値を変更した場合、連動してフォーム上の同じフィールドも値が変わる

    とのことですが、フィールドの「関連フィールドのフィルタリング」は引き継がれないのでしょうか。

    フォームの入力フィールドについては、他のフィールドのコード値をフィルタ条件として、それに該当する値のみ

    表示されるのですが、業務プロセスフローの方は「検索ダイアログビュー」が適用されているようです。

    それで、今回javascritで、あえてフィルタリングをかけようと考え、試してみたかったという背景がございます。

    しかし、フォーム側には適用されたのですが、業務プロセスフローの方には適用されず、

    やはり「検索ダイアログビュー」が適用されているようでした。

    業務プロセスの入力フィールドにて「関連フィールドのフィルタリング」を適用するためのアドバイスをいただけないでしょうか。

    よろしくお願いいたします。

  4. 返信ありがとうございます。

    フィルタは UI 側の要素につくため確かにご指摘の挙動になります。Xrm.Page モデルは UI 側からと

    データ側からアクセスが可能ですが、一度データ側から関連するコントロールをすべて取得する方法で

    ビジネスロジック上のコントロールも取得可能かお試しください。

    msdn.microsoft.com/.../gg334409.aspx

    中村 憲一郎

  5. hattori より:

    アドバイスありがとうございます。

    教えて頂いた方法で業務プロセスフローのイベントを拾い、

    検索条件にフィルタリングをかけることができました。

    ありがとうございました。

  6. コメントありがとうございました。

    無事解決したようで安心いたしました。

    今後ともよろしくお願いいたします。

    中村 憲一郎

Skip to main content