Chia sẻ qua


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

Tạo bản ghi bảng.

Cú pháp

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

Tham số

Tên Loại Bắt buộc Description
entityLogicalName String Tên lô-gic của bảng bạn muốn tạo. Ví dụ: account.
data Đối tượng Đối tượng JSON xác định các cột và giá trị cho bản ghi bảng mới. Xem Ví dụ
successCallback Hàm Không Một hàm để gọi khi một bản ghi được tạo. Xem Giá trị Trả về
errorCallback Hàm Không 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 Loại Description
entityType String Tên lô-gic bảng của bản ghi mới.
id String GUID của bản ghi mới.

Ví dụ

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

Tạo cơ bản

Tạo bản ghi tài khoản mẫu.

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

Lưu ý

Không hỗ trợ tạo bản ghi với ảnh chính cho chế độ ngoại tuyến. Chỉ có thể đặt hình ảnh chính bằng cách tạo trong chế độ trực tuyến. Các cột hình ảnh khác không thể được thiết lập với việc tạo ra. Tìm hiểu thêm về Hình ảnh chính

Bạn có thể tạo các bảng liên quan đến nhau bằng cách xác định chúng là giá trị thuộc tính dẫn hướng. Mẫu này được gọi là chèn sâu. Trong ví dụ này, chúng tôi tạo một bản ghi tài khoản mẫu cùng với bản ghi liên hệ chính và hồ sơ cơ hội liên kết.

Lưu ý

Không hỗ trợ tạo các bản ghi bảng liên quan trong một thao tác tạo duy nhất cho chế độ ngoại tuyến.

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

Liên kết các bảng khi tạo bản ghi mới

Để liên kết các bản ghi bảng mới với các bản ghi bảng hiện có, @odata.bind hãy đặt giá trị của thuộc tính dẫn hướng đơn giá trị bằng cách dùng chú thích.

Lưu ý

Tên của thuộc tính dẫn hướng giá trị đơn không phải lúc nào cũng giống với LogicalName thuộc tính tra cứu. Bạn nên đảm bảo rằng bạn đang sử dụng giá Name trị thuộc tính của thành NavigationProperty phần trong API Web và tài liệu $metadata vụ. Thông tin thêm: Thuộc tính điều hướng API Web

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

Ví dụ sau tạo một hồ sơ tài khoản và liên kết nó với một bản ghi liên hệ hiện có để đặt liên hệ sau này làm liên hệ chính cho hồ sơ tài khoản mới:

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

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 được hiển thị trước đó, đối tượng tra cứu không được chấp nhận với các thuộc tính phân biệt chữ hoa chữ thường (logicalnameidvà ) vẫn được hỗ trợ cho các tùy chỉnh hiện có. 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 để tạo bản ghi tài khoản và liên kết nó với bản ghi liên hệ hiện có để đặt liên hệ thứ hai làm liên hệ chính cho bản ghi tài khoản mới từ máy khách di động khi làm việc ở chế độ ngoại tuyến:

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

Tạo hàng bảng bằng cách sử dụng API Web
Xrm.WebApi