createRecord (Klient-API-referanse)

Oppretter en tabellpost.

Syntaks

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

Parametere

Name Type Kreves Bekrivelse
entityLogicalName Streng Ja Logisk navn på tabellen du vil opprette. Eksempel: account.
data Objekt Ja Et JSON-objekt som definerer kolonnene og verdiene for den nye tabellposten. Se eksempler
successCallback Function Nei En funksjon som skal kalles når en oppføring opprettes. Se returverdi
errorCallback Function Nei En funksjon som skal kalles når operasjonen mislykkes. Et objekt med følgende egenskaper sendes:
- errorCode:Nummer. Feilkoden som et positivt desimaltall. Feilkoden som for eksempel er dokumentert som 0x80040333 , returneres som 2147746611.
- message:Streng. En feilmelding som beskriver problemet.

returverdi

Ved vellykket, returnerer et løfteobjekt til successCallback med følgende egenskaper:

Name Type Bekrivelse
entityType Streng Det logiske tabellnavnet for den nye posten.
id Streng GUID for den nye posten.

Eksempler

Disse eksemplene bruker samme forespørselsobjekter som følgende artikkel: Opprette en tabellrad ved hjelp av web-API-en. Artikkelen viser hvordan du definerer dataobjektet for å opprette en tabellpost.

Eksempel Viser Eksempel på web-API
Grunnleggende oppretting Slik oppretter du en kontopost med kolonneverdier. Grunnleggende oppretting
Opprette relaterte tabellposter sammen med primærposten Slik oppretter du en konto og relaterte kontakt-, salgsmulighets- og oppgaveoppføringer i én operasjon. Opprette relaterte tabellrader i én operasjon
Knytte tabeller ved oppretting av nye poster Slik knytter du en ny konto til en eksisterende kontakt ved hjelp av @odata.bind. Knytte tabellrader ved oppretting

Eksempel på grunnleggende oppretting

Oppretter en eksempelkontopost.

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

Note

Oppretting av poster med et primærbilde støttes ikke for frakoblet modus. Du kan bare angi primære bilder ved hjelp av oppretting i tilkoblet modus. Du kan ikke angi andre bildekolonner ved hjelp av oppretting. Finn ut mer om primære bilder

Du kan opprette tabeller relatert til hverandre ved å definere dem som navigasjonsegenskapsverdier. Dette mønsteret kalles dyp innsetting. I dette eksemplet oppretter du en eksempelkontooppføring sammen med den primære kontaktoppføringen og en tilknyttet salgsmulighetsoppføring.

Note

Oppretting av relaterte tabellposter i én enkelt opprettingsoperasjon støttes ikke for frakoblet modus.

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

Knytte tabeller når du oppretter et nytt eksempel på poster

Hvis du vil knytte nye tabellposter til eksisterende tabellposter, angir du verdien for navigasjonsegenskaper med én verdi ved hjelp av merknaden @odata.bind .

Note

Navnene på navigasjonsegenskaper med én verdi er ikke alltid de samme som LogicalName for oppslagsattributtet. Kontroller at du bruker Name attributtverdien NavigationProperty for elementet i web-API-$metadata tjenestedokumentet. Hvis du vil ha mer informasjon, kan du se Egenskaper for web-API-navigering.

Her er et kodeeksempel:

Følgende eksempel oppretter en forretningsforbindelsesoppføring og knytter den til en eksisterende kontaktoppføring for å angi sistnevnte som primærkontakt for den nye forretningsforbindelsesoppføringen:

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

Avskrevet metode for frakoblet mobilscenario

Note

I stedet for å bruke @odata.bind merknadseksempelet som ble vist tidligere, støttes fortsatt det avskrevne oppslagsobjektet med egenskaper som skiller mellom store og små bokstaver (logicalname og id) for eksisterende tilpassinger. Bruk imidlertid merknaden @odata.bind for både tilkoblet og frakoblet scenario i stedet for å bruke dette avskrevne objektet.

Følgende eksempel bruker den avskrevne metoden til å opprette en forretningsforbindelsesoppføring og knytte den til en eksisterende kontaktoppføring for å angi sistnevnte som den primære kontakten for den nye forretningsforbindelsesoppføringen fra mobilklienter når du arbeider i frakoblet modus:

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

Opprette en tabellrad ved hjelp av web-API-en
Xrm.WebApi