Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erstellt einen Tabellendatensatz.
Syntax
Xrm.WebApi.createRecord(entityLogicalName, data).then(successCallback, errorCallback);
Parameter
| Name | typ | Erforderlich | Beschreibung |
|---|---|---|---|
entityLogicalName |
String | Ja | Logischer Name der Tabelle, die Sie erstellen möchten. Beispiel: account. |
data |
Object | Ja | Ein JSON-Objekt, dass die Spalten und Werte für den neuen Tabellendatensatz definiert. Siehe Beispiele |
successCallback |
Function | Nein | Eine Funktion zum Aufrufen, wenn ein Datensatz erstellt wird. Siehe Rückgabewert |
errorCallback |
Function | Nein | Eine Funktion zum Aufrufen, wenn der Vorgang fehlschlug. Es wird ein Objekt mit den folgenden Eigenschaften übergeben: - errorCode: Zahl. Der Fehlercode als positive Dezimalzahl. Der als 0x80040333 dokumentierte Fehlercode wird zum Beispiel als 2147746611 zurückgegeben.- message: Zeichenfolge Eine Fehlermeldung, die das Problem beschreibt. |
Zurückgegebener Wert
Bei Erfolg gibt dies ein Versprechen-Objekt mit den folgenden Eigenschaften an successCallback zurück:
| Name | typ | Beschreibung |
|---|---|---|
entityType |
String | Den logischen Tabellennamen des neuen Datensatzes. |
id |
String | GUID des neuen Datensatzes. |
Beispiele
In diesen Beispielen werden dieselben Anforderungsobjekte wie der folgende Artikel verwendet: Erstellen einer Tabellenzeile mithilfe der Web-API. Der Artikel zeigt, wie das Datenobjekt zum Erstellen eines Tabellendatensatzes definiert wird.
| Example | Veranschaulicht | Web-API-Beispiel |
|---|---|---|
| Grundlegende Erstellung | Erstellen eines Kontodatensatzes mit Spaltenwerten | Grundlegende Erstellung |
| Erstellen verwandter Tabellendatensätze zusammen mit dem primären Datensatz | Erstellen eines Kontos und verwandter Kontakt-, Verkaufschancen- und Aufgabendatensätze in einem Einzigen Vorgang | Erstellen Sie zugehörige Tabellenzeilen in einem Arbeitsgang |
| Zuordnen von Tabellen beim Erstellen neuer Datensätze | So ordnen Sie ein neues Konto mit einem vorhandenen Kontakt zu @odata.bind. |
Tabellenzeilen bei der Erstellung zuordnen |
Beispiel für einfaches Erstellen
Einen Firmendatensatz erstellen.
// 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
}
);
Anmerkung
Das Erstellen von Datensätzen mit einem primären Bild wird für den Offlinemodus nicht unterstützt. Sie können primäre Bilder nur mithilfe von "Erstellen" im Onlinemodus festlegen. Sie können andere Bildspalten nicht mithilfe von Create festlegen. Weitere Informationen zu primären Bildern
Erstellen verwandter Tabellendatensätze zusammen mit dem primären Datensatzbeispiel
Sie können Tabellen erstellen, die miteinander verbunden sind, indem Sie sie als Navigationseigenschaftswerte definieren. Dieses Muster ist bekannt als tiefes Einfügen. In diesem Beispiel erstellen Sie einen Beispielkontodatensatz zusammen mit dem primären Kontaktdatensatz und einem zugeordneten Verkaufschancendatensatz.
Anmerkung
Das Erstellen verwandter Tabellendatensätze in einem einzelnen Erstellungsvorgang wird für den Offlinemodus nicht unterstützt.
// 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
}
);
Zuordnen von Tabellen beim Erstellen neuer Datensätze (Beispiel)
Wenn Sie vorhandene Tabellendatensätze neuen Tabellendatensätzen zuordnen möchten, legen Sie den Wert der einzelwertigen Navigationseigenschaften mithilfe der @odata.bind Anmerkung fest.
Anmerkung
Die Namen von einzelwertigen Navigationseigenschaften sind nicht immer mit dem LogicalName für das Nachschlageattribute identisch. Stellen Sie sicher, dass Sie den Name Attributwert des NavigationProperty Elements in der Web-API $metadata Dienstdokuments verwenden. Weitere Informationen finden Sie unter Web-API-Navigationseigenschaften.
Hier sehen Sie ein Codebeispiel:
Im folgenden Beispiel wird ein Kontodatensatz erstellt und einem vorhandenen Kontaktdatensatz zugeordnet, um letztere als primären Kontakt für den neuen Kontodatensatz festzulegen:
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
}
);
Veraltete Methode für mobile offline Szenarien
Anmerkung
Anstatt das @odata.bind zuvor gezeigte Anmerkungsbeispiel zu verwenden, wird das veraltete Nachschlageobjekt mit eigenschaften mit Groß-/Kleinschreibung (logicalname und id) weiterhin für vorhandene Anpassungen unterstützt. Verwenden Sie jedoch die @odata.bind Anmerkung für Online- und Offlineszenarien, anstatt dieses veraltete Objekt zu verwenden.
Im folgenden Beispiel wird die veraltete Methode verwendet, um einen Kontodatensatz zu erstellen und ihn einem vorhandenen Kontaktdatensatz zuzuordnen, um letztere als primären Kontakt für den neuen Kontodatensatz von mobilen Clients festzulegen, wenn sie im Offlinemodus arbeiten:
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
}
);