Compartilhar 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 Object Yes Um objeto JSON que contém key: value pares, onde key está a propriedade da tabela e value é o valor da propriedade que você deseja atualizar.
Veja 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 a ser chamada quando um registro é atualizado. Consulte o valor retornado
errorCallback Função Não Uma função a ser chamada 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:Corda. Uma mensagem de erro descrevendo o problema.

Valor de retorno

Com êxito, retorna um objeto de promessa para as successCallback seguintes propriedades:

Nome Tipo Description
entityType String O nome lógico da tabela do registro.
id String GUID do registro.

Exemplos

Esses exemplos usam alguns dos mesmos objetos de solicitação, como demonstrado em Atualizar e excluir linhas de tabela usando a API Web para definir o objeto de dados para atualizar um registro de tabela.

Atualização básica

Atualiza um registro de conta existente com a ID do 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 com 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 primário 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 offline móvel

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 tem suporte para exisiting customizations. No entanto, é recomendável 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 da 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 Atividade, defina o valor das propriedades de navegação com valor único usando a @odata.bind anotação para outro registro.

Atualizar a 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. Não há suporte para cenários offline móveis.

Xrm.WebApi