Dynamics CRM Online 2015 Update 1: 日付列の新機能

みなさん、こんにちは。

今回は Microsoft Dynamics CRM Online 2015 Update 1 で提供される
日付型の新機能を紹介します。

タイムゾーン非依存の日付サポート

Microsoft Dynamics CRM は複数のタイムゾーンユーザーをサポート
するために、日付型はすべて UTC としてデータベースに値が保存
されており、表示する際にユーザーのタイムゾーンに合わせた変換が
行われます。これは大概のシナリオでうまく機能します。

しかし誕生日のように、タイムゾーンに関係なく同じ日付を保持する
事が求められるようなデータに対しては文字列型を使っていました。

今回のリリースでは 2 種類のタイムゾーン非依存型をサポートします。

日付のみ

誕生日など、時刻までデータを保持する必要がない場合に使います。
時刻は 0:00 が自動的に入ります。

タイムゾーン非依存

画面や SDK から入力された時間がそのままデータベースに保存され、
表示される際もタイムゾーンの変換を行いません。

ユーザーローカル

これまでと同じ動作となります。

では早速試してみましょう。

1. ブラウザで Microsoft Dynamics CRM Online に接続します。

2. 任意のエンティティのカスタマイズ画面よりフィールドを追加します。
ここでは取引先担当者を使ってみます。

image

3. 比較のため、まずはこれまでの形式で日付フィールドを作成します。

image

4. 続いて「日付のみ」動作でもう 1 つフィールドを作成します。

image

5. さらに「タイムゾーン非依存」でも作成します。

image

6. 作成した 3 つのフィールドをフォームに配置して、カスタマイズを
公開します。

image

7. 任意の取引先担当者レコードを開いて、誕生日を入力します。尚、
ユーザーのタイムゾーン設定は GMT+9 の日本時間とします。

image

8. レコードを保存します。

9. ユーザーのオプションよりタイムゾーンを変更します。ここでは
(GMT-4) の大西洋標準時間にしてみました。同じ担当者レコードを
表示します。ユーザーローカル動作の場合、日付が 1 日遡っている
事を確認します。

image

既存日付フィールドの動作変更

手動での変換

日付フィールドの動作が「ユーザーローカル」の場合、「日付のみ」
または「タイムゾーン非依存」に変換することができますが、一度
変更するともとには戻せません。変更は既存の日付型フィールドを
開いて、動作を変えるだけで完了です。

動作変更時の詳細な変換指定

動作を変更した場合、既定ではデータベースに保存している UTC の
値を変換先の値として利用します。もしレコードの所有者や変換を
実施しているユーザーのタイムゾーン、または任意のタイムゾーンで
変換をかけたい場合は SDK を利用します。詳細は後日紹介します。

まとめ

タイムゾーンに依存しない日付データを利用すると、意図した日時を
表示できるほか、形式は日付型のため Excel で分析する場合などにも
便利です。是非お試しください!

- 中村 憲一郎