updateRecord (referència de l'API del client)

Actualitza un registre de taula.

Sintaxi

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

Paràmetres

Nom Tipus Necessari Descripció
entityLogicalName String Sí El nom lògic de la taula del registre que voleu actualitzar. Per exemple: account.
id String Sí GUID del registre de taula que voleu actualitzar.
data Objecte Sí Objecte JSON que conté key: value parells, on key és la propietat de la taula i value és el valor de la propietat que voleu actualitzar.
Vegeu Exemples per veure com podeu definir l'objecte data per a diversos escenaris d'actualització.
successCallback Function No Funció per cridar quan s'actualitza un registre. Vegeu el valor retornat
errorCallback Function No Una funció per cridar quan l'operació falla. Es passa un objecte amb les propietats següents:
- errorCode:Número. El codi d'error com a nombre decimal positiu. Per exemple, el codi d'error documentat com es 0x80040333 retornarà com 2147746611a .
- message:Corda. Un missatge d'error que descriu el problema.

Valor retornat

En cas d'èxit, retorna un objecte de promesa a la successCallback amb les propietats següents:

Nom Tipus Descripció
entityType String El nom lògic de la taula del registre.
id String GUID del registre.

Exemples

Aquests exemples utilitzen alguns dels mateixos objectes de sol·licitud que es demostra a Actualitzar i suprimir files de taula mitjançant l'API web per definir l'objecte de dades per actualitzar un registre de taula.

Exemple Demostra Exemple d'API web
Actualització bàsica Com actualitzar els valors de les columnes d'un registre de compte existent. Actualització bàsica
Actualitzar les associacions a les taules relacionades Com canviar el contacte principal d'un compte utilitzant @odata.bind. Associar-se a una propietat de navegació d'un sol valor
Actualitza les associacions a les taules relacionades del tipus Activitat Com associar una tasca amb una oportunitat o configurar-ne la cerca relativa a un compte. Associar-se a una propietat de navegació d'un sol valor
Actualitzar les associacions per a les propietats de navegació amb valors de col·lecció Com associar i desassociar registres relacionats utilitzant Xrm.WebApi.online.execute. Afegeix un registre a una col·lecció i elimina un registre d'una col·lecció

Exemple bàsic d'actualització

Actualitza un registre de compte existent amb l'identificador de registre = 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
    }
);

Per actualitzar l'associació als registres de taula relacionats (consultes), estableix el valor de les propietats de navegació d'un sol valor utilitzant l'anotació @odata.bind per apuntar a un altre registre.

Aquí teniu un exemple de codi:

L'exemple següent actualitza un registre de compte per associar-ne un altre registre de contacte com a contacte principal del compte:

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

Mètode obsolet per a l'escenari Mobile Offline

Nota

En lloc d'utilitzar l'anotació @odata.bind de l'exemple anterior, l'objecte de cerca obsolet amb propietats sensibles a majúscules (logicalname i id) encara es suporta per a personalitzacions existents. Tanmateix, es recomana l'ús de l'anotació @odata.bind tant per a escenaris en línia com fora de línia en lloc d'utilitzar aquest objecte obsolet.

L'exemple següent utilitza el mètode obsolet per actualitzar un registre de compte per associar un altre registre de contacte com a contacte principal del compte des de clients mòbils quan es treballa en mode fora de línia:

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

Per actualitzar les associacions a les taules relacionades del tipus Activitat, estableix el valor de les propietats de navegació d'un sol valor utilitzant l'anotació @odata.bind per apuntar a un altre registre.

Actualitza la columna d'oportunitat relacionada a la tasca

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

Actualitza la columna Referent a la tasca

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

Associacions d'actualització per a l'exemple de propietats de navegació amb valors de col·lecció

Utilitza l'API Xrm.WebApi.online.execute per associar i desassociar propietats de navegació amb valor de col·lecció. Aquesta funció no és compatible amb escenaris mòbils fora de línia.

Xrm.WebApi