Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
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 : nombre. Code d’erreur sous la forme d’un nombre décimal positif. Par exemple, le code d’erreur documenté en tant que 0x80040333 sera renvoyé en tant que 2147746611.- 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 que l’article suivant : créez une ligne de table à l’aide de l’API web. L’article montre comment définir l’objet de données pour la création d’un enregistrement de table.
| Exemple | Démontre | Exemple d’API web |
|---|---|---|
| Création de base | Comment créer un enregistrement de compte avec des valeurs de colonne. | Création de base |
| Créer des enregistrements de table associés avec l’enregistrement principal | Création d’un compte et d’un contact, d’une opportunité et d’enregistrements de tâches associés dans une seule opération. | Créer des lignes de table associées en une seule opération |
| Associer des tables lors de la création d’enregistrements | Comment associer un nouveau compte à un contact existant à l’aide @odata.bindde . |
Associer des lignes de table lors de la création |
Exemple de 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
}
);
Note
La création d’enregistrements avec une image principale n’est pas prise en charge pour le mode hors connexion. Vous pouvez définir des images principales uniquement à l’aide de la création en mode en ligne. Vous ne pouvez pas définir d’autres colonnes d’image à l’aide de la création. En savoir plus sur les images principales
Créer des enregistrements de table associés avec l’exemple d’enregistrement principal
Vous pouvez créer des tables liées les unes aux autres en les définissant comme valeurs de propriété de navigation. Ce modèle s’appelle l’insertion profonde. Dans cet exemple, vous créez un exemple d’enregistrement de compte avec l’enregistrement de contact principal et un enregistrement d’opportunité associé.
Note
La création d’enregistrements de table associés dans une seule opération de création n’est pas prise en charge pour le 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 d’un nouvel exemple d’enregistrements
Pour associer de nouveaux enregistrements de table aux enregistrements de table existants, définissez la valeur des propriétés de navigation à valeur unique à l’aide de l’annotation @odata.bind .
Note
Les noms des propriétés de navigation à valeur unique ne sont pas toujours identiques à ceux LogicalName de l’attribut de recherche. Vérifiez que vous utilisez la Name valeur d’attribut de l’élément NavigationProperty dans le document de service $metadata de l’API web. Pour plus d’informations, consultez Propriétés de navigation de l’API web.
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 pour le 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
Note
Au lieu d’utiliser l’exemple d’annotation indiqué précédemment, l’objet de recherche déconseillé avec des propriétés sensibles à la @odata.bind casse (logicalnameetid) est toujours pris en charge pour les personnalisations existantes. Toutefois, utilisez l’annotation @odata.bind pour les scénarios en ligne et hors connexion au lieu d’utiliser cet objet déconseillé.
L’exemple suivant utilise la méthode déconseillée pour créer un enregistrement de compte et l’associer à un enregistrement de contact existant pour définir ce dernier comme contact principal pour le nouvel enregistrement de compte à partir de clients mobiles lors de l’utilisation 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
}
);