擷取資料表記錄。
語法
Xrm.WebApi.retrieveRecord(entityLogicalName, id, options).then(successCallback, errorCallback);
參數
| 名稱 | 類型 | 為必填項目 | Description |
|---|---|---|---|
entityLogicalName |
繩子 | Yes | 您要擷取之記錄的資料表邏輯名稱。 例如: account 。 |
id |
繩子 | Yes | 您要擷取之資料表記錄的 GUID。 |
options |
繩子 | 否 | OData 系統查詢選項來控制傳回的內容。 查看 選項 |
successCallback |
功能 | 否 | 擷取記錄時要呼叫的函式。 JSON 物件,其中包含已擷取的屬性和傳遞至函式的值。 |
errorCallback |
功能 | 否 | 作業失敗時要呼叫的函式。 會傳遞具有下列屬性的物件: - errorCode:數。 錯誤碼為正十進位數。 例如,記載為 0x80040333 的錯誤碼將傳回為 2147746611。- message:繩子。 描述問題的錯誤訊息。 |
選項
若要控制傳回的內容,請使用 $select 和 $expand OData 系統查詢選項來擷取您的資料。
使用 $select 系統查詢選項,透過包含以逗號分隔的屬性名稱清單來限制傳回的屬性。 選取特定屬性是重要的效能最佳實務。 如果未使用 $select指定屬性,則會傳回所有屬性。
使用 $expand 系統查詢選項來控制傳回相關表格中的哪些資料。 如果您只包含導覽內容的名稱,您會收到相關記錄的所有內容。 您可以使用導覽屬性名稱後方括弧中的系統查詢選項來 $select 限制相關記錄傳回的屬性。 將此函數用於 單值 和 集合值 導航屬性。 對於離線,我們僅支援 $select$expand.
您指定以 ?. 您還可以透過使用 for & 分隔查詢選項來指定多個查詢選項。 例如:
?$select=name&$expand=primarycontactid($select=contactid,fullname)
請參閱 範例, 以瞭解如何定義各種擷取案例的 options 參數。
傳回值
成功時,傳回包含 JSON 物件的 Promise,其中包含擷取的資料行及其值。 如果要求的記錄不存在,則傳回錯誤。
範例
請參閱下列範例:
基本檢索
擷取記錄 ID = 5531d753-95af-e711-a94e-000d3a11e605 的帳戶記錄的名稱和收入。
Xrm.WebApi.retrieveRecord("account", "a8a19cdd-88df-e311-b8e5-6c3be5a8b200", "?$select=name,revenue").then(
function success(result) {
console.log("Retrieved values: Name: " + result.name + ", Revenue: " + result.revenue);
// perform operations on record retrieval
},
function (error) {
console.log(error.message);
// handle error conditions
}
);
上述範例會在主控台中顯示下列文字;您可能會看到其他值,視您的資料而定:
Retrieved values: Name: Sample Account, Revenue: 5000000
透過展開單一值導覽屬性來擷取資料表執行個體的相關資料表
下列範例示範如何擷取記錄 ID = a8a19cdd-88df-e311-b8e5-6c3be5a8b200 之客戶記錄的連絡人。 對於相關連絡人記錄,我們只會擷取 contactid 和 fullname 屬性。
Xrm.WebApi.retrieveRecord("account", "a8a19cdd-88df-e311-b8e5-6c3be5a8b200", "?$select=name&$expand=primarycontactid($select=contactid,fullname)").then(
function success(result) {
console.log("Retrieved values: Name: " + result.name + ", Primary Contact ID: " + result.primarycontactid.contactid +
", Primary Contact Name: " + result.primarycontactid.fullname);
// perform operations on record retrieval
},
function (error) {
console.log(error.message);
// handle error conditions
}
);
上述範例會在主控台中顯示下列文字;您可能會看到其他值,視您的資料而定:
Retrieved values: Name: Adventure Works, Primary Contact ID: 49a0e5b9-88df-e311-b8e5-6c3be5a8b200, Primary Contact Name: Adrian Dumitrascu