Kongsi melalui


updateRecord (Rujukan API Klien)

Mengemas kini rekod jadual.

Sintaks

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

Parameter

Nama Taip Wajib Description
entityLogicalName String Ya Nama logik jadual rekod yang anda mahu kemas kini. Sebagai contoh: account.
id String Ya GUID bagi rekod jadual yang ingin anda kemas kini.
data Objek Ya Objek JSON yang mengandungi key: value pasangan, di mana key sifat jadual dan value merupakan nilai sifat yang ingin anda kemas kini.
Lihat Contoh untuk melihat cara anda boleh mentakrifkan data objek untuk pelbagai senario kemas kini.
successCallback Function No Fungsi untuk memanggil apabila rekod dikemas kini. Lihat Nilai Pulangan
errorCallback Function No Fungsi untuk memanggil apabila operasi gagal. Objek dengan sifat berikut diluluskan:
- errorCode:Nombor. Kod ralat sebagai nombor perpuluhan positif. Sebagai contoh, kod ralat yang didokumentasikan sebagai akan 0x80040333 dikembalikan sebagai 2147746611.
- message:Rentetan. Mesej ralat yang menerangkan isu tersebut.

Nilai Pulangan

Apabila berjaya, mengembalikan objek janji kepada dengan successCallback sifat berikut:

Nama Taip Description
entityType String Nama logik jadual rekod.
id String GUID rekod.

Contoh

Contoh ini menggunakan beberapa objek permintaan yang sama seperti yang ditunjukkan dalam Kemas kini dan padamkan baris jadual menggunakan API Web untuk mentakrifkan objek data untuk mengemas kini rekod jadual.

Kemas kini asas

Mengemas kini rekod akaun sedia ada dengan ID rekod = 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
    }
);

Untuk mengemas kini perkaitan kepada rekod jadual berkaitan (carian), setkan nilai sifat navigasi bernilai tunggal menggunakan @odata.bind anotasi kepada rekod lain.

Berikut ialah contoh kod:

Contoh berikut mengemas kini rekod akaun untuk mengaitkan rekod kenalan lain sebagai kenalan utama untuk akaun:

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

Kaedah ditamatkan untuk senario luar talian mudah alih

Nota

Daripada menggunakan @odata.bind contoh anotasi di atas, objek carian ditamatkan dengan sifat sensitif huruf besar (logicalname dan id) masih disokong untuk penyesuaian sedia ada. Walau bagaimanapun, adalah disyorkan untuk menggunakan @odata.bind anotasi untuk kedua-dua senario dalam talian dan luar talian dan bukannya menggunakan objek yang ditamatkan ini.

Contoh berikut menggunakan kaedah ditamatkan untuk mengemas kini rekod akaun untuk mengaitkan rekod kenalan lain sebagai kenalan utama untuk akaun daripada klien mudah alih apabila bekerja dalam mod luar talian:

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

Untuk mengemas kini perkaitan kepada jadual berkaitan jenis Aktiviti, tetapkan nilai sifat navigasi bernilai tunggal menggunakan @odata.bind anotasi kepada rekod lain.

Kemas kini lajur peluang berkaitan pada tugasan

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

Kemas kini Mengenai lajur pada tugas

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

Kemas kini persatuan untuk sifat navigasi bernilai koleksi

API Xrm.WebApi.online.execute boleh digunakan untuk mengaitkan dan menyahassociasi sifat navigasi bernilai koleksi. Ini TIDAK disokong untuk senario luar talian mudah alih.

Xrm.WebApi