次の方法で共有


予定、連絡先、またはタスクの複数のユーザーに既定の同期フィルターを設定する

サーバー側の同期では、ユーザーが設定した同期のフィルター条件を使用して、そのユーザーの Exchange と同期するアプリの行を決定します。 同期フィルターは、ユーザーが予定、連絡先、タスクなどの行に対してサーバー側同期を最初に構成したときに初期化されます。 詳細: オンライン同期フィルターの作成または変更

ユーザーのメールボックスがサーバー側同期で設定されている場合、ユーザーの 個人用オプションユーザー フィルター にリストされている同期フィルターは、サーバー側同期に適用される既定の同期フィルターです。 次の同期サイクルが発生すると、サーバー側同期は、ユーザーが設定した同期フィルターを使用して、FetchXML ロジックを満たす既存の行を同期します。

Outlook または Exchange の同期の設定ページを示すスクリーンショット。

シナリオによっては、既定の同期フィルター ロジックを使用しない方がよい場合があります。 以下の図では、組織は 自分の Outlook 連絡先 という名前の同期フィルター テンプレートを使用していますが、テンプレートの同期のフィルター条件は組織では機能しません。

所有者が現在のユーザーで、状態がアクティブである自分の Outlook の連絡先フィルターを示すスクリーンショット。

組織が、同期するユーザーが所有するすべてのアクティブな連絡先を同期するのではなく、既定で配布されるフィルター ロジックに追加の制限を加えた方がよい場合もあります。 ロジックはユーザーごとに 1 つずつ変更できますが、時間がかかり、ユーザーがサーバー側同期を設定するたびに、既定のロジックを変更する必要があります。 このロジックを変更するより良い方法は、ユーザーがサーバー側同期を使用するように初期設定されたときに配布される既定のロジックを変更することです。

このトピックでは、現在の同期フィルターを検索し、環境内の複数のユーザー向けの新しい同期フィルターに置き換える方法について説明します。

XrmToolBox を使用する

Dynamics 365 組織のソリューション エディター内から既定の同期テンプレートを編集することはできません; これは、XrmToolBox を使用して作成した Dynamics 365 API への呼び出しによって行う必要があります。 XrmToolBox は、Dynamics 365 アプリのデータを操作するためのさまざまなツールを備えたサード パーティ アプリケーションです。 詳細: XrmToolBox ドキュメントへようこそ

XrmToolBox を開き、組織に接続します。 構成 タブで、ツール ライブラリ を選択し、検索ボックスに 同期フィルター と入力して、 同期フィルター マネージャー を選択します。

ツール ライブラリ メニューを開きます。

ツール ライブラリで同期フィルターを検索します。

ステップ 1. 現在の既定の同期フィルターを確認します

  1. XrmToolBox で、ツール メニューに移動し、同期フィルター マネージャー を開きます。

    同期フィルター マネージャーを開きます。

    既定のランディング ページが開きます。 ここで、既定の同期フィルターを変更できます。

    既定のランディング ページのスクリーンショット。

  2. 同期フィルター テンプレート タブで、同期フィルター テンプレートの読み込み を選択します。

    Note

    テンプレートには Outlook テンプレートオフライン テンプレート の 2 種類があります。 サーバー側同期では、Outlook テンプレートを使用します。 非推奨の Dynamics 365 for Outlook (COM アドイン) でオフライン モードに使用されていたオフライン テンプレートを無視することができます。

    同期フィルター テンプレート タブのスクリーンショット。

    ユーザーが変更を加えていない場合、Outlook テンプレートは、ユーザーが 個人用オプション の同期フィルター設定での設定と一致します。

    個人用オプションのスクリーンショット。

    個人オプションのユーザー フィルターのスクリーンショット。

ステップ 2. テーブルのビューを作成し、同期フィルターを設定します

テーブルの既定フィルターを変更するには、テーブルの既定ビューを編集する必要があります。

  1. ソリューション エクスプローラーを開いて、エンティティ を展開し、目的のテーブルを選択して ビュー を選択します。

  2. 新しいビューの作成を選択します。

    新しいビューを作成します。

  3. プロパティの表示 ダイアログで、ビューの名前と説明 (この例では、更新された自分の Outlook 連絡先 という名前を使用) を入力し、OK を選択します。

  4. タスクフィルター条件の編集 を選択します。

    フィルター条件の編集を選択します。

  5. フィルター基準の編集ダイアログで、ビューのフィルター基準を定義します。 たとえば、特定の日付を過ぎた連絡先のみを同期するように、連絡先テーブル フィルターを設定できます。 既存の 自分の Outlook 連絡先 フィルターに既に含まれていた他の条件は同じままです。

    演算子が次の日付以降で日付が 7/29/2021 である、作成日の行が追加されたフィルター条件の編集ダイアログのスクリーンショット。

  6. OK を選択してビューを保存します。

ステップ 3: 新しいビューを既定の同期フィルターとして設定します

ビューを保存した後、XrmToolBox を使用してビューをロードします。

  1. XrmToolBox を開きます。

  2. 既定のランディング ページから、システム ビュー タブを選択します。

  3. ビューのリストから、手順 2 で作成したビューを選択し、作成>選択したビューからの同期フィルター テンプレート を選択します。

    XrmToolBox システム ビュー画面のスクリーンショット。

  4. ルール テンプレートの種類の選択 ダイアログで、Outlook テンプレート を選択し、OK を選択します。

    Outlook テンプレートを選択するスクリーンショット。

  5. 次の画面で、一部のユーザーにフィルターを適用するかどうかを尋ねられたら、いいえ を選択します。 サーバー側同期を設定している現在のユーザーには、既に 自分の Outlook 連絡先 同期フィルターが設定されているため、今回追加すると、連絡先テーブル フィルターが追加されるだけです。

  6. 同期フィルター テンプレート タブを選択し、作成した新しいビューを検索して選択し、既定として定義 を選択します。

    更新された自分の Outlook 連絡先が選択され、コマンド バーに既定として定義コマンドが強調表示されているスクリーンショット。

既定 値が True に設定されているフィルター テンプレートのみが新しいユーザーに配布されます。 組織に新しいユーザーが設定されると、先の画像に示されている他のすべての既定のビューとともに、更新された自分の Outlook 連絡先 がフィルター条件として設定されます。 これにより、予定、連絡先、タスクにサーバー側の同期を使用するように既に構成されている既存ユーザーのフィルター セットが変更されることはありません。 古い私の Outlook の連絡先フィルターを使用しない場合は、削除できます。

ステップ 4: 古い同期フィルターを削除します

古い既定のフィルターを使用しているユーザーの場合、削除する必要があります。

  1. XrmToolBox を開きます。

  2. 既定のランディング ページから、ユーザーの同期フィルター タブを選択し、オフライン フィルターの表示 チェックボックスをオフにします。

    オフライン フィルターの表示チェックボックスをオフにします。

  3. コマンド バーで、ユーザーの同期フィルターの読み込み を選択し、すべてのユーザー を選択します。 組織内のユーザー数によっては、リストの読み込みに時間がかかる場合があります。

    ユーザーの同期フィルターの読み込みメニューからすべてのユーザー選択します。

  4. リストが完全に読み込まれたら、グループ化 を選択し、返り値の種類 を選択します。 これにより、フィルターがテーブルごとにグループ化されるため、グループとして削除できます。

    グループ化メニューから返り値の種類を選択します。

  5. 削除する行を選択し、削除 を選択します。

ステップ 5: 新しい同期フィルターを適用します

古いフィルターを削除後、新しい Outlook フィルター テンプレートを適用できます。

  1. XrmToolBox を開きます。

  2. 既定のランディング ページから、同期フィルター テンプレート タブを選択し、手順 2で作成した新しいフィルター テンプレート (この例では 更新された自分の Outlook 連絡先) を選択します。 コマンド バーでユーザーに適用を選択します。

    新しいテンプレートを選択します。

  3. ポップアップ ウィンドウで、テンプレートを適用するユーザーを検索して選択し、OK を選択します。 フィルターを適用したユーザーを ユーザー同期フィルター タブで確認できます。

    新しいフィルターを適用後、ユーザーは 個人用オプションを設定 の設定で適用されたテンプレートを表示できるようになります。

    個人用オプションの設定画面。

同期フィルター論理のベスト プラクティス

既定の同期フィルター論理を変更すると、行の同期が大幅に変わる可能性があります。 変更を行うときに使用するベスト プラクティスを次に示します:

  • 運用環境に適用する前に、テスト環境でカスタム同期フィルターを検証します。

  • 高度な検索フィルターにフィルター条件を適用すると、現在のユーザーに対して同期されている行が表示されます。 これは、正しく機能しないフィルター状態のトラブル シューティングを行うときに知っておくことが重要です。

  • 活動のパーティとそのパーティの種類は、Exchange の値に関連付けられているため、変更しないでください。 良い例は、行の所有権とは関係のない所有者参加タイプです。 Activity Party SDK 値の内訳については、ActivityParty TableType を参照してください。

  • より制限的なフィルター基準を適用するための最良のアプローチは、変更するテーブルにカスタム フィールドを追加し、同期の条件としてフィールドを追加することです。 一般的な変更は、このレコードを同期するブール値フィールドを連絡先テーブルに追加し、このフィールドをはいまたは true に設定するように、連絡先テーブルの同期フィルター条件を設定します。

よく寄せられる質問

同じテーブルに 2 つのフィルターが存在する場合はどうなりますか?

テーブルで同期が発生すると、各フィルターは同期する行のセットに個別に適用され、それらの各フィルター セットで見つかった行が同期されます。 つまり、各フィルターは個別に適用されるため、フィルターに競合するロジックが含まれている場合でも、異なる行セットは同期します。

次に例を示します: フィルター A に すべてを同期 があり、フィルター B に このサブセットを同期 がある場合、最終結果は、そのサブセットを含むすべてが同期されます。 結果の同期フィルターは、基本的に、特定のテーブルに指定されたすべての同期フィルター基準の組み合わせです。

このため、既存のフィルターを変更または削除するだけで、フィルターを追加して行の同期をさらに制限することはできないことに注意してください。

特定のテーブルに対して有効なフィルターが存在しない場合はどうなりますか?

テーブルのすべてのフィルターが削除されると、そのテーブルのデータは同期されません。 システムは、同期フィルターが有効になっている他のテーブルのデータを引き続き同期します。

フィルターによって同期される行の正しいリストが Exchange で作成されていることを確認するにはどうすればよいですか?

詳細検索を使用して、XrmToolBox の 同期フィルター タブにリストされているフィルターの正確な名前を検索します。 検索結果に表示される行は、特定のテーブルに適用されるフィルターを持つユーザーの Exchange と同期される行です。