Dynamics CRM 2013/Fall '13 ユーザー定義アクション その 3

みなさん、こんにちは。

今回はすでに公開済みの操作を変更するシナリオを紹介します。
前回からの続き物となりますのでご注意ください。

Dynamics CRM 2013/Fall '13 ユーザー定義アクション その 1
Dynamics CRM 2013/Fall '13 ユーザー定義アクション その 2

シナリオ

オープン状態の潜在顧客に対して電話活動が行われていない場合
これまでは担当者にメール通知をしていましたが、プロセス追加
により、メール通知以外にもタスクの作成も行います。

操作の変更

すでにアクティブ化した操作の変更は以下の手順で行います。

1. 設定モジュールよりプロセスを選択します。

2. アクティブ化済みの潜在顧客のフォローアップ操作を開きます。

image

3. 非アクティブ化ボタンをクリックして操作を非アクティブに
します。

4. ステップの追加よりレコードの作成を選択します。

5. 作成対象よりタスクを選択し、プロパティをクリックします。

image

6. タスクに必要な情報を入力して保存してください。

7. プロセスの変更が完了したので、エディターの画面でアクティブ
化をクリックします。

8. 操作が再びアクティブになります。

SDK からの実行

前回作成したアプリケーションを実行します。実行が完了したら
電子メールおよびタスクが作成されていることを確認します。

image

上記のようにプロセスの変更時に SDK の改修が不要であり、業務
プロセスだけを修正することが可能です。

次にエラーが発生した際のトラブルシューティングを紹介します。

トラブルシューティング

操作のトラブルシューティング方法はワークフローと同様の手順で
実施します。今回はエラーを発生させるため、上記の操作に関して
タスクの作成が失敗するようにカスタムプラグインを登録しました。

このカスタムプラグインのコードは以下の通りです。

public class MyPlugin : IPlugin
{
    public void Execute(IServiceProvider serviceProvider)
    {
        throw new InvalidPluginExecutionException("サンプルエラーが発生しました");
    }
}

SDK プログラムでのエラー

SDK プログラムには実行時のエラーが返ります。そのため内容に
応じたハンドルが可能です。

image

操作の履歴から確認

操作からも以下手順でエラーが確認できます。

1. 設定モジュールよりプロセスを選択します。

2. アクティブ化済みの潜在顧客のフォローアップ操作を開きます。

3. 画面左側にあるプロセス セッションをクリックします。

4. 失敗のログの記録されていることを確認します。

image

5. レコードを開いて詳細を確認します。

image

タスクの作成で失敗しているにも関わらず、トランザクションを
有効にしてることから電子メールの送信アクションも取り消しと
なっています。

トランザクション処理およびエラー処理の変更

操作では既定で 「ロールバックを有効にする」および「エラーが
発生したワークフロー ジョブのログを保持する」 が有効になって
います。必要に応じてオプションを変更することで挙動を制御する
ことが可能です。

オプションを変更した際の違いを実際にお試しください。

今回重要な点は、プロセスの変更およびエラー発生時のログ確認が
いずれも GUI から行うことができるという点です。よって開発者
の負担が減るばかりでなく、完全な分業が可能となります。

次回は操作に対する入出力パラメーターの利用を紹介します。

- 中村 憲一郎