Compartir por


updateRecord (Referencia da API do cliente)

Actualiza un rexistro da táboa.

Sintaxe

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

Parámetros

Nome Tipo Obrigatorio Descrición
entityLogicalName String Si O nome lóxico da táboa do rexistro que desexa actualizar. Por exemplo: account.
id String Si GUID do rexistro da táboa que desexa actualizar.
data Obxecto Si Obxecto JSON que contén key: value pares, onde key é a propiedade da táboa e é o valor da propiedade que se quere value actualizar.
Vexa Exemplos para ver como definir o obxecto data para varios escenarios de actualización.
successCallback Función Non Función a chamar cando se actualiza un rexistro. Ver valor de devolución
errorCallback Función Non Unha función a chamar cando a operación falla. Pasa un obxecto coas seguintes propiedades:
- errorCode: Número. O código de erro é un número decimal positivo. Por exemplo, o código de erro documentado como 0x80040333 será devolto como 2147746611.
- message: String. Mensaxe de erro que describe o problema.

Valor devolto

En caso de éxito, devolve un obxecto de promesa coas successCallback seguintes propiedades:

Nome Tipo Descrición
entityType String O nome lóxico da táboa do rexistro.
id String Guía do rexistro.

Exemplos

Estes exemplos usan algúns dos mesmos obxectos de solicitude como se mostra en Actualizar e eliminar filas de táboa usando a API Web para definir o obxecto de datos para actualizar un rexistro de táboa.

Actualización básica

Actualiza un rexistro de conta existente co ID de rexistro = 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
    }
);

Para actualizar a asociación aos rexistros da táboa relacionada (buscas), estableza o valor das propiedades de navegación de valor único usando a @odata.bind anotación a outro rexistro.

Aquí tedes un exemplo de código:

O seguinte exemplo actualiza un rexistro de conta para asociar outro rexistro de contacto como contacto principal para a conta:

// 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étodo obsoleto para o escenario de conexión móbil

Nota

En lugar de usar @odata.bind o exemplo de anotación anterior, o obxecto de busca obsoleto con propiedades sensibles entre maiúsculas e minúsculas (logicalname e id) aínda está soportado para personalizacións existentes. Non obstante, recoméndase usar @odata.bind a anotación para escenarios en liña e fóra de liña en lugar de usar este obxecto obsoleto.

O seguinte exemplo usa o método obsoleto para actualizar un rexistro de conta para asociar outro rexistro de contacto como contacto principal para a conta de clientes móbiles cando se traballa en modo sen conexión:

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

Para actualizar a asociación coas táboas relacionadas de tipo Actividade, estableza o valor das propiedades de navegación dun só valor usando a @odata.bind anotación noutro rexistro.

Actualizar a columna de oportunidade relacionada na tarefa

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

Actualización da columna sobre a tarefa

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

Actualizar as asociacións para as propiedades de navegación con valor de colección

A API Xrm.WebApi.online.execute pode usarse para asociar e desasociar propiedades de navegación con valor de colección. Isto non está soportado para escenarios de conexión móbil.

Xrm.WebApi