Partager via


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

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
    }
);

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é).