建立資料表記錄。
語法
Xrm.WebApi.createRecord(entityLogicalName, data).then(successCallback, errorCallback);
參數
| 名稱 | 類型 | 為必填項目 | Description |
|---|---|---|---|
entityLogicalName |
繩子 | Yes | 您要建立之資料表的邏輯名稱。 例如: account 。 |
data |
物體 | Yes | 定義新表格記錄資料行和值的 JSON 物件。 查看 範例 |
successCallback |
功能 | 否 | 建立記錄時要呼叫的函式。 請參閱 傳回值 |
errorCallback |
功能 | 否 | 作業失敗時要呼叫的函式。 會傳遞具有下列屬性的物件: - errorCode:數。 錯誤碼為正十進位數。 例如,記載為 0x80040333 的錯誤碼將傳回為 2147746611。- message:繩子。 描述問題的錯誤訊息。 |
返回值
成功時,會傳回具有下列屬性的 Promise successCallback 物件:
| 名稱 | 類型 | Description |
|---|---|---|
entityType |
繩子 | 新記錄的資料表邏輯名稱。 |
id |
繩子 | 新記錄的 GUID。 |
範例
這些範例使用與以下文章相同的請求物件: 使用 Web API 建立資料表列。 文章說明如何定義建立資料表記錄的資料物件。
| Example | 演示 | 網頁 API 範例 |
|---|---|---|
| 基本創建 | 如何建立帶有欄位值的帳戶紀錄。 | 基本創建 |
| 建立相關的表格記錄與主記錄 | 如何在一次操作中建立帳戶及相關聯絡人、機會和任務紀錄。 | 一次操作建立相關的資料表列 |
| 建立新紀錄時的關聯資料表 | 如何使用 @odata.bind。 |
在建立時將資料表列關聯起來 |
基本建立範例
建立範例帳戶記錄。
// define the data to create new account
var data =
{
"name": "Sample Account",
"creditonhold": false,
"address1_latitude": 47.639583,
"description": "This is the description of the sample account",
"revenue": 5000000,
"accountcategorycode": 1,
"opendeals_date": new Date("2024-02-03T00:00:00Z")
}
// create account record
Xrm.WebApi.createRecord("account", data).then(
function success(result) {
console.log("Account created with ID: " + result.id);
// perform operations on record creation
},
function (error) {
console.log(error.message);
// handle error conditions
}
);
備註
離線模式下不支援使用主映像檔建立紀錄。 你只能透過線上創建模式設定主圖。 你無法透過建立設定其他圖片欄位。 進一步瞭解主要圖片
建立相關的表格記錄,並附帶主記錄範例
你可以透過將表格定義為導航屬性值來建立彼此相關的表格。 此模式稱為 深插入。 在此範例中,你建立一個範例帳戶紀錄,並包含主要聯絡人紀錄及相關的機會紀錄。
備註
離線模式下不支援在單一建立操作中建立相關資料表記錄。
// define data to create primary and related table records
var data =
{
"name": "Sample Account",
"primarycontactid":
{
"firstname": "John",
"lastname": "Smith"
},
"opportunity_customer_accounts":
[
{
"name": "Opportunity associated to Sample Account",
"Opportunity_Tasks":
[
{ "subject": "Task associated to opportunity" }
]
}
]
}
// create account record
Xrm.WebApi.createRecord("account", data).then(
function success(result) {
console.log("Account created with ID: " + result.id);
// perform operations on record creation
},
function (error) {
console.log(error.message);
// handle error conditions
}
);
建立新紀錄時關聯資料表的範例
要將新資料表記錄關聯到現有資料表記錄,請使用 @odata.bind 註解設定單一值導覽屬性的值。
備註
單一值的導航屬性名稱不一定與 LogicalName 查找屬性的名稱相同。 確保你使用的 Name 是 Web API $metadata服務文件中元素 NavigationProperty 的屬性值。 欲了解更多資訊,請參閱 Web API 導覽屬性。
這裡提供程式碼範例:
以下範例建立帳戶紀錄,並將其關聯到現有的聯絡人紀錄,以設定後者為新帳戶記錄的主要聯絡人:
var data =
{
"name": "Sample Account",
"primarycontactid@odata.bind": "/contacts(465b158c-541c-e511-80d3-3863bb347ba8)"
}
// create account record
Xrm.WebApi.createRecord("account", data).then(
function success(result) {
console.log("Account created with ID: " + result.id);
// perform operations on record creation
},
function (error) {
console.log(error.message);
// handle error conditions
}
);
Mobile Offline 案例已取代的方法
備註
與先前展示的@odata.bind註解範例不同,已棄用且具有大小寫區分屬性的logicalname查找物件( 和 id)仍被現有自訂支援。 不過,線上與離線情境都應使用註 @odata.bind 解,而非使用這個已棄用的物件。
以下範例使用已淘汰的方法建立帳戶紀錄,並將其關聯到現有的聯絡人紀錄,將後者設為離線模式下行動用戶端新帳戶記錄的主要聯絡人:
var data =
{
"name": "Sample Account",
"primarycontactid":
{
"logicalname": "contact",
"id": "465b158c-541c-e511-80d3-3863bb347ba8"
}
}
// create account record
Xrm.WebApi.offline.createRecord("account", data).then(
function success(result) {
console.log("Account created with ID: " + result.id);
// perform operations on record creation
},
function (error) {
console.log(error.message);
// handle error conditions
}
);