แชร์ผ่าน


createRecord (การอ้างอิง API ไคลเอ็นต์)

สร้างเรกคอร์ดตาราง

ไวยากรณ์

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

พารามิเตอร์

ชื่อ ประเภท ต้องมี คำอธิบาย
entityLogicalName สตริง ใช่ ชื่อตรรกะของตารางที่คุณต้องการสร้าง ตัวอย่างเช่น: account
data ออบเจ็กต์ ใช่ วัตถุ JSON ที่กําหนดคอลัมน์และค่าสําหรับระเบียนตารางใหม่ ดู ตัวอย่าง
successCallback ฟังก์ชัน ไม่ใช่ ฟังก์ชันที่จะเรียกใช้เมื่อมีการสร้างเรกคอร์ด ดู ค่าที่ส่งกลับ
errorCallback ฟังก์ชัน ไม่ใช่ ฟังก์ชันที่จะเรียกใช้เมื่อการดําเนินการล้มเหลว วัตถุที่มีคุณสมบัติต่อไปนี้จะถูกส่งผ่าน:
- errorCode:เลข รหัสข้อผิดพลาดเป็นเลขทศนิยมบวก ตัวอย่างเช่น รหัสข้อผิดพลาดที่จัดทําเป็น 0x80040333 จะถูกส่งกลับเป็น2147746611
- message:เชือก ข้อความแสดงข้อผิดพลาดที่อธิบายปัญหา

ค่าส่งกลับ

ในความสําเร็จ ส่งกลับวัตถุสัญญาไปยัง successCallback ด้วยคุณสมบัติต่อไปนี้:

ชื่อ ประเภท คำอธิบาย
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
    }
);

Note

การสร้างเรกคอร์ดที่มีรูปภาพหลักไม่ได้รับการสนับสนุนสําหรับโหมดออฟไลน์ สามารถตั้งค่ารูปภาพหลักได้เฉพาะกับ สร้างในโหมดออนไลน์เท่านั้น คอลัมน์รูปภาพอื่น ๆ ไม่สามารถตั้งค่าด้วยการสร้างได้ เรียนรู้เพิ่มเติมเกี่ยวกับรูปภาพหลัก

คุณสามารถสร้างตารางที่เกี่ยวข้องกันโดยกําหนดตารางเหล่านั้นเป็นค่าคุณสมบัติการนําทาง รูปแบบนี้เรียกว่าการแทรกลึก ในตัวอย่างนี้ เราสร้างเรกคอร์ดบัญชีตัวอย่างพร้อมกับระเบียนผู้ติดต่อหลักและเรกคอร์ดโอกาสทางการขายที่เกี่ยวข้อง

Note

การสร้างระเบียนตารางที่เกี่ยวข้องในการดําเนินการสร้างครั้งเดียวไม่ได้รับการสนับสนุนสําหรับโหมดออฟไลน์

// 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 คําอธิบายประกอบ

Note

ชื่อของคุณสมบัติการนําทางแบบค่าเดียวจะไม่เหมือนกับ LogicalName สําหรับแอตทริบิวต์การค้นหาเสมอไป คุณควรตรวจสอบให้แน่ใจว่า คุณกําลังใช้ Name ค่าแอตทริบิวต์ของ NavigationProperty องค์ประกอบใน WEB API $metadata เอกสารบริการ ข้อมูลเพิ่มเติม: คุณสมบัติของการนำทาง 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
    }
);

วิธีการที่ยกเลิกการสนับสนุนสําหรับสถานการณ์แบบออฟไลน์บนอุปกรณ์เคลื่อนที่

Note

แทนที่จะใช้ @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
    }
);

สร้างแถวตารางโดยใช้ API เว็บ
Xrm.WebApi