共用方式為


適用於 Dynamics 365 管道整合架構 1.0 的 searchAndOpenRecords (JavaScript API 參考)

此方法會在入埠通訊期間從通訊小工具搜尋記錄,並開啟記錄。

語法

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

參數

名稱 類型 為必填項目 Description
實體邏輯名稱 繩子 Yes 要搜尋和開啟的實體名稱。
queryParameters 繩子 Yes OData 系統查詢選項 $select$expand,以擷取您的資料。

- 使用 $select 系統查詢選項,透過包含以逗點分隔的屬性名稱清單來限制傳回的內容。 這是重要的效能最佳實務。 如果未使用 $select 指定屬性,則會傳回所有屬性。

- 使用 $expand 系統查詢選項來控制相關實體傳回的資料。 如果您只包含導覽屬性的名稱,您將收到相關記錄的所有屬性。 您可以使用導覽屬性名稱後方括弧中的 $select 系統查詢選項來限制相關記錄傳回的內容。 將此專案用於單一值和集合值導覽屬性。

您可以指定以 開 ?頭的查詢選項。 您也可以使用 來 & 指定多個查詢選項,以分隔查詢選項。
例如:?$select=name&$expand=primarycontactid($select=contactid,fullname)
僅搜尋 布林值 Yes 當您希望搜尋根據搜尋內容顯示單一記錄時,將 設定 searchOnlyfalse 。 如果搜尋結果有多個記錄,而且您曾經指定 queryParameters 搜尋選項,則設定 searchOnlyfalse 會開啟搜尋頁面,並使用搜尋選項填入搜尋頁面。
便條: 如果搜尋結果有多個記錄,則只會開啟 「客戶」、「 連絡人」和 「活動」 實體的記錄。

設定為 true ,以 Promise 物件的形式取得搜尋結果,而不是記錄或搜尋頁面。
搜尋類型 Number 要開啟的搜尋頁面類型 — 0 表示相關性搜尋,1 表示分類搜尋。 如果未提供參數,則會依種類搜尋記錄。
correlationId GUID 用來將相關的 API 呼叫分組在一起,以進行診斷遙測。
successCallback 回調 功能 請求成功時要呼叫的函式。
errorCallback 回調 功能 請求失敗時要呼叫的函數。

返回值

傳回 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
    }
);

透過指定相關性搜尋類型來搜尋和顯示名稱和電話號碼

此範例程式碼會透過指定相關性搜尋類型來搜尋並顯示連絡人實體記錄的名稱和電話號碼。

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     
    } 
);