Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Atualiza um registro de tabela.
Sintaxe
Xrm.WebApi.updateRecord(entityLogicalName, id, data).then(successCallback, errorCallback);
Parâmetros
| Nome | Tipo | Obrigatório | Description |
|---|---|---|---|
entityLogicalName |
String | Yes | O nome lógico da tabela do registro que você deseja atualizar. Por exemplo: account. |
id |
String | Yes | GUID do registro de tabela que você deseja atualizar. |
data |
Objeto | Yes | Um objeto JSON contendo key: value pares, onde key é a propriedade da tabela e value é o valor da propriedade que você deseja atualizar.Consulte Exemplos para ver como você pode definir o data objeto para vários cenários de atualização. |
successCallback |
Função | Não | Uma função para chamar quando um registro é atualizado. Ver Valor de Retorno |
errorCallback |
Função | Não | Uma função para chamar quando a operação falhar. Um objeto com as seguintes propriedades é passado: - errorCode: Número. O código de erro como um número decimal positivo. Por exemplo, o código de erro documentado como 0x80040333 será retornado como 2147746611.- message: String. Uma mensagem de erro descrevendo o problema. |
Valor de retorno
Quando for bem-sucedido, retorna um objeto promise para o successCallback com as seguintes propriedades:
| Nome | Tipo | Description |
|---|---|---|
entityType |
String | O nome lógico da tabela do registro. |
id |
String | GUID do registro. |
Examples
Esses exemplos usam alguns dos mesmos objetos de solicitação demonstrados em Atualizar e excluir linhas de tabela usando a API da Web para definir o objeto de dados para atualizar um registro de tabela.
Atualização básica
Atualiza um registro de conta existente com 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
}
);
Atualizar associações para as tabelas relacionadas
Para atualizar a associação aos registros de tabela relacionados (pesquisas), defina o valor das propriedades de navegação de valor único usando a @odata.bind anotação para outro registro.
Aqui está o exemplo de código:
O exemplo a seguir atualiza um registro de conta para associar outro registro de contato como o contato principal da 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 preterido para cenário móvel offline
Observação
Em vez de usar @odata.bind o exemplo de anotação acima, o objeto de pesquisa preterido com propriedades que diferenciam maiúsculas de minúsculas (logicalname e id) ainda é suportado para personalizações existentes. No entanto, recomenda-se usar @odata.bind a anotação para cenários online e offline em vez de usar esse objeto preterido.
O exemplo a seguir usa o método preterido para atualizar um registro de conta para associar outro registro de contato como o contato principal para a conta de clientes móveis ao trabalhar no modo offline:
// 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
}
);
Atualizar associações para as tabelas relacionadas do tipo Activity
Para atualizar a associação às tabelas relacionadas do tipo Activity, defina o valor das propriedades de navegação de valor único usando a @odata.bind anotação para outro registro.
Atualizar coluna 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
}
);
Atualizar sobre a coluna na 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
}
);
Atualizar associações para propriedades de navegação com valor de coleção
A API Xrm.WebApi.online.execute pode ser usada para associar e desassociar propriedades de navegação com valor de coleção. Isso NÃO é suportado para cenários móveis offline.