updateRecord (klient-API-referens)

Uppdaterar en tabellpost.

Syntax

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

Parameterar

Namn Typ Krävs Description
entityLogicalName String Yes Det logiska tabellnamnet för den post som du vill uppdatera. Till exempel: account.
id String Yes GUID för den tabellpost som du vill uppdatera.
data Object Yes Ett JSON-objekt som innehåller key: value par, där key är egenskapen för tabellen och value är värdet för den egenskap som du vill uppdatera.
Se Exempel för att se hur du kan definiera objektet data för olika uppdateringsscenarier.
successCallback Funktion Nej En funktion som ska anropas när en post uppdateras. Se Returvärde
errorCallback Funktion Nej En funktion som ska anropas när åtgärden misslyckas. Ett objekt med följande egenskaper skickas:
- errorCode:Nummer. Felkoden som ett positivt decimaltal. Till exempel returneras felkoden som dokumenteras 0x80040333som 2147746611 .
- message:Sträng. Ett felmeddelande som beskriver problemet.

Returvärde

Vid lyckat resultat returnerar ett löftesobjekt till successCallback med följande egenskaper:

Namn Typ Description
entityType String Postens logiska tabellnamn.
id String GUID för posten.

Examples

I de här exemplen används några av samma begärandeobjekt som visas i Uppdatera och ta bort tabellrader med hjälp av webb-API:et för att definiera dataobjektet för uppdatering av en tabellpost.

Example Demonstrerar Exempel på webb-API
Grundläggande uppdatering Så här uppdaterar du kolumnvärden för en befintlig kontopost. Grundläggande uppdatering
Uppdatera associationer till de relaterade tabellerna Så här ändrar du ett kontos primära kontakt med hjälp av @odata.bind. Associera med en navigeringsegenskap med en enda värde
Uppdatera associationer till relaterade tabeller av typen Aktivitet Så här associerar du en aktivitet med en affärsmöjlighet eller ställer in dess Om uppslag till ett konto. Associera med en navigeringsegenskap med en enda värde
Uppdatera associationer för samlingsvärdesnavigeringsegenskaper Så här associerar och kopplar du bort relaterade poster med hjälp av Xrm.WebApi.online.execute. Lägga till en post i en samling och Ta bort en post från en samling

Exempel på grundläggande uppdatering

Uppdaterar en befintlig kontopost med post-ID = 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
    }
);

Om du vill uppdatera associationen till relaterade tabellposter (sökningar) anger du värdet för navigeringsegenskaper med en enda värde genom att använda anteckningen @odata.bind för att peka på en annan post.

Här är kodexempel:

I följande exempel uppdateras en kontopost för att associera en annan kontaktpost som den primära kontakten för kontot:

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

Inaktuell metod för scenario med mobil offline

Anmärkning

I stället för att använda anteckningen @odata.bind i föregående exempel stöds fortfarande det inaktuella uppslagsobjektet med skiftlägeskänsliga egenskaper (logicalname och id) för befintliga anpassningar. Men användning av anteckningen @odata.bind rekommenderas för både online- och offlinescenarier i stället för att använda det här inaktuella objektet.

I följande exempel används den inaktuella metoden för att uppdatera en kontopost för att associera en annan kontaktpost som den primära kontakten för kontot från mobila klienter när du arbetar i offlineläge:

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

Om du vill uppdatera associationer till relaterade tabeller av typen Aktivitet anger du värdet för navigeringsegenskaper med ett värde med hjälp av kommentaren så att den @odata.bind pekar på en annan post.

Uppdatera relaterad affärsmöjlighetskolumn för aktivitet

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

Uppdatera angående kolumn för aktivitet

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

Exempel på uppdateringsassociationer för samlingsvärdesnavigeringsegenskaper

Använd API:et Xrm.WebApi.online.execute för att associera och koppla bort navigeringsegenskaper för samlingsvärde. Den här funktionen stöds inte för scenarier med mobil offline.

Xrm.WebApi