Lookup コントロールは、ルックアップ フィールドとそのリレーションシップ、割り当てられたビュー、エンティティのクイック検索ビュー、検索文字列、および適用されたカスタム スクリプトを組み合わせて、検索結果を取得するための fetchXML を構築します。
この操作に関する問題は、通常、次のいずれかのカテゴリに分類されます。
検索結果が正しくない
ルックアップの検索結果に項目がないか、予期しない項目が含まれている場合は、コントロールが行う送信ネットワーク要求の fetchXML を調べます。
fetchXML が正しくない場合、問題は次のとおりです。
クイック検索ビューまたは検索対象のビューが正しく構成されていません。
- 検索フィールドがありません。
- プライマリ フィールドがありません。
- 結果をブロックしているフィルターの使用。
クライアント スクリプトは、 addPreSearch や addCustomFilter などの API を使用してコントロールの動作を変更します。
fetchXML が正しいが、返されるデータが正しくない場合は、誤って構成されたリレーションシップなど、サーバー上で問題が発生します。 もう 1 つの可能性は、ユーザーが一部のエンティティに対して正しいアクセス許可を持っていないことです。これは、結果の省略以外のネットワーク応答では明らかではない可能性があります。
注
- テキスト領域 (ルックアップの入力ボックス) を選択すると、新しい検索ではなく、最近使用した項目の一覧が表示されます。
- 虫眼鏡を選択すると、入力に基づいて検索がトリガーされ、検索語句に一致する結果が表示されます。 最近の項目を表示するのではなく、テキスト領域を選択したときに常に検索を実行するようにコントロールを構成できます。
ビューが正しくありません
参照ビューまたは結果にエンティティまたはビューがない場合、または既定のビューが正しくない場合:
- エンティティがアプリに対して有効になっていることを確認します。
- エンティティと関連エンティティを操作するために必要なアクセス許可とロールがユーザーにあることを確認します。
addCustomView API が適用されている場合は、
viewIdがまだ使用されていないことを確認します。lookupObjectsまたは setDefaultView API が適用されている場合は、
viewIdが現在のアプリに含まれているビューに属していることを確認します。
結果フィールドが正しくありません
ルックアップ コントロールの検索結果は、エンティティのルックアップ ビューに表示される順序で表示されます。ただし、次の例外があります。
- 空白のフィールドは、次の空白以外のフィールドに置き換えられます。
- 検索文字列で始まるフィールドは、2 番目のフィールドとスワップされます。
注
エンティティのルックアップ ビューのフィールドの組み合わせが異なる場合、複数エンティティのルックアップでフィールドの順序が異なる結果を得ることができます。