Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Skapar en tabellpost.
Syntax
Xrm.WebApi.createRecord(entityLogicalName, data).then(successCallback, errorCallback);
Parameterar
| Namn | Typ | Krävs | Description |
|---|---|---|---|
entityLogicalName |
String | Yes | Logiskt namn på den tabell som du vill skapa. Till exempel: account. |
data |
Object | Yes | Ett JSON-objekt som definierar kolumnerna och värdena för den nya tabellposten. Se exempel |
successCallback |
Funktion | Nej | En funktion som ska anropas när en post skapas. Se Returvärde |
errorCallback |
Funktion | Nej | En funktion som ska anropas när åtgärden misslyckas. Ett objekt med följande egenskaper skickas: - errorCode:Nummer. Felkoden som ett positivt decimaltal. Till exempel returneras felkoden som dokumenteras 0x80040333som 2147746611 .- message:Sträng. Ett felmeddelande som beskriver problemet. |
Returvärde
Vid lyckat resultat returnerar ett löftesobjekt till successCallback med följande egenskaper:
| Namn | Typ | Description |
|---|---|---|
entityType |
String | Det logiska tabellnamnet för den nya posten. |
id |
String | GUID för den nya posten. |
Examples
I de här exemplen används samma begärandeobjekt som i följande artikel: Skapa en tabellrad med hjälp av webb-API:et. Artikeln visar hur du definierar dataobjektet för att skapa en tabellpost.
| Example | Demonstrerar | Exempel på webb-API |
|---|---|---|
| Grundläggande skapande | Så här skapar du en kontopost med kolumnvärden. | Grundläggande skapande |
| Skapa relaterade tabellposter tillsammans med den primära posten | Så här skapar du ett konto och relaterade kontakter, affärsmöjligheter och uppgiftsposter i en åtgärd. | Skapa relaterade tabellrader i en åtgärd |
| Associera tabeller när nya poster skapas | Så här associerar du ett nytt konto med en befintlig kontakt med hjälp av @odata.bind. |
Associera tabellrader vid skapande |
Exempel på grundläggande skapande
Skapar en exempelkontopost.
// 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
}
);
Anmärkning
Det går inte att skapa poster med en primär avbildning i offlineläge. Du kan bara ange primära avbildningar med hjälp av skapa i onlineläge. Du kan inte ange andra bildkolumner med hjälp av skapa. Läs mer om primära avbildningar
Skapa relaterade tabellposter tillsammans med det primära postexemplet
Du kan skapa tabeller som är relaterade till varandra genom att definiera dem som navigeringsegenskapsvärden. Det här mönstret kallas djupinfogning. I det här exemplet skapar du en exempelkontopost tillsammans med den primära kontaktposten och en associerad affärsmöjlighetspost.
Anmärkning
Det går inte att skapa relaterade tabellposter i en enda skapandeåtgärd för offlineläge.
// 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
}
);
Associera tabeller när du skapar ett exempel på nya poster
Om du vill associera nya tabellposter med befintliga tabellposter anger du värdet för navigeringsegenskaper med ett värde med hjälp av anteckningen @odata.bind .
Anmärkning
Namnen på envärdesnavigeringsegenskaper är inte alltid samma som LogicalName för uppslagsattributet. Se till att du använder Name attributvärdet för elementet NavigationProperty i webb-API:et $metadata tjänstdokumentet. Mer information finns i Navigeringsegenskaper för webb-API.
Här är ett kodexempel:
I följande exempel skapas en kontopost och den associeras med en befintlig kontaktpost för att ange den senare som primär kontakt för den nya kontoposten:
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
}
);
Inaktuell metod för scenario med mobil offline
Anmärkning
I stället för att använda det @odata.bind anteckningsexempel som visades tidigare stöds fortfarande det inaktuella uppslagsobjektet med skiftlägeskänsliga egenskaper (logicalname och id) för befintliga anpassningar. Använd dock kommentaren @odata.bind för både online- och offlinescenarier i stället för att använda det här inaktuella objektet.
I följande exempel används den inaktuella metoden för att skapa en kontopost och associera den med en befintlig kontaktpost för att ange den senare som primär kontakt för den nya kontoposten från mobila klienter när du arbetar i offlineläge:
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
}
);