updateRecord (Informazioni di riferimento sulle API client)

Aggiorna un record di tabella.

Sintassi

Xrm.WebApi.updateRecord(entityLogicalName, id, data).then(successCallback, errorCallback);

Parametri

Nome TIPO Obbligatorio Description
entityLogicalName String Yes Nome logico della tabella del record da aggiornare. Ad esempio: account.
id String Yes GUID del record di tabella da aggiornare.
data Oggetto Yes Oggetto JSON contenente key: value coppie, dove key è la proprietà della tabella ed value è il valore della proprietà da aggiornare.
Vedere Esempi per vedere come definire l'oggetto data per vari scenari di aggiornamento.
successCallback Funzione NO Funzione da chiamare quando un record viene aggiornato. Vedere Valore restituito
errorCallback Funzione NO Funzione da chiamare quando l'operazione ha esito negativo. Viene passato un oggetto con le proprietà seguenti:
- errorCode:Numero. Codice di errore come numero decimale positivo. Ad esempio, il codice di errore documentato come 0x80040333 verrà restituito come 2147746611.
- message:Corda. Un messaggio di errore che descrive il problema.

Valore restituito

In caso di esito positivo, restituisce un oggetto promise a successCallback con le proprietà seguenti:

Nome TIPO Description
entityType String Nome logico della tabella del record.
id String GUID del record.

Esempi

Questi esempi usano alcuni degli stessi oggetti richiesta illustrati in Aggiornare ed eliminare righe di tabella usando l'API Web per definire l'oggetto dati per l'aggiornamento di un record di tabella.

Esempio Dimostra Esempio di API Web
Aggiornamento di base Come aggiornare i valori di colonna in un record di account esistente. Aggiornamento di base
Aggiornare le associazioni alle tabelle correlate Come modificare il contatto principale di un account usando @odata.bind. Associare a una proprietà di navigazione a valore singolo
Aggiornare le associazioni alle tabelle correlate di tipo Activity Come associare un'attività a un'opportunità o impostarne La ricerca su un account. Associare a una proprietà di navigazione a valore singolo
Aggiornare le associazioni per le proprietà di navigazione con valori di raccolta Come associare e annullare l'associazione dei record correlati tramite Xrm.WebApi.online.execute. Aggiungere un record a una raccolta e Rimuovere un record da una raccolta

Esempio di aggiornamento di base

Aggiorna un record di account esistente con ID record = 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
    }
);

Per aggiornare l'associazione ai record di tabella correlati (ricerche), impostare il valore delle proprietà di navigazione a valore singolo usando l'annotazione @odata.bind in modo che punti a un altro record.

Ecco l'esempio di codice:

Nell'esempio seguente viene aggiornato un record di account per associare un altro record di contatto come contatto principale per l'account:

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

Metodo deprecato per lo scenario offline per dispositivi mobili

Annotazioni

Anziché usare l'annotazione @odata.bind nell'esempio precedente, l'oggetto di ricerca deprecato con proprietà con distinzione tra maiuscole e minuscole (logicalname e id) è ancora supportato per le personalizzazioni esistenti. Tuttavia, l'uso dell'annotazione @odata.bind è consigliato sia per gli scenari online che per gli scenari offline invece di usare questo oggetto deprecato.

Nell'esempio seguente viene utilizzato il metodo deprecato per aggiornare un record di account per associare un altro record di contatto come contatto principale per l'account dei client mobili quando si lavora in modalità 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
    }
);

Per aggiornare le associazioni alle tabelle correlate di tipo Activity, impostare il valore delle proprietà di navigazione a valore singolo usando l'annotazione @odata.bind in modo che punti a un altro record.

Aggiornare la colonna opportunità correlata all'attività

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

Aggiornamento della colonna relativa all'attività

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

Esempio di associazioni di aggiornamento per le proprietà di navigazione con valori di raccolta

Usare l'API Xrm.WebApi.online.execute per associare e annullare l'associazione delle proprietà di navigazione con valori di raccolta. Questa funzionalità non è supportata per gli scenari offline per dispositivi mobili.

Xrm.WebApi