updateRecord (référence de l’API client)

Met à jour un enregistrement de table.

Syntaxe

Xrm.WebApi.updateRecord(entityLogicalName, id, data).then(successCallback, errorCallback);

Paramètres

Nom Type Requise Description
entityLogicalName String Oui Nom logique de la table de l’enregistrement à mettre à jour. Par exemple : account.
id String Oui GUID de l’enregistrement de table à mettre à jour.
data Object Oui Objet JSON contenant des paires key: value, où key est la propriété de la table et value est la valeur de la propriété à mettre à jour.
Consultez les exemples pour savoir comment définir l’objet data pour différents scénarios de mise à jour.
successCallback Function Non Fonction à appeler lorsqu’un enregistrement est mis à jour. 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 : téléphone. 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 de l’enregistrement.
id String GUID de l’enregistrement.

Examples

Ces exemples utilisent certains des mêmes objets de requête, comme illustré dans Mettre à jour et supprimer des lignes de tables à l’aide de l’API web pour définir l’objet de données pour la mise à jour d’un enregistrement de table.

Mise à jour de base

Met à jour un enregistrement de compte existant avec l’ID d’enregistrement = 5531d753-95af-e711-a94e-000d3a11e605.

// define the data to update a record
var data =
    {
        "name": "Updated Sample Account ",
        "creditonhold": true,
        "address1_latitude": 47.639583,
        "description": "This is the updated description of the sample account",
        "revenue": 6000000,
        "accountcategorycode": 2
    }
// update the record
Xrm.WebApi.updateRecord("account", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
    function success(result) {
        console.log("Account updated");
        // perform operations on record update
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Pour mettre à jour l’association avec les enregistrements de table associés (recherches), définissez la valeur des propriétés de navigation à valeur unique à l’aide de l’annotation @odata.bind vers un autre enregistrement.

Voici un exemple de code :

L’exemple suivant met à jour un enregistrement de compte pour associer un autre enregistrement de contact comme contact principal du compte :

// define the data to update a record
var data =
    {
        "primarycontactid@odata.bind": "/contacts(61a0e5b9-88df-e311-b8e5-6c3be5a8b200)"
    }
// update the record
Xrm.WebApi.updateRecord("account", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
    function success(result) {
        console.log("Account updated");
        // perform operations on record update
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Méthode obsolète pour le scénario hors ligne mobile

Notes

À la place d’utiliser l’exemple d’annotation @odata.bind ci-dessus, 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 s’appuie sur la méthode obsolète pour mettre à jour un enregistrement de compte à associer à un autre enregistrement de contact afin en tant que contact principal du compte des clients mobiles quand vous travaillez en mode hors connexion :

// define the data to update a record
var data =
    {
        "primarycontactid":
        {
            "logicalname": "contact",
            "id": "61a0e5b9-88df-e311-b8e5-6c3be5a8b200"
        }
    }
// update the record
Xrm.WebApi.offline.updateRecord("account", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
    function success(result) {
        console.log("Account updated");
        // perform operations on record update
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Pour mettre à jour l’association avec les enregistrements de table associés de type Activité, définissez la valeur des propriétés de navigation à valeur unique à l’aide de l’annotation @odata.bind vers un autre enregistrement.

Mettre à jour la colonne d’opportunité associée sur la tâche

// define the data to update a record
var data =
    {
        "new_relatedopportunities_task@odata.bind": "/opportunities(61a0e5b9-88df-e311-b8e5-6c3be5a8b200)"
    }
// update the record
Xrm.WebApi.updateRecord("task", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
    function success(result) {
        console.log("Task updated");
        // perform operations on record update
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Mise à jour concernant la colonne sur la tâche

// define the data to update a record
var data =
   {
       "regardingobjectid_account_task@odata.bind": "/accounts(61a0e5b9-88df-e311-b8e5-6c3be5a8b200)"
   }
// update the record
Xrm.WebApi.updateRecord("task", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
   function success(result) {
       console.log("Task updated");
       // perform operations on record update
   },
   function (error) {
       console.log(error.message);
       // handle error conditions
   }
);

Mettre à jour les associations pour les propriétés de navigation avec une valeur de collection

L’API Xrm.WebApi.online.execute peut être utilisée pour associer et dissocier des propriétés de navigation avec une valeur de collection. Celle-ci N’EST PAS prise en charge pour les scénarios mobiles hors ligne.

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