createRecord (用戶端 API 參考)

建立資料表記錄。

語法

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

使用 Web API 建立資料表資料列
Xrm.WebApi