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