Japan Dynamics CRM Team Blog

Microsoft Dynamics CRM technical information for partners and customers

Dynamics CRM 2013/Fall '13 新フォーム紹介 その 5

Dynamics CRM 2013/Fall '13 新フォーム紹介 その 5

  • Comments 0

みなさん、こんにちは。

今回は Microsoft Dynamics CRM 2013 および、Microsoft Dynamics
CRM Online Fall '13 新フォームの自動保存機能を紹介します。

概要

Microsoft Dynamics CRM に限らず、多くの方がデータの入力中に
誤って画面を閉じてしまったり、問題の発生でアプリケーションが
強制終了してしまい、入力したデータを失った経験があるはずです。

既に Microsoft Office アプリケーションでは、一定間隔で自動保存
を行い、問題発生時のロスを最小限にするよう設計されています。

参考: Office ファイルを自動的に保存および回復する

Microsoft Dynamics CRM 2013 および、Microsoft Dynamics CRM
Online Fall '13 はフォームの自動保存機能を提供します。

自動保存が動作するタイミング

自動保存はレコードが一旦作成されるまでは機能しないため、新規
レコードの作成時には、一旦レコードを保存する必要があります。
その後、以下のタイミングでレコードが自動保存されます。

1. フィールドの値が変更され、フォーカスを失ってから 30 秒後
2. ユーザーがフォームから移動したタイミング

尚、1 において変更途中のフィールドは保存対象となりませんので
中途半端な値が保存されることはありません。また自動保存間隔は
変更できません。

自動保存実行時の挙動

自動保存でレコードが保存される場合は、ユーザーが手動で保存を
行う場合と同じ処理が行われるため、以下機能が動作します。

- OnSave スクリプト
- プラグイン
- ワークフロー

よってこれらの機能を利用している場合、自動保存が動作する事を
考慮しておく必要があります。

自動保存の無効化

開発したスクリプトやプラグインなどが、自動保存を考慮されて
いない場合、自動保存を無効にすることが可能です。

1. 設定モジュールより管理を選択します。

2. システム設定を開きます。

3. 全般タブにある「すべてのフォームでの自動保存の有効化」項目で
いいえを選択し、OK ボタンをクリックします。

image

残念ながら、一部のエンティティのみ自動保存を無効にすることは
できません。

OnSave スクリプト内で自動保存のキャンセル

任意のエンティティでのみ自動保存を行いたくない場合は、フォーム
スクリプトの OnSave イベントにて自動保存かどうかを判定し、保存
をキャンセルできます。

保存の種類を判別するには、execObj.getEventArgs().getSaveMode() を
使用できます。

参照: http://msdn.microsoft.com/ja-jp/library/gg509060.aspx

自動保存中のアイコン

編集フォームでフィールドを変数した場合、画面右下に以下内容が
表示されます。

image

30 秒後に、以下の表示に変化します。

image

最後に以下のアイコンに変化します。

image

まとめ

レコードの自動保存機能はユーザーの作業効率を高めるとともに、
障害発生時のデータロスも最小限にとどめる反面、開発を行って
いる環境ではその挙動に注意が必要です。とても便利な機能です
ので、まずはその動作を体験してみてください。

- 中村 憲一郎

 
 
 
  • Loading...
Leave a Comment
  • Please add 6 and 2 and type the answer here:
  • Post