Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
}
);
Actualización de asociaciones al ejemplo de tablas relacionadas
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
}
);
Actualización de asociaciones a las tablas relacionadas de tipo Ejemplo de actividad
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.