此方法會在入埠通訊期間從通訊小工具搜尋記錄,並開啟記錄。
語法
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 | 當您希望搜尋根據搜尋內容顯示單一記錄時,將 設定 searchOnly 為 false 。 如果搜尋結果有多個記錄,而且您曾經指定 queryParameters 搜尋選項,則設定 searchOnly 為 false 會開啟搜尋頁面,並使用搜尋選項填入搜尋頁面。 便條: 如果搜尋結果有多個記錄,則只會開啟 「客戶」、「 連絡人」和 「活動」 實體的記錄。 設定為 true ,以 Promise 物件的形式取得搜尋結果,而不是記錄或搜尋頁面。 |
| 搜尋類型 | Number | 否 | 要開啟的搜尋頁面類型 — 0 表示相關性搜尋,1 表示分類搜尋。 如果未提供參數,則會依種類搜尋記錄。 |
| correlationId | GUID | 否 | 用來將相關的 API 呼叫分組在一起,以進行診斷遙測。 |
| successCallback 回調 | 功能 | 否 | 請求成功時要呼叫的函式。 |
| errorCallback 回調 | 功能 | 否 | 請求失敗時要呼叫的函數。 |
返回值
傳回 String 類型的 Promise 物件。 成功時,方法會根據搜尋查詢傳回搜尋結果。
備註
範例
搜尋並開啟聯絡人記錄
此範例程式碼會搜尋連絡人記錄的名稱和電話號碼。 它會開啟一個空白的搜尋結果頁面。
// 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
}
);