ワークフローで簡単監査ログ

今日は少し暑さも和らぎましたが、まだまだ残暑が続きそうですね。ビールが美味しい毎日が続くと考え、猛暑を乗り切ります!
今週は、簡単な操作で追加できる監査ログについてご紹介します。

監査ログ機能に関するご要望は皆様から頻繁に頂戴するご要望で、既に Audit Plugin を利用されている方も多いのではないでしょうか。
管理部門等で必要となる監査ログには、ここでご紹介する以上の詳細な内容が求められると思いますが、CRM 4.0 のワークフローを使用して、コーディングなしで実現できる監査ログを 2 種類紹介します。
更新したフィールドだけを表示したり、更新前/更新後の値を表示するということが必要な場合、やっぱりプラグイン、となるかもしれませんが、ワークフローだけでもこれくらいの機能は追加できるのだな、という参考にしていただければ幸いです。

ワークフローを使用してメモに監査ログを追加する

情報提供元:
Tip o’ the Day: Quick Codeless Auditing Tool
https://blogs.msdn.com/b/crm/archive/2010/08/17/tip-o-the-day-quick-codeless-auditing-tool.aspx

1. ワークフローの定義

取引先担当者の"姓"が変更されたことを、[メモ] タブにメモとして記録するワークフローを定義します。
ワークフローの開始時期は、レコードの作成、およびレコード属性の変更時とします。 

ここでは、取引先担当者の姓が変更された場合に、更新日、更新者、更新した値を記録するようメモの内容を定義し、ワークフローを公開します。

2. 取引先担当者レコードを作成、更新

早速、新しい取引先担当者 "斎藤" を作成します。レコード作成をトリガーとして、定義したワークフローが実行されます。

 

その後、取引先担当者 "斎藤" の姓を "斎藤(更新)" に変更します。 [メモ] タブに、作成時、更新時のログが記録されます。
メモに一覧表示された内容を比較することで、変更前と変更後の値を確認することもできます。

ワークフローを使用して、カスタム エンティティに監査ログを追加する

情報提供元:
Use Workflow to Configure Business Data Auditing in Microsoft Dynamics CRM 4.0
https://blogs.msdn.com/b/crm/archive/2008/06/13/use-workflow-to-configure-business-data-auditing-in-microsoft-dynamics-crm-4-0.aspx

※ ブログが長くなるのを防ぐために、情報提供元の英語版とステップ番号が異なっています。

1. カスタム エンティティ [取引先担当者監査ログ] を作成し、属性を追加します。

取引先担当者監査ログの属性は、取引先担当者エンティティの更新値を表示するための属性(フィールド)です。
取引先担当者エンティティの更新情報で、監査ログに表示したい属性を追加してください。

    

2. N:1 関連付けの作成

取引先担当者監査ログエンティティの N:1の関連付けとして、主エンティティ [取引先担当者] - 関連エンティティ [取引先担当者監査ログ] の関連付けを作成します。
動作の種類は、"参照、削除制限" を指定します。これによって、親エンティティレコードが削除された場合も、関連づけられた監査ログが削除されることを防ぐことができます。

3. 監査ログフォーム、関連ビューをデザインし、エンティティを公開します。

    

4. セキュリティロールで、カスタム エンティティ [取引先担当者監査ログ] へのアクセス許可を付与します。

監査ログの目的上、管理者以外の一般ユーザーには更新、削除ができない設定にする必要があります。

5. カスタム エンティティ [取引先担当者監査ログ] に更新されたデータ情報を書き込むためのワークフローを定義します。

ワークフローの開始時期は、レコードの作成、およびレコード属性の変更時とします。 レコード属性の変更については、変更を確認する取引先担当者エンティティの属性を選択します。

6. ワークフローのステップを定義します。

6-1. レコードの作成 : 取引先担当者監査ログに、取引先担当者の動的な値を格納するよう定義します。

6-2. 条件分岐を追加し、取引先担当者レコードの新規作成か、更新かを確認し、監査ログの名前を更新します。
条件は、取引先担当者のレコード作成日と修正日が一致する場合は、新規作成、異なる場合は、更新、と判断するように定義します。

7. ワークフローを公開し、取引先担当者 "斎藤" の住所を更新します。

    

簡単監査ログといいつつ、結構長くなってしまいました。
暑さが倍増していないことを祈りつつ、ここで失礼します。

- Dynamics CRM サポート 斎藤 さち江