日時フィールドの動作と形式

 

公開日: 2017年2月

対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

Microsoft Dynamics 365 で、日付と時刻 のデータの種類は、システム エンティティの多くのフィールドで使用されます。 たとえば、取引先企業をマーケティング キャンペーンでいつ最後に使用したかを、またはサポート案件がエスカレートされた日時を表示することができます。 また、日付および時間フィールドを含むユーザー定義エンティティを作成することもできます。 フィールドが表す内容に応じて、[ユーザー ローカル][日付のみ]、または [タイム ゾーン非依存] という複数の異なるフィールドの動作を選択できます。

このトピックの内容

日時フィールドの動作と形式

管理プロパティを設定して日時の動作を変更する

[日付のみ] の例: 誕生日と記念日

[タイム ゾーン非依存] の例: ホテルのチェックイン

日時フィールドに関する特別な考慮事項

日時フィールドの動作と形式

次の表には、[日付と時刻]フィールドの動作と形式に関する説明が含まれています。

動作

形式

フィールドの動作の変更

ユーザー ローカル

注意

これは、以前のリリースでのすべての日付および時刻フィールドの動作です。

  • フィールドの値は、ユーザーの現在のローカル時間で表示されます。

  • Web Services (SDK) では、これらの値は、共通の UTC タイム ゾーン形式を使用して返されます。

[日付のみ] - または - [日付と時刻]

ユーザー インターフェイス (UI) で、特定の既定のエンティティ フィールドの動作を、[ユーザー ローカル] から [日付のみ] に変更できます。 エンティティとフィールドの一覧については、「フィールドの動作を更新時に [日付のみ] に変更」を参照してください。 ユーザー定義エンティティ フィールドの動作を、[ユーザー ローカル] から [日付のみ] または [タイム ゾーン非依存] に変更できます。

フィールドの動作を変更すると、フィールドの動作の変更後に追加または変更されるフィールド値に影響があります。 既存のフィールド値は、データベース内では、UTC タイム ゾーン形式のままです。 既存のフィールド値の動作を UTC から [日付のみ] に変更するには、それをプログラムで実行するために開発者の助けが必要な場合があります。詳細:MSDN: データベース内の既存の日時の値の変換

警告

日時フィールドの動作を変更するには、その前に、業務ルール、ワークフロー、計算フィールド、またはロールアップ フィールドなどのフィールドのすべての依存性を検討して、動作の変更によって問題が発生しないことを確認する必要があります。 日時フィールドの動作を変更した後、変更したフィールドに依存する、業務ルール、ワークフロー、計算フィールド、およびロールアップ フィールドのそれぞれを開いて、情報を確認し、その情報を保存して、最後の日付フィールドの動作と値が使用されることを確認する必要があります。CanChangeDateTimeBehavior 管理プロパティを False に設定すれば、フィールドの動作の変更を制限することができます。詳細:管理プロパティを設定して日時の動作を変更する

日付のみ

  • タイムゾーンの概念はこの動作には適用されません。 フィールド値は、タイム ゾーンの変換なしに表示されます。

  • 値の時刻の部分は、常に午前 12:00 です。

  • 値の日付の部分は、UI と Web サービス (SDK) で指定されている通りに保存および取得されます。

日付のみ

[日付のみ] の動作は、いったん設定されると、他の動作の種類には変更できません。

タイム ゾーン非依存

  • タイムゾーンの概念はこの動作には適用されません。 フィールド値は、タイム ゾーンの変換なしに表示されます。

  • 日付と時刻の値は、UI と Web サービス (SDK) で指定されている通りに保存および取得されます。

[日付のみ] - または - [日付と時刻]

[タイム ゾーン非依存] の動作は、いったん設定されると、他の動作の種類には変更できません。

注意

DateTime のフィールドの種類を作成し、特定の動作を指定するには、[設定] > [カスタマイズ] > [システムのカスタマイズ] > [コンポーネント] > [エンティティ] を選択します。 必要なエンティティを選択し、[フィールド] を選択します。 フィールドの定義で、[種類] ドロップダウン リストで [日付と時刻] を選択します。

管理プロパティを設定して日時の動作を変更する

日時フィールドの動作を [日時の動作を変更可能] 管理プロパティを使用して変更できるようにするかどうかを制御できます。 フィールドの動作の変更を可能にする場合は、プロパティを true に設定します。それ以外の場合は、False に設定します。

注意

既定では、既定のシステム エンティティの日付フィールドについては、[日時の動作を変更可能] 管理プロパティは [False] に設定されます。 ユーザー定義の日付フィールドについては、既定では、このプロパティは True に設定されます。

管理プロパティを設定するには、次の手順を実行します。

  • [設定] > [カスタマイズ] に移動します。

  • [システムのカスタマイズ] > [コンポーネント] > [エンティティ] を選択した後、特定のエンティティを選択してから、[フィールド] を選択します。 フィールドを選択します。 コマンド バーで [その他の操作] を選択し、ドロップダウン リストで [管理プロパティ]​​ を選択します。

  • [管理プロパティの設定] ダイアログ ボックスで、[日時の動作を変更可能] プロパティを選択し、[True] または [False] を選択します。[設定] を選択して設定を保存します。

次のスクリーンショットに、[日付と時刻] 管理プロパティを示します。

Set managed property for Date/Time field

[日付のみ] の例: 誕生日と記念日

[日付のみ] の動作は、誕生日や記念日などの、時刻とタイムゾーンに関する情報が必要ない場合に適しています。 この選択の場合、Dynamics 365 の世界のすべてのユーザーに、まったく同じ日付の値が表示されます。

たとえば、ケビンとナンシーは Contoso 会社の営業部で働いています。Dynamics 365 に彼らの顧客および営業データが保存されています。 ニューヨーク (GMT-5) に勤務しているケビンは、1970 年 4 月 1 日の生年月日で取引先担当者レコードを作成し、そのレコードをナンシーに割り当てます。 シアトル (GMT-8) に勤務しているナンシーは、そのレコードを 3 月 31 日 に開きます。タイム ゾーンはナンシーのローカル タイム ゾーンに変換されないので、取引先担当者の正しい生年月日が 1970 年 4 月 1 日と表示されます。 システムのその他のすべてのユーザーは、所在場所に関係なく、取引先担当者のレコードを開くと、生年月日は 1970 年 4 月 1 日と表示されます。

[タイム ゾーン非依存] の例: ホテルのチェックイン

ホテル チェックインの時間など、タイム ゾーン情報が必要でないときに、この動作を使用できます。 これを選択した場合、Dynamics 365 の全世界のすべてのユーザーに、同じ日時の値が表示されます。

たとえば、リサとレベッカは、Dynamics 365 を使用して予約を追跡するホテル チェーンに勤めています。 リサはシアトル (GMT-8) に勤務しています。 レベッカはニューヨーク (GMT-5) に勤務しています。 顧客が、会社が経営する、ニューヨーク市内の 1 つの ホテルの部屋を予約するために電話をかけてきました。 リサは新しい予約レコードを作成し、予定のチェックイン時間を 2014 年 12 月 10 日、午前 11:00 に設定し、そのレコードを保存します。 顧客は、予定の時刻に、ニューヨーク市のホテルに到着します。 現地のホテルのフロント デスクにいるレベッカは、予約レコードを表示して、予定のチェックイン時刻を 2014 年 12 月 10 日、午前 11:00 として確認します。 レベッカは、顧客をホテルに迎え入れます。

日時フィールドに関する特別な考慮事項

システムのすべての標準およびユーザ-定義の日時フィールドは、既定で 1900 年以前の値をサポート

日時フィールド値は 1753 年 1 月 1 日午前 12:00 以降の日付をサポートします。

フィールドの動作の変更後の、計算フィールドとロールアップ フィールドの有効性を確保

計算フィールドまたはロールアップ フィールドの動作を変更した後、フィールドが有効であることを確保するためにフィールド定義を保存します。 保存するには、フィールド エディターを使用します。[設定] > [カスタマイズ] > [システムのカスタマイズ] > [コンポーネント] > [エンティティ] > [エンティティ X] > フィールド を選択します。 フィールドのフォームで、[フィールドの種類] ドロップダウン リストの横にある [編集] ボタンをクリックします。詳細:計算フィールドの定義 および ロールアップ フィールドを定義する

フィールドの動作を更新時に [日付のみ] に変更

既定では、標準のシステム エンティティとカスタム エンティティの [作成日] および [修正日] の日時フィールドは、[ユーザー ローカル] の動作に設定されます。 これらのフィールドの [CanChangeDateTimeBehavior] 管理プロパティは [False] に設定されます。 これらのフィールドの動作を変更することはできません。

既定では、次の標準の [日付と時刻] フィールドは [日付のみ] の動作に設定され、[CanChangeDateTimeBehavior] 管理プロパティは [False] に設定されます。

フィールド名

エンティティ名

記念日

Contact

Birthdate

Contact

期限

Invoice

推定 クローズ日

Lead

実際のクローズ日

Opportunity

推定 クローズ日

Opportunity

最終決定日

Opportunity

有効開始日

Product

有効最終日

Product

クローズ日

Quote

有効期限

Quote

[日付のみ] の動作でサポートされない日付および時刻のクエリ演算子

次の日付および時刻関連のクエリ演算子は、[日付のみ] に対しては無効です。 タイム ゾーンの変換は発生せず、時間はつねに 12:00 AM に設定されます。 これらの演算子の 1 つが使用されると、無効な演算子の例外エラーがスローされます。

  • が X 分よりも古い

  • が X 時間よりも古い

  • が過去 X 時間

  • が今後 X 時間

これは、UI の次の場所に適用されます。

  • [高度な検索]

  • 保存済みビュー エディター

  • ダイアログのクエリ Dynamics 365 ステップ

  • Outlook クライアントのオフライン フィルター エディター

  • レポート ウィザード

  • 高度な検索の列に対するユーザー定義フィルター

ソリューションのインポート時の日付フィールドの動作の変更

ソリューションのインポート時に、日時フィールドの動作を、[ユーザー ローカル] から [日付のみ] または [タイム ゾーン非依存] に変更できるのは、そのフィールドを所有するアンマネージド フィールドまたは管理ソリューションをインポートする場合にのみです。

関連項目

フィールドの作成および編集
計算フィールドの定義
MSDN: 日時属性の動作と形式

© 2017 Microsoft. All rights reserved. 著作権