createRecord (klient-API-referens)

Skapar en tabellpost.

Syntax

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

Parameterar

Namn Typ Krävs Description
entityLogicalName String Yes Logiskt namn på den tabell som du vill skapa. Till exempel: account.
data Object Yes Ett JSON-objekt som definierar kolumnerna och värdena för den nya tabellposten. Se exempel
successCallback Funktion Nej En funktion som ska anropas när en post skapas. 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 Det logiska tabellnamnet för den nya posten.
id String GUID för den nya posten.

Examples

I de här exemplen används samma begärandeobjekt som i följande artikel: Skapa en tabellrad med hjälp av webb-API:et. Artikeln visar hur du definierar dataobjektet för att skapa en tabellpost.

Example Demonstrerar Exempel på webb-API
Grundläggande skapande Så här skapar du en kontopost med kolumnvärden. Grundläggande skapande
Skapa relaterade tabellposter tillsammans med den primära posten Så här skapar du ett konto och relaterade kontakter, affärsmöjligheter och uppgiftsposter i en åtgärd. Skapa relaterade tabellrader i en åtgärd
Associera tabeller när nya poster skapas Så här associerar du ett nytt konto med en befintlig kontakt med hjälp av @odata.bind. Associera tabellrader vid skapande

Exempel på grundläggande skapande

Skapar en exempelkontopost.

// define the data to create new account
var data =
    {
        "name": "Sample Account",
        "creditonhold": false,
        "address1_latitude": 47.639583,
        "description": "This is the description of the sample account",
        "revenue": 5000000,
        "accountcategorycode": 1,
        "opendeals_date": new Date("2024-02-03T00:00:00Z")
    }

// create account record
Xrm.WebApi.createRecord("account", data).then(
    function success(result) {
        console.log("Account created with ID: " + result.id);
        // perform operations on record creation
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Anmärkning

Det går inte att skapa poster med en primär avbildning i offlineläge. Du kan bara ange primära avbildningar med hjälp av skapa i onlineläge. Du kan inte ange andra bildkolumner med hjälp av skapa. Läs mer om primära avbildningar

Du kan skapa tabeller som är relaterade till varandra genom att definiera dem som navigeringsegenskapsvärden. Det här mönstret kallas djupinfogning. I det här exemplet skapar du en exempelkontopost tillsammans med den primära kontaktposten och en associerad affärsmöjlighetspost.

Anmärkning

Det går inte att skapa relaterade tabellposter i en enda skapandeåtgärd för offlineläge.

// define data to create primary and related table records
var data =
    {
        "name": "Sample Account",
        "primarycontactid":
        {
            "firstname": "John",
            "lastname": "Smith"
        },
        "opportunity_customer_accounts":
        [
            {
                "name": "Opportunity associated to Sample Account",
                "Opportunity_Tasks":
                [
                    { "subject": "Task associated to opportunity" }
                ]
            }
        ]
    }

// create account record
Xrm.WebApi.createRecord("account", data).then(
    function success(result) {
        console.log("Account created with ID: " + result.id);
        // perform operations on record creation
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Associera tabeller när du skapar ett exempel på nya poster

Om du vill associera nya tabellposter med befintliga tabellposter anger du värdet för navigeringsegenskaper med ett värde med hjälp av anteckningen @odata.bind .

Anmärkning

Namnen på envärdesnavigeringsegenskaper är inte alltid samma som LogicalName för uppslagsattributet. Se till att du använder Name attributvärdet för elementet NavigationProperty i webb-API:et $metadata tjänstdokumentet. Mer information finns i Navigeringsegenskaper för webb-API.

Här är ett kodexempel:

I följande exempel skapas en kontopost och den associeras med en befintlig kontaktpost för att ange den senare som primär kontakt för den nya kontoposten:

var data =
    {
        "name": "Sample Account",
        "primarycontactid@odata.bind": "/contacts(465b158c-541c-e511-80d3-3863bb347ba8)"
    }

// create account record
Xrm.WebApi.createRecord("account", data).then(
    function success(result) {
        console.log("Account created with ID: " + result.id);
        // perform operations on record creation
    },
    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 det @odata.bind anteckningsexempel som visades tidigare stöds fortfarande det inaktuella uppslagsobjektet med skiftlägeskänsliga egenskaper (logicalname och id) för befintliga anpassningar. Använd dock kommentaren @odata.bind 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 skapa en kontopost och associera den med en befintlig kontaktpost för att ange den senare som primär kontakt för den nya kontoposten från mobila klienter när du arbetar i offlineläge:

var data =
    {
        "name": "Sample Account",
        "primarycontactid":
        {
            "logicalname": "contact",
            "id": "465b158c-541c-e511-80d3-3863bb347ba8"
        } 
    }

// create account record
Xrm.WebApi.offline.createRecord("account", data).then(
    function success(result) {
        console.log("Account created with ID: " + result.id);
        // perform operations on record creation
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Skapa en tabellrad med hjälp av webb-API:et
Xrm.WebApi