Compartir a través de


updateRecord (referencia de API de cliente)

Actualiza un registro de tabla.

Sintaxis

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

Parámetros

Name Type Obligatorio Description
entityLogicalName String El nombre lógico de la entidad del registro que desea actualizar. Por ejemplo: account.
id String GUID del registro de entidad que desea actualizar.
data Objecto 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. Código de error.
- message: Cadena. Un mensaje de error que describe el problema.

Valor devuelto

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

Name 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.

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 una asociación para los registros tabla relacionada (búsquedas), establezca el valor de las propiedades de navegación de un solo valor mediante la anotación @odata.bind en 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 el ejemplo de anotación @odata.bind anterior, el objeto búsqueda en desuso con propiedades que distinguen entre mayúsculas y minúsculas (logicalname e id) sigue siendo compatible con las personalizaciones existentes. Sin embargo, se recomienda utilizar la anotación @odata.bind para el escenario 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 una asociación para las tablas de tipo Actividad, establezca el valor de las propiedades de navegación de un solo valor mediante la anotación @odata.bind en 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
   }
);

Actualizar asociaciones mediante propiedades de navegación de colección valorada

La Xrm.WebApi.online.execute se puede utilizar para asociar y disociar propiedades de navegación valoradas por colecciones. Esto NO es compatible con escenarios móviles sin conexión.

Xrm.WebApi

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).