createRecord (klient-API-reference)

Opretter en tabelpost.

Syntaks

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

Parametre

Navn Type Påkrævet Beskrivelse
entityLogicalName String Ja Logisk navn på den tabel, du vil oprette. Eksempel: account.
data Objekt Ja Et JSON-objekt, der definerer kolonnerne og værdierne for den nye tabelpost. Se eksempler
successCallback Funktion Nej En funktion, der skal kaldes, når der oprettes en post. Se returværdi
errorCallback Funktion Nej En funktion, der skal kaldes, når handlingen mislykkes. Et objekt med følgende egenskaber overføres:
- errorCode:Tal. Fejlkoden som et positivt decimaltal. Fejlkoden, der f.eks. er dokumenteret som 0x80040333 returneres som 2147746611.
- message:Streng. En fejlmeddelelse, der beskriver problemet.

Returværdi

Når det lykkedes, returneres et promise-objekt til successCallback med følgende egenskaber:

Navn Type Beskrivelse
entityType String Det logiske tabelnavn for den nye post.
id String GUID for den nye post.

Eksempler

I disse eksempler bruges de samme anmodningsobjekter som i følgende artikel: Opret en tabelrække ved hjælp af web-API'en. I artiklen kan du se, hvordan du definerer dataobjektet til oprettelse af en tabelpost.

Eksempel: Demonstrerer Eksempel på web-API
Grundlæggende oprettelse Sådan opretter du en kontopost med kolonneværdier. Grundlæggende oprettelse
Opret relaterede tabelposter sammen med den primære post Sådan opretter du en konto og relaterede kontakt-, salgsmuligheds- og opgaveposter i én handling. Opret relaterede tabelrækker i én handling
Tilknyt tabeller ved oprettelse af nye poster Sådan knyttes en ny konto til en eksisterende kontakt ved hjælp af @odata.bind. Knyt tabelrækker ved oprettelse

Eksempel på grundlæggende oprettelse

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

Notat

Oprettelse af poster med et primært billede understøttes ikke i offlinetilstand. Du kan kun angive primære billeder ved hjælp af opret i onlinetilstand. Du kan ikke angive andre billedkolonner ved hjælp af opret. Få mere at vide om primære billeder

Du kan oprette tabeller, der er relateret til hinanden, ved at definere dem som navigationsegenskabsværdier. Dette mønster kaldes dyb indsættelse. I dette eksempel skal du oprette en eksempelkontopost sammen med den primære kontaktpost og en tilknyttet salgsmulighedspost.

Notat

Oprettelse af relaterede tabelposter i en enkelt oprettelseshandling understøttes ikke i offlinetilstand.

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

Tilknyt tabeller, når du opretter et eksempel på nye poster

Hvis du vil knytte nye tabelposter til eksisterende tabelposter, skal du angive værdien af navigationsegenskaber med en enkelt værdi ved hjælp af anmærkningen @odata.bind .

Notat

Navnene på navigationsegenskaber med en enkelt værdi er ikke altid de samme som LogicalName for opslagsattributten. Sørg for, at du bruger Name attributværdien for NavigationProperty elementet i web-API'en $metadata tjenestedokument. Du kan få flere oplysninger under Egenskaber for web-API-navigation.

Her er et kodeeksempel:

I følgende eksempel oprettes en kontopost, og den knyttes til en eksisterende kontaktpost for at angive denne som den primære kontakt for den nye kontopost:

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

Frarådet metode til mobil offlinescenarie

Notat

I stedet for at bruge det @odata.bind anmærkningseksempel, der blev vist tidligere, understøttes det frarådede opslagsobjekt med forskel på store og små bogstaver (logicalname og id) stadig for eksisterende tilpasninger. Brug dog anmærkningen @odata.bind til både online- og offlinescenarier i stedet for at bruge dette frarådede objekt.

I følgende eksempel bruges den frarådede metode til at oprette en kontopost og knytte den til en eksisterende kontaktpost for at angive denne som den primære kontakt for den nye kontopost fra mobilklienter, når du arbejder i offlinetilstand:

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

Opret en tabelrække ved hjælp af Web-API'en
Xrm.WebApi