updateRecord (referencia de API de cliente)

Actualiza un registro de tabla.

Sintaxis

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

Parámetros

Nombre. Type Obligatorio Description
entityLogicalName String Sí El nombre lógico de la entidad del registro que desea actualizar. Por ejemplo: account.
id String Sí GUID del registro de entidad que desea actualizar.
data Objecto Sí Objeto JSON que contiene pares key: value, donde key es la propiedad de la tabla y value es el valor de la propiedad que desee actualizar.
Vea Ejemplos más adelante en este tema para ver cómo puede definir el objeto data para varios escenarios de actualización.
successCallback Function No Una función para llamar cuando se actualiza un registro. Ver Valor de retorno
errorCallback Function No Una función a la que se llama cuando la operación tiene error. Se pasará un objeto con las siguientes propiedades:
- errorCode: Número. El código de error como número decimal positivo. Por ejemplo, el código de error documentado como 0x80040333 se devolverá como 2147746611.
- message: Cadena. Un mensaje de error que describe el problema.

Valor de retorno

Si tiene éxito, devuelve un objeto de promesa al successCallback con las siguientes propiedades:

Nombre. Type Description
entityType String Nombre lógico de tabla del registro.
id String GUID del registro.

Ejemplos

Estos ejemplos utilizan algunos de los mismos objetos de solicitud que se muestran en Actualizar y eliminar filas de tablas usando la API web para definir el objeto de datos para actualizar una entidad de entidad.

Ejemplo Demuestra Ejemplo de API web
Actualización básica Cómo actualizar los valores de columna en un registro de cuenta existente. Actualización básica
Actualización de asociaciones a las tablas relacionadas Cómo cambiar el contacto principal de una cuenta mediante @odata.bind. Asociar a una propiedad de navegación con un solo valor
Actualizar las asociaciones a las tablas relacionadas de tipo Activity Cómo asociar una tarea con una oportunidad o establecer su búsqueda en una cuenta. Asociar a una propiedad de navegación con un solo valor
Actualizar las asociaciones para las propiedades de navegación con valores de colección Cómo asociar y desasociar registros relacionados mediante Xrm.WebApi.online.execute. Agregar un registro a una colección y quitar un registro de una colección

Ejemplo de actualización básica

Actualiza un registro de cuenta existente con ID de registro = 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 la asociación a los registros de tabla relacionados (búsquedas), establezca el valor de las propiedades de navegación de un solo valor mediante la @odata.bind anotación para que apunte a otro registro.

A continuación se proporciona ejemplo de código:

El ejemplo siguiente actualiza un registro de cuenta para asociar otro registro de contacto como contacto principal de la cuenta:

// 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 en desuso para escenario sin conexión móvil

Nota

En lugar de usar la @odata.bind anotación en el ejemplo anterior, el objeto de búsqueda en desuso con propiedades que distinguen mayúsculas de minúsculas (logicalname y id) sigue siendo compatible con las personalizaciones existentes. Sin embargo, se recomienda usar la @odata.bind anotación para escenarios en línea y sin conexión en lugar de usar este objeto en desuso.

El ejemplo siguiente utiliza el método en desuso para actualizar un registro de cuenta para asociarlo a otro registro de contacto como contacto principal para la cuenta de los clientes móviles cuando trabaje en el modo sin 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 las asociaciones a las tablas relacionadas de tipo Activity, establezca el valor de las propiedades de navegación de un solo valor mediante la @odata.bind anotación para apuntar a otro registro.

Actualizar la columna de oportunidades relacionadas en la tarea

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

Actualizar con respecto a la columna de la tarea

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

Ejemplo de las asociaciones de actualización de las propiedades de navegación con valores de colección

Use la API Xrm.WebApi.online.execute para asociar y desasociar las propiedades de navegación con valores de colección. Esta característica no se admite para escenarios móviles sin conexión.

Xrm.WebApi