現象
UCI のタイムラインでは、"予期しないエラーのためレコードを読み込めませんでした" というエラーが表示されません。 これは次のようになります。
開発者ツールを開いてページを更新すると、[ネットワーク] タブに、/api/data/v9.0/activitypointers/Microsoft.Dynamics.CRM.RetrieveTimelineWallRecordshas への GET 呼び出しを含む "バッチ" 要求が表示され、400 - 不適切な要求 (失敗した要求は赤色になります) と次のメッセージが表示されます。
{"error":{"code":"0x8004430d","message":"クエリ内のリンク エンティティの数が最大制限を超えました","innererror":{"message":"クエリ内のリンク エンティティの数が上限を超えました"
原因
これは、私たちのチームが今取り組むタイムラインコントロールの制限です。 QueryLinkEntityLimit 設定があり、その制限を超えた場合、エラーが発生します。 リンク エンティティは、すぐに使用するアクティビティとカスタム アクティビティの両方から取得されます。
顧客は、タイムラインに次のカスタマイズを行うことで、その呼び出しに追加のリンク エンティティを追加できます。カスタム アクティビティにカード フォームを使用します。
緩和策
軽減策 1
カスタマー サポートに問い合わせて、このエラーの詳細を入力し、組織の QueryLinkEntityLimit 設定を増やすように依頼できます。
注: この設定は、リンク エンティティを持つ組織内のすべての呼び出しに影響し、リンク エンティティ数が非常に多い呼び出しのパフォーマンスが低下する可能性があります。 ただし、制限を 1 桁増やしている場合、パフォーマンスの低下は大きくなってはいけません。
軽減策 2
顧客がカスタム アクティビティを作成し、カード フォームを使用している場合は、カード フォームを無効にして、バッチ要求のリンク エンティティの数を減らすことができます。 これは、次の手順を実行することで実現できます。
-
UCI のタイムライン設定に移動します (問題があるエンティティのフォーム エディターで、タイムライン セクションをダブルクリックすると、設定が開きます)。
-
[アクティビティ] タブの [追加オプション] セクションで、カード フォームを持つすべてのカスタム アクティビティを探します。
-
選択を [カード フォームの選択] に変更すると、カード フォームが無効になります。
有用でない場合は、タイムラインにカスタム アクティビティを一切含めないようにすることもできます。
-
UCI のタイムライン設定に移動します。
-
[アクティビティ] タブの [フィルター] セクションで、[すべて表示] ではなく [選択した項目を表示] を選択します。
-
タイムラインから削除するカスタム アクティビティの選択を解除します。