Xrm.Mobile.offline (référence côté client)

 

Date de publication : janvier 2017

S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

L'espace de noms Xrm.Mobile.offline fournit des méthodes pour créer et gérer des enregistrements dans les clients mobiles Dynamics 365 (Dynamics 365 pour téléphones et Dynamics 365 pour tablettes) lorsque vous travaillez en mode hors connexion.

Notes

L'espace de noms Xrm.Mobile.offline a été introduit dans Mise à jour de décembre 2016 pour Dynamics 365 (en ligne et local).

Ces nouvelles API clientes sous l'espace de noms Xrm.Mobile.offline fonctionnent uniquement si vous êtes en mode hors connexion et pour les entités qui ont été activées pour la synchronisation Mobile Offline.Pour plus d'informations :Aide et formation : Configurer la synchronisation Mobile Offline pour CRM mobile pour téléphones et tablettes

Important

Lorsque vous créez ou mettez à jour l'enregistrement en mode hors connexion, seule la validation de base est effectuée sur les données d'entrée. La validation de base comprend des éléments comme garantir que le nom de l'attribut d'entité spécifié est en minuscules et existe dans une entité, rechercher la non-correspondance de type de données pour la valeur d'attribut spécifiée, empêcher les enregistrements d'être créés avec la même valeur de GUID, vérifier si l'entité associée est activée hors connexion lors de l'extraction d'enregistrements d'entité associés, et valider si l'enregistrement que vous souhaitez extraire, mettre à jour, ou supprimer existe dans le magasin de données hors connexion. Les validations au niveau de l'entreprise s'effectuent seulement lorsque vous êtes connecté au serveur Dynamics 365 et que les données sont synchronisées. Un enregistrement est créé ou mis à jour dans Dynamics 365 uniquement si les données d'entrée sont complètement valides.

Contenu de la rubrique

isOfflineEnabled

createRecord

retrieveRecord

retrieveMultipleRecords

updateRecord

deleteRecord

isOfflineEnabled

Renvoie si une entité est activée hors connexion.

Xrm.Mobile.offline.isOfflineEnabled("entityType")
  • Paramètres
    Type : Chaîne. Type d’entité dans Dynamics 365. Par exemple : « compte ». Pour plus d’informations sur le type d'entité dans Dynamics 365, voir Web API EntityType Reference.

  • Valeur renvoyée
    Type : Booléen.True si l'entité est activée hors connexion ; sinon false.

createRecord

Crée un enregistrement d'entité dans les clients mobiles Dynamics 365 lorsque vous travaillez en mode hors connexion.

Xrm.Mobile.offline.createRecord(entityType, data).then(successCallback, errorCallback)
  • Paramètres

    Nom

    Type

    Nécessaire

    Description

    entityType

    Chaîne

    Oui

    Type d'entité dans Dynamics 365 pour lequel vous souhaitez créer un enregistrement. Par exemple : « compte ». Pour plus d’informations sur le type d'entité dans Dynamics 365, voir Web API EntityType Reference

    Données

    Objet

    Oui

    Objet du dictionnaire contenant des paires key : value, où key est la propriété de l'ensemble d'entités et value est la valeur de la propriété que vous souhaitez utiliser pour créer l'enregistrement d'entité. Par exemple, définissez l'objet suivant pour créer un compte :

    var myAccount = {};
    myAccount.name = "Sample Account Name";
    myAccount.accountid = "2724A2AF-697E-E611-80DB-00155DB412B4";
    myAccount.parentaccountid = {
        "logicalname": "account",
        "id": "76BE5E4A-5990-E611-80DA-00155DD8BA2D"
    };
    myAccount.revenue = "60000.00";
    myAccount.primarycontactid = {
        "logicalname": "contact",
        "id": "76BE5E4A-5990-E611-80DA-00155DD8BA2D"
    };
    myAccount.new_customdate = new Date("September 29, 2016 12:00:00");
    

    Pour plus d’informations sur les types d'entités et leurs propriétés dans Dynamics 365, voir Web API EntityType Reference

    successCallback

    Fonction

    Non

    Fonction à appeler lorsqu'un enregistrement est créé. Un objet avec les propriétés suivantes sera transmis pour identifier le nouvel enregistrement :.

    • id : chaîne. GUID de l'enregistrement qui a été créé.

    • logicalName : chaîne. Nom logique de l'entité.

    errorCallback

    Fonction

    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.

    • debugMessage : chaîne. Message d'erreur interne qui peut contenir des informations supplémentaires sur le problème.

  • Limitations

    • Vous ne pouvez pas créer les entités d'intersection et de groupe d'activité.

    • Seuls les types d'attributs suivants sont pris en charge pour créer un enregistrement en mode hors connexion : BigInt, Boolean, Customer, DateTime, Decimal, Double, EntityName, Integer, Lookup, Memo, Money, Owner, Picklist, String, State, Status, et UniqueIdentifier.

retrieveRecord

Récupère un enregistrement d'entité dans les clients mobiles Dynamics 365 lorsque vous travaillez en mode hors connexion.

Xrm.Mobile.offline.retrieveRecord(entityType, id, options).then(successCallback, errorCallback)
  • Paramètres

    Nom

    Type

    Nécessaire

    Description

    entityType

    Chaîne

    Oui

    Type d'entité dans Dynamics 365 pour lequel vous souhaitez récupérer un enregistrement. Par exemple : « compte ». Pour plus d’informations sur le type d'entité dans Dynamics 365, voir Web API EntityType Reference

    Id

    Chaîne

    Oui

    GUID de l’enregistrement que vous souhaitez récupérer.

    options

    Chaîne

    Non

    Options de requête système OData pour récupérer vos données. Les options de requête système suivantes sont pris en charge : $expand et $select.

    • Pour utiliser $expand, l'entité associée doit également être activée hors connexion. Par exemple, pour récupérer le contact lié à un enregistrement de compte, les entités Compte et Contact doivent être activées hors connexion.

    • Vous spécifiez les options de requête à partir de ?. Pour spécifier plusieurs options de requête, utilisez & pour séparer les options de requête. Par exemple :

        ?$select=name&$expand=primarycontactid($select=contactid,fullname)
      

    Conseil

    En termes de performances, nous vous recommandons de limiter le nombre de propriétés que vous récupérez à l'aide de l'option de requête $select. Sinon, toutes les propriétés sont récupérées.

    Également lorsque vous récupérez des noms de propriétés de l'entité associée à l'aide de l'option $expand, il vous suffit d'inclure le nom de la propriété de navigation pour renvoyer toutes les propriétés des enregistrements associés. Vous pouvez limiter les propriétés retournées pour les enregistrements associés à l'aide de l'option de requête système $select entre parenthèses après le nom de propriété de navigation dans $expand. Pour plus d'informations, voir Extraire les entités associées pour une entité en développant les propriétés de navigation

    successCallback

    Fonction

    Non

    Fonction à appeler lorsqu'un enregistrement est récupéré. Un objet avec les propriétés suivantes sera transmis pour identifier l'enregistrement extrait :

    • id : chaîne. GUID de l'enregistrement qui a été extrait.

    • logicalName : chaîne. Nom logique de l'entité.

    errorCallback

    Fonction

    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.

    • debugMessage : chaîne. Message d'erreur interne qui peut contenir des informations supplémentaires sur le problème.

  • Limitations

    • Seule l'option $select peut être spécifiée dans $expand.

    • Seuls les types d'attributs suivants sont pris en charge pour extraire un enregistrement en mode hors connexion : BigInt, Boolean, Customer, DateTime, Decimal, Double, EntityName, Integer, Lookup, Memo, Money, Owner, Picklist, String, State, Status, et UniqueIdentifier.

retrieveMultipleRecords

Récupère une collection d'enregistrements d'entité dans les clients mobiles Dynamics 365 lorsque vous travaillez en mode hors connexion.

Xrm.Mobile.offline.retrieveMultipleRecords(entityType, options, maxPageSize).then(successCallback, errorCallback)
  • Paramètres

    Nom

    Type

    Nécessaire

    Description

    entityType

    Chaîne

    Oui

    Type d'entité dans Dynamics 365 pour lequel vous souhaitez récupérer des enregistrements. Par exemple : « compte ». Pour plus d’informations sur le type d'entité dans Dynamics 365, voir Web API EntityType Reference

    options

    Chaîne

    Non

    Options de requête système OData ou de requête FetchXML pour récupérer vos données. Les options de requête système suivantes sont pris en charge : $select, $top, $filter, $expand et $orderby.

    • Pour $filter, seuls les opérateurs de filtre standard comme mentionnés dans la section Filtrer les résultats sont pris en charge ; les fonctions de requête standard ne sont pas prises en charge

    • Pour utiliser $expand, l'entité associée doit également être activée hors connexion. Par exemple, pour récupérer le contact des enregistrements de compte, les entités Compte et Contact doivent être activées hors connexion. Si vous développez des propriétés de navigation avec une valeur de collection pour une entité pour récupérer les entités associées, une propriété [NavigationPropertyName]@odata.nextLink est retournée à la place pour les entités associées. Par exemple si vous développez la propriété de navigation primarycontactid, elle renvoie primarycontactid@odata.nextLink. Utilisez la valeur de la propriété primarycontactid@odata.nextLink à une nouvelle demande GET pour renvoyer les données requises.

    • Vous spécifiez les options de requête à partir de ?. Pour spécifier plusieurs options de requête, utilisez & pour séparer les options de requête. Par exemple :

      ?$top=5&$select=name&$expand=primarycontactid($select=contactid,fullname)
      

      Pour définir une requête FetchXML, utilisez le paramètre fetchXml pour définir la requête :

      ?fetchXml=<FetchXML>
      

      À l'aide de FetchXml, vous ne pouvez récupérer que les attributs de base d'entité.

    Par exemple, voici un exemple de récupération de plusieurs appels à l'aide des options de requête :

    Xrm.Mobile.offline.retrieveMultipleRecords("account", "?select=name,revenue,&$orderby=revenue&$filter=revenue ne '60000.00'", null)

    maxPageSize

    Entier

    Non

    Spécifiez un nombre positif qui indique le nombre d'enregistrements d'entité à retourner par page. Si vous ne spécifiez pas ce paramètre, la valeur par défaut passe à 5 000.

    Si le nombre d'enregistrements étant récupéré est supérieur à maxPageSize, une propriété @odata.nextLink est renvoyée, et vous pouvez utiliser la valeur de la propriété @odata.nextLink avec une nouvelle demande GET pour renvoyer le prochain jeu d'enregistrements. Pour plus d'informations, voir Spécifiez le nombre d'entités à renvoyer dans une page

    successCallback

    Fonction

    Non

    Fonction à appeler lorsque des enregistrements sont récupérés. Un dictionnaire contenant des paries de données key : value récupérées sera transmis pour identifier les enregistrements récupérés.

    errorCallback

    Fonction

    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.

    • debugMessage : chaîne. Message d'erreur interne qui peut contenir des informations supplémentaires sur le problème.

  • Limitations

    • 5 000 enregistrements associés pourront être récupérés au maximum à l'aide de $expand.

    • Seule l'option $select peut être spécifiée dans $expand.

    • L’option de requête $skip n’est pas prise en charge.

    • Seuls les types d'attributs suivants sont pris en charge pour extraire des enregistrements en mode hors connexion : BigInt, Boolean, Customer, DateTime, Decimal, Double, EntityName, Integer, Lookup, Memo, Money, Owner, Picklist, String, State, Status, et UniqueIdentifier.

updateRecord

Met à jour un enregistrement d'entité dans les clients mobiles Dynamics 365 lorsque vous travaillez en mode hors connexion.

Xrm.Mobile.offline.updateRecord(entityType, id, data).then(successCallback, errorCallback)
  • Paramètres

    Nom

    Type

    Nécessaire

    Description

    entityType

    Chaîne

    Oui

    Type d'entité dans Dynamics 365 pour lequel vous souhaitez mettre à jour un enregistrement. Par exemple : « compte ». Pour plus d’informations sur le type d'entité dans Dynamics 365, voir Web API EntityType Reference

    Id

    Chaîne

    Oui

    GUID de l’enregistrement que vous souhaitez mettre à jour.

    Données

    Objet

    Oui

    Objet du dictionnaire contenant des paires key : value, où key est le nom logique de la propriété à mettre à jour et value est la valeur mise à jour de la propriété. Seules les propriétés et les valeurs que vous spécifiez dans l'objet du dictionnaire seront mises à jour pour l'enregistrement. par exemple :

    var myUpdatedAccount = {};
    myUpdatedAccount.name = "Changed Account Name";
    myUpdatedAccount.revenue = "60000.00";

    successCallback

    Fonction

    Non

    Fonction à appeler lorsqu'un enregistrement est mis à jour. Un objet avec les propriétés suivantes sera transmis pour identifier l'enregistrement mis à jour :

    • id : chaîne. GUID de l'enregistrement qui a été mis à jour.

    • logicalName : chaîne. Nom logique de l'entité.

    errorCallback

    Fonction

    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.

    • debugMessage : chaîne. Message d'erreur interne qui peut contenir des informations supplémentaires sur le problème.

  • Limitations

    • Vous ne pouvez pas mettre à jour les entités d'intersection et de groupe d'activité.

    • Seuls les types d'attributs suivants sont pris en charge pour mettre à jour un enregistrement en mode hors connexion : BigInt, Boolean, Customer, DateTime, Decimal, Double, EntityName, Integer, Lookup, Memo, Money, Owner, Picklist, String, State, Status, et UniqueIdentifier.

deleteRecord

Supprime un enregistrement d'entité dans les clients mobiles Dynamics 365 lorsque vous travaillez en mode hors connexion.

Xrm.Mobile.offline.deleteRecord(entityType, id).then(successCallback, errorCallback)
  • Paramètres

    Nom

    Type

    Nécessaire

    Description

    entityType

    Chaîne

    Oui

    Type d'entité dans Dynamics 365 pour lequel vous souhaitez supprimer un enregistrement. Par exemple : « compte ». Pour plus d’informations sur le type d'entité dans Dynamics 365, voir Web API EntityType Reference

    Id

    Chaîne

    Oui

    GUID de l’enregistrement que vous souhaitez supprimer.

    successCallback

    Fonction

    Non

    Fonction à appeler lorsqu'un enregistrement est supprimé. Un objet avec les propriétés suivantes sera transmis pour identifier l'enregistrement supprimé :

    • id : chaîne. GUID de l'enregistrement qui a été supprimé.

    • logicalName : chaîne. Nom logique de l'entité.

    errorCallback

    Fonction

    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.

    • debugMessage : chaîne. Message d'erreur interne qui peut contenir des informations supplémentaires sur le problème.

  • Limitations
    Vous ne pouvez pas supprimer les entités d'intersection et de groupe d'activité.

Voir aussi

Écrire et déboguer des scripts pour Dynamics 365 pour téléphones et tablettes
Référence par programmation côté client

Microsoft Dynamics 365

© 2017 Microsoft. Tous droits réservés. Copyright