Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
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
Opret relaterede tabelposter sammen med det primære posteksempel
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
}
);