共用方式為


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 建立資料表資料列 中所示的相同要求物件來定義建立資料表記錄的資料物件。

基本建立

建立範例帳戶記錄。

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

備註

離線模式不支援使用主要映像建立記錄。 主要影像只能透過線上模式建立來設定。 其他影像欄無法使用 create 設定。 進一步瞭解主要圖片

您可以將資料表定義為導覽屬性值,以建立彼此相關的資料表。 此模式稱為 深插入。 在此範例中,我們會建立範例帳戶記錄以及主要連絡人記錄和相關聯的機會記錄。

備註

離線模式不支援在單一建立作業中建立相關表格記錄。

// 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 設定單一值導覽屬性的值。

備註

單一值導覽屬性的名稱不一定與 for lookup 屬性的名稱 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 案例已取代的方法

備註

現有的自訂仍支援具有區分大小寫屬性 (logicalnameid) 的已棄用查物件,而不是使用@odata.bind先前顯示的註釋範例。 不過,建議針對線上和離線案例使用 @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