Del via


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 de samme forespørselsobjektene som vist i Opprett en tabellrad ved hjelp av web-API-en for å definere dataobjektet for å opprette en tabellpost.

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. Primære bilder kan bare angis med oppretting i tilkoblet modus. Andre bildekolonner kan ikke angis med oppretting. Finn ut mer om primære bilder

Du kan opprette tabeller relatert til hverandre ved å definere dem som verdier for navigasjonsegenskaper. Dette mønsteret kalles dyp innsetting. I dette eksemplet oppretter vi 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 til oppretting av nye 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. Du bør kontrollere at du bruker Name attributtverdien NavigationProperty for elementet i web-API-$metadata tjenestedokumentet. Mer informasjon: Egenskaper for web-API-navigasjon

Her er 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 et merknadseksempel som ble vist tidligere, støttes fortsatt det avskrevne oppslagsobjektet med egenskaper som skiller mellom store og små bokstaver (logicalname og id) for eksisterende tilpasninger. Det anbefales imidlertid å bruke @odata.bind merknader 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 knytter 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