次の方法で共有


Dynamics 365 チャネル統合フレームワーク 1.0 の searchAndOpenRecords (JavaScript API リファレンス)

メソッドは、内部通信中に通信ウィジェットからレコードを検索し、レコードを開きます。

構文

Microsoft.CIFramework.searchAndOpenRecords(entityLogicalName, queryParameters, searchOnly, searchType).then(successCallback, errorCallback);

Parameters

件名 タイプ Required Description
entityLogicalName String 有効 検索して開くためのエンティティの名前。
queryParameters String 有効 データを取得する OData システム クエリ オプション、$select および $expand

- プロパティ名のコンマ区切りリストを含めることにより返されるプロパティを制限するためには $select システム クエリ オプションを使用します。 これは重要なパフォーマンスのベスト プラクティスです。 プロパティが $select を使用して指定されない場合は、すべてのプロパティが返されます。

- システム クエリー オプションの $expand を使用すると、関連するエンティティから返されるデータを制御できます。 単にナビゲーション プロパティ名を含めた場合は、関連レコードのすべてのプロパティが表示されます。 ナビゲーション プロパティ名の後にかっこで示される $select システム クエリ オプションを使用して、関連レコードに対して返されるプロパティを制限できます。 これは、単一値とコレクション値のナビゲーション プロパティの両方で使用します。

? で始まるクエリ オプションを指定できます。 クエリ オプションを & で区切って複数のクエリ オプションを指定することもできます。
例: ?$select=name&$expand=primarycontactid($select=contactid,fullname)
searchOnly ブール型 検索コンテキストに基づいて単一のレコードを検索で表示する場合は、searchOnlyfalse に設定します。 検索結果に複数のレコードがある場合、queryParameters を使って検索オプションを使用したことがあり、searchOnlyfalse に設定した場合、検索フィールドに検索オプションが自動入力されます。
注記: 検索結果に複数のレコードがある場合は、アカウント取引先担当者、そして 活動 エンティティのみが開かれます。

true を設定して、検索ページのレコードの代わりに、Promise オブジェクトとして検索結果として取得します。
searchType 回数 いいえ 開く検索ページの種類 — 関連性検索の場合 0、分類検索の場合は 1。 パラメーターが指定されていない場合、レコードはカテゴリー別に検索されます。
successCallback Function 番号 要求が成功したときに呼び出す関数。
errorCallback Function 番号 要求が失敗したときに呼び出す関数。

値を返す

String 型の Promise オブジェクトを返します。 成功した場合、このメソッドは検索クエリに応じた検索結果を返す。

注意

  • 一度に最大 5000 レコードをフェッチできます (レコードが 5000 件を超える場合)。 セクションに示すように、メソッド パラメーターで $ filter、$ select、$ top などのクエリ オプションを使用して、結果を絞り込むことができます。 詳細情報: クエリ オプションの概要
  • 関連性に基づいて検索するには、関連性検索を構成する必要があります。 関連性検索が有効になっていない場合、検索はカテゴリに基づいて実行されます。

使用例

取引先担当者レコードを検索して開く

このサンプル コードは、取引先担当者レコードの名前と電話番号を検索します。 空の検索結果ページが開きます。


// retrieve contact record
Microsoft.CIFramework.searchAndOpenRecords("contact", "?$select=fullname,telephone1", false).
then(
    function success(result) { 
    res=JSON.parse(result);
        console.log(`Record values: Full Name: ${res[0].fullname}, Telephone Number: ${res[0].telephone1}`);
        // perform operations on record retrieval and opening
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

取引先担当者レコードのリストを検索して表示します

このサンプル コードは、名が Contoso である取引先担当者エンティティ レコードの名前と電話番号を検索して表示します。 $search を使用することで、検索結果ページに Contoso という検索語句が入力されていることを確認することができます。

注意

クエリで $search を使用しており、searchOnly パラメーターが false に設定されている場合は、取得されたレコードではなく、常に検索結果ページが開きます。 取得したレコードを開きたい場合は、クエリで $search パラメーターを使用しないでください。


// Retrieve Contact entity record
// Change searchOnly parameter to true, if you do not want to open the search results page
Microsoft.CIFramework.searchAndOpenRecords("contact", "?$select=fullname,telephone1&$filter=firstname eq 'Contoso'&$search=Contoso", false).
then(
    function success(result) {
    res=JSON.parse(result);
        console.log(`The caller name is: ${res[0].fullname}, Telephone Number: ${res[0].telephone1}`);
        // perform operations on record retrieval and opening
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

上位 10 件のアクティブな取引先担当者レコードを検索して表示する

このサンプル コードは、アクティブな取引先担当者レコードの上位 10 件を検索して表示します。

Microsoft.CIFramework.searchAndOpenRecords("contact", "$filter=statecode eq 0&$select=description&$top=10", false).
then(
    function success(result) { 
    res=JSON.parse(result);
        // perform operations on record retrieval and opening
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

関連性検索タイプを指定して、表示名と電話番号を検索する

関連性検索の種類を指定して、Contact エンティティのレコードの名前と電話番号を検索して表示するサンプル コードです。

Microsoft.CIFramework.searchAndOpenRecords("contact", "?$select=fullname,telephone1", false, "b44d31ac-5fd1-e811-8158-000d3af97055", 0).
then(     
    function success(result) {     
    res=JSON.parse(result);         
    console.log(`Record values: Full Name: ${res[0].fullname}, Telephone Number: ${res[0].telephone1}`);         
       // perform operations on record retrieval and opening 
    },     
    function (error) {         
        console.log(error.message);         
        // handle error conditions     
    } 
);