createRecord (référence de l’API client)
Créer un enregistrement de table.
Syntaxe
Xrm.WebApi.createRecord(entityLogicalName, data).then(successCallback, errorCallback);
Paramètres
Nom | Type | Requise | Description |
---|---|---|---|
entityLogicalName |
String | Oui | Nom logique de la table à créer. Par exemple : account . |
data |
Object | Oui | Objet JSON définissant les colonnes et valeurs du nouvel enregistrement de table. Voir des exemples |
successCallback |
Function | Non | Fonction à appeler lorsqu’un enregistrement est créé. Voir Valeur renvoyée |
errorCallback |
Function | Non | Fonction à appeler lorsque l’opération échoue. Un objet avec les propriétés suivantes est transmis : - errorCode : Numéro. Code d’erreur.- message : Chaîne. Message d’erreur décrivant le problème. |
Valeur renvoyée
En cas de réussite, retourne un objet de promesse à successCallback
avec les propriétés suivantes :
Nom | Type | Description |
---|---|---|
entityType |
String | Nom logique de la table du nouvel enregistrement. |
id |
String | GUID du nouvel enregistrement. |
Examples
Ces exemples utilisent les mêmes objets de requête, comme illustré dans Créer une table à l’aide de l’API Web pour définir l’objet de données afin de créer un enregistrement de table.
Création de base
Crée un exemple d’enregistrement de compte.
// 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
}
);
Notes
La création d’enregistrements avec une image principale n’est pas prise en charge en mode hors ligne. Les images principales ne peuvent être définies qu’avec Créer en mode en ligne. Les autres colonnes d’images ne peuvent pas être définies avec Créer. En savoir plus sur les images principales
Créer des enregistrements de table associés à l’enregistrement principal
Vous pouvez créer des tables liées les unes aux autres en les définissant en tant que valeurs de propriétés de navigation. Ce modèle s’appelle l’insertion profonde. Dans cet exemple, nous créons un exemple d’enregistrement de compte avec l’enregistrement de contact principal et un enregistrement d’opportunité associé.
Notes
La création d’enregistrements de table associés en une seule opération de création n’est pas prise en charge en mode hors connexion.
// 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
}
);
Associer des tables lors de la création de nouveaux enregistrements
Pour associer de nouveaux enregistrements de table à des enregistrements de table associés existants, définissez la valeur des propriétés de navigation à valeur unique à l’aide de l’annotation @odata.bind
.
Notes
Les noms des propriétés de navigation à valeur unique ne sont pas toujours les mêmes que LogicalName
pour l’attribut de recherche. Vous devez vous assurer que vous utilisez la valeur d’attribut Name
de l’élément NavigationProperty
dans le document de service $metadata de l’API Web. Informations complémentaires : Propriétés de navigation de l’API web
Voici un exemple de code :
L’exemple suivant crée un enregistrement de compte, et l’associe à un enregistrement de contact existant pour définir ce dernier comme contact principal du nouvel enregistrement de compte :
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
}
);
Méthode obsolète pour le scénario hors ligne mobile
Notes
Au lieu d’utiliser l’exemple d’annotation @odata.bind
indiqué précédemment, l’objet de recherche obsolète avec des propriétés sensibles à la casse (logicalname
et id
) est toujours pris en charge pour les personnalisations existantes. Cependant, il est recommandé d’utiliser @odata.bind
annotation pour les scénarios en ligne et hors ligne au lieu d’utiliser cet objet obsolète.
L’exemple suivant utilise la méthode obsolète pour créer un enregistrement de compte, et l’associer à un enregistrement de contact afin de définir ce dernier comme contact principal du nouvel enregistrement de compte des clients mobiles lorsque vous travaillez en mode hors connexion :
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
}
);
Articles associés
Créer une ligne de table à l’aide de l’API web
Xrm.webApi
Notes
Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)
Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).