updateRecord (referência da API do cliente)

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: Fio. 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.

Example Demonstra Exemplo de API Web
Atualização básica Como atualizar valores de coluna num registo de conta existente. Atualização básica
Atualizar associações às tabelas relacionadas Como alterar o contacto principal de uma conta usando @odata.bind. Associe-se a uma propriedade de navegação de valor único
Atualizar associações às tabelas relacionadas do tipo Atividade Como associar uma tarefa a uma oportunidade ou definir a sua pesquisa relativamente a uma conta. Associe-se a uma propriedade de navegação de valor único
Atualizar associações para propriedades de navegação com valores de coleção Como associar e dissociar registos relacionados usando Xrm.WebApi.online.execute. Adicionar um registo a uma coleção e remover um registo de uma coleção

Exemplo básico de atualização

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

Para atualizar a associação aos registos de tabela relacionados (consultas), defina o valor das propriedades de navegação de valor único usando a @odata.bind anotação para apontar para outro registo.

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 a @odata.bind anotação do exemplo anterior, o objeto de pesquisa obsoleto com propriedades sensíveis a maiúsculas minúsculas (logicalname e id) ainda é suportado para personalizações existentes. No entanto, recomenda-se o uso da @odata.bind anotação tanto para situações online como offline, em vez de usar este objeto obsoleto.

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

Para atualizar as associações às tabelas relacionadas do tipo Atividade, defina o valor das propriedades de navegação de valor único usando a @odata.bind anotação para apontar para outro registo.

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

Associações de atualização para exemplo de propriedades de navegação com valores de coleção

Use a API Xrm.WebApi.online.execute para associar e desassociar propriedades de navegação com valor de coleção. Esta funcionalidade não é suportada para cenários móveis offline.

Xrm.WebApi