Chia sẻ qua


updateRecord (Tài liệu tham khảo về API máy khách)

Cập nhật bản ghi bảng.

Cú pháp

Xrm.WebApi.updateRecord(entityLogicalName, id, data).then(successCallback, errorCallback);

Tham số

Tên Kiểu Bắt buộc Sự miêu tả
entityLogicalName String Tên lô-gic của bản ghi bạn muốn cập nhật. Ví dụ: account.
id String GUID của bản ghi bảng bạn muốn cập nhật.
data Đối tượng Đối tượng JSON chứa key: value các cặp key , trong đó thuộc value tính của bảng và là giá trị của thuộc tính bạn muốn cập nhật.
Xem Ví dụ để biết cách bạn có thể xác định đối tượng cho data các kịch bản cập nhật khác nhau.
successCallback Hàm No Một hàm để gọi khi một bản ghi được cập nhật. Xem Giá trị Trả về
errorCallback Hàm No Một hàm để gọi khi hoạt động không thành công. Một đối tượng với các thuộc tính sau đây được truyền đi:
- errorCode:Số. Mã lỗi dưới dạng số thập phân dương. Ví dụ: mã lỗi được ghi là sẽ 0x80040333 được trả về dưới dạng 2147746611.
- message:Xâu. Thông báo lỗi mô tả sự cố.

Trả về giá trị

Khi thành công, trả về đối tượng promise với successCallback các thuộc tính sau:

Tên Kiểu Sự miêu tả
entityType String Tên lô-gic bảng của bản ghi.
id String GUID của bản ghi.

Ví dụ

Những ví dụ này sử dụng một số đối tượng yêu cầu tương tự như được minh họa trong Cập nhật và xóa các hàng bảng bằng API Web để xác định đối tượng dữ liệu để cập nhật bản ghi bảng.

Cập nhật cơ bản

Cập nhật bản ghi tài khoản hiện có với ID bản ghi = 5531d753-95af-e711-a94e-000d3a11e605.

// define the data to update a record
var data =
    {
        "name": "Updated Sample Account ",
        "creditonhold": true,
        "address1_latitude": 47.639583,
        "description": "This is the updated description of the sample account",
        "revenue": 6000000,
        "accountcategorycode": 2
    }
// update the record
Xrm.WebApi.updateRecord("account", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
    function success(result) {
        console.log("Account updated");
        // perform operations on record update
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Để cập nhật liên kết cho các bản ghi bảng liên quan (tra cứu), @odata.bind hãy đặt giá trị của thuộc tính dẫn hướng giá trị đơn bằng cách sử dụng chú thích cho một bản ghi khác.

Dưới đây là ví dụ về mã:

Ví dụ sau cập nhật bản ghi tài khoản để liên kết bản ghi liên hệ khác làm liên hệ chính cho tài khoản:

// define the data to update a record
var data =
    {
        "primarycontactid@odata.bind": "/contacts(61a0e5b9-88df-e311-b8e5-6c3be5a8b200)"
    }
// update the record
Xrm.WebApi.updateRecord("account", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
    function success(result) {
        console.log("Account updated");
        // perform operations on record update
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Phương pháp bị phản đối cho kịch bản ngoại tuyến dành cho thiết bị di động

Lưu ý

Thay vì sử dụng @odata.bind ví dụ chú thích ở trên, đối tượng tra cứu không được chấp nhận có thuộc tính phân biệt chữ hoa chữ thường (logicalnameidvà ) vẫn được hỗ trợ để kích hoạt tùy chỉnh. Tuy nhiên, bạn nên sử dụng @odata.bind chú thích cho cả kịch bản trực tuyến và ngoại tuyến thay vì sử dụng đối tượng bị phản đối này.

Ví dụ sau đây sử dụng phương pháp bị phản đối để cập nhật bản ghi tài khoản để liên kết bản ghi liên hệ khác làm liên hệ chính cho tài khoản từ máy khách di động khi làm việc ở chế độ ngoại tuyến:

// define the data to update a record
var data =
    {
        "primarycontactid":
        {
            "logicalname": "contact",
            "id": "61a0e5b9-88df-e311-b8e5-6c3be5a8b200"
        }
    }
// update the record
Xrm.WebApi.offline.updateRecord("account", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
    function success(result) {
        console.log("Account updated");
        // perform operations on record update
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Để cập nhật liên kết cho các bảng có liên quan thuộc kiểu Hoạt động, @odata.bind hãy đặt giá trị của thuộc tính dẫn hướng giá trị đơn bằng cách sử dụng chú thích cho một bản ghi khác.

Cập nhật cột cơ hội liên quan trên nhiệm vụ

// define the data to update a record
var data =
    {
        "new_relatedopportunities_task@odata.bind": "/opportunities(61a0e5b9-88df-e311-b8e5-6c3be5a8b200)"
    }
// update the record
Xrm.WebApi.updateRecord("task", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
    function success(result) {
        console.log("Task updated");
        // perform operations on record update
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Cập nhật liên quan đến cột trên nhiệm vụ

// define the data to update a record
var data =
   {
       "regardingobjectid_account_task@odata.bind": "/accounts(61a0e5b9-88df-e311-b8e5-6c3be5a8b200)"
   }
// update the record
Xrm.WebApi.updateRecord("task", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
   function success(result) {
       console.log("Task updated");
       // perform operations on record update
   },
   function (error) {
       console.log(error.message);
       // handle error conditions
   }
);

Cập nhật liên kết cho thuộc tính dẫn hướng có giá trị bộ sưu tập

thể sử dụng API Xrm.WebApi.online.execute để liên kết và hủy liên kết các thuộc tính dẫn hướng có giá trị bộ sưu tập. Điều này KHÔNG được hỗ trợ cho các kịch bản ngoại tuyến trên thiết bị di động.

Xrm.WebApi