Comparteix via


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 El nom lògic de la taula del registre que voleu actualitzar. Per exemple: account.
id String GUID del registre de taula que voleu actualitzar.
data Objecte 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 de retorn

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.

Actualització bàsica

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 (cerques), definiu el valor de les propietats de navegació d'un sol valor mitjançant l'anotació @odata.bind 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 @odata.bind l'exemple d'anotació anterior, l'objecte de cerca obsolet amb propietats que distingeixen entre majúscules i minúscules (logicalname i id) encara és compatible per a les personalitzacions existents. Tanmateix, es recomana utilitzar @odata.bind l'anotació tant per a l'escenari 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 l'associació a les taules relacionades de tipus Activitat, definiu el valor de les propietats de navegació d'un sol valor mitjançant l'anotació @odata.bind 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
   }
);

Actualitzar les associacions de les propietats de navegació amb valor de col·lecció

L'API Xrm.WebApi.online.execute es pot utilitzar per associar i desassociar propietats de navegació amb valors de col·lecció. Això NO s'admet per a escenaris Mobile Offline.

Xrm.WebApi