定期的な予定マスター (系列) を作成すると、Microsoft Dataverse では、指定された定期的なアイテムの情報に基づいて個々の予定のインスタンスが作成されます。 また、個々の定期的な予定のインスタンスやこれらのインスタンスの例外を作成することも可能であり、予定を定期的な予定に変換できます。
定期的な予定の系列の作成
定期的な予定の系列 (RecurringAppointmentMaster
行) を作成するには、BookRequest メッセージ、CreateRequest メッセージ、または IOrganizationService.Create メソッドを使用できます
定期的な予定の系列を作成すると、次のことが発生します。
定期的な予定の系列の基本情報と反復情報を含む
RecurringAppointmentMaster
行が作成されます。 各行は、RecurringAppointmentMaster.ActivityId
プロパティを使用して一意に識別することができます。 さらに、この定期的な予定の系列もアクティビティ (ActivityPointer
) の行として作成、保存されます。 アクティビティの行は、ActivityPointer.ActivityId
プロパティを使って一意に識別することができます。それぞれの定期予定のインスタンスは、繰り返しの情報に基づいて作成され、
Appointment
行として保存されます。 これらの予定オブジェクトは、Appointment.SeriesId
プロパティを使用して、親の定期的な予定の系列に関連付けられ、このオブジェクトの値は、親の定期的な予定の系列の ID (ActivityPointer.SeriesId
) と同じ値です。これらのアポイントメント オブジェクトでは、
Appointment.InstanceTypeCode
プロパティの値が 定期インスタンス (選択値 2) に設定されています。注意
定期的な予定のインスタンスは、拡張モデルとそれを定義するパラメーターに基づいて作成されます。 詳細: 定期的な予定の部分展開モデル。
繰り返される予約シリーズを作成する方法を示すサンプル コードについては、サンプル: 定期的な予定を、作成・取得・更新・削除する を参照してください。
定期的な予定のインスタンスの作成
定期的な予定のインスタンス (RecurringAppointmentMaster
行) を作成するには、 CreateInstanceRequest を使用できます。 このメッセージは、次の 2 つのパラメータを取得します。作成するインスタンス数と、そのインスタンスを作成する対象となる定期的な予定の系列です。
このインスタンスは、定期的な予定の系列の最後のインスタンスの後に作成されます。 また、このインスタンスは、作成用に指定したインスタンスの数に関係なく、今後のインスタンスの締め日までにのみ作成されます。
定期的な予定の例外の作成
例外は、定期的な予定のインスタンスを更新または削除すると作成されます。 定期的な予定のインスタンスは、他の予定と同様に予定の行として保存されます。定期的な予定のインスタンスを識別するには、予定の行の Appointment.InstanceTypeCode
列の値が 定期的なインスタンス (選択値 2) である必要があります。
例外は次の方法で作成できます。
Appointment
テーブルの UpdateRequest クラスを使用して、定期的な予約のインスタンスを更新し、Appointment.InstanceTypeCode
列の値を 定期的な例外 (選択値3) に設定します。Appointment
テーブルの DeleteRequest クラスを使って、定期的な予約のインスタンスを削除します。 予定インスタンスを削除すると、親予定シリーズ オブジェクトのRecurringAppointmentMaster.DeletedExceptionsList
列にそのインスタンスのエントリが作成され、例外としてマークされます。Appointment
テーブルで CreateExceptionRequest クラスを使用します。
予定から定期的な予定への変換
定期的な予定とは、定期的なアイテムの情報を含む予定です。 AddRecurrenceRequest を使用して、Dataverse の既存の予定を定期的な予定に変換できます。 既存の予定を定期的な予定に変換すると、既存の予定のデータが新しい定期的な予定マスターのインスタンスにコピーされ、既存の予定が削除されます。