Partilhar via


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

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

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.

Xrm.WebApi