Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
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
Opprette relaterte tabellposter sammen med det primære posteksempelet
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
}
);