Bagikan melalui


updateRecord (Referensi API Klien)

Memperbarui rekaman tabel.

Syntax

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

Parameter-parameternya

Nama Tipe Diperlukan Description
entityLogicalName String Yes Nama logis tabel rekaman yang ingin Anda perbarui. Misalnya: account.
id String Yes GUID rekaman tabel yang ingin Anda perbarui.
data Objek Yes Objek JSON yang berisi key: value pasangan, di mana key adalah properti tabel dan value merupakan nilai properti yang ingin Anda perbarui.
Lihat Contoh untuk melihat bagaimana Anda dapat menentukan data objek untuk berbagai skenario pembaruan.
successCallback Function Tidak. Fungsi untuk memanggil saat rekaman diperbarui. Lihat Mengembalikan Nilai
errorCallback Function Tidak. Fungsi untuk memanggil saat operasi gagal. Objek dengan properti berikut diteruskan:
- errorCode:Angka. Kode kesalahan sebagai angka desimal positif. Misalnya, kode kesalahan yang didokumenkan sebagai 0x80040333 akan dikembalikan sebagai 2147746611.
- message:Tali. Pesan kesalahan yang menjelaskan masalah.

Mengembalikan Nilai

Setelah berhasil, mengembalikan objek janji ke successCallback dengan properti berikut:

Nama Tipe Description
entityType String Nama logis tabel rekaman.
id String GUID rekaman.

Examples

Contoh-contoh ini menggunakan beberapa objek permintaan yang sama seperti yang ditunjukkan dalam Memperbarui dan menghapus baris tabel menggunakan API Web untuk menentukan objek data untuk memperbarui rekaman tabel.

Pembaruan dasar

Memperbarui catatan akun yang sudah ada dengan ID rekaman = 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 memperbarui asosiasi ke rekaman tabel terkait (pencarian), atur nilai properti navigasi bernilai tunggal menggunakan @odata.bind anotasi ke rekaman lain.

Berikut adalah contoh kode:

Contoh berikut memperbarui catatan akun untuk mengaitkan rekaman kontak lain sebagai kontak utama untuk akun tersebut:

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

Metode yang tidak digunakan lagi untuk skenario offline seluler

Nota

Alih-alih menggunakan @odata.bind contoh anotasi di atas, objek pencarian yang tidak digunakan lagi dengan properti peka huruf besar/kecil (logicalname dan id) masih didukung untuk menjalankan kustomisasi. Namun, disarankan untuk menggunakan @odata.bind anotasi untuk skenario online dan offline alih-alih menggunakan objek yang tidak digunakan lagi ini.

Contoh berikut menggunakan metode yang tidak digunakan lagi untuk memperbarui catatan akun untuk mengaitkan rekaman kontak lain sebagai kontak utama untuk akun dari klien seluler saat bekerja dalam mode offline:

// 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 memperbarui asosiasi ke tabel terkait jenis Aktivitas, atur nilai properti navigasi bernilai tunggal menggunakan @odata.bind anotasi ke rekaman lain.

Memperbarui kolom peluang terkait pada tugas

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

Perbarui Mengenai kolom 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
   }
);

Memperbarui asosiasi untuk properti navigasi bernilai koleksi

Xrm.WebApi.online.execute API dapat digunakan untuk mengaitkan dan memisahkan properti navigasi bernilai koleksi. Ini TIDAK didukung untuk skenario offline seluler.

Xrm.WebApi