This is an automatic translation. The original post is available in Anglais.

Events Codeunit

L’ Anveo Mobile App fournit l’codeunit ACF App Events in Microsoft Dynamics NAV 2015 à laquelle tous les changements de données entrants sont envoyés par les appareils mobiles pendant la synchronisation. Dans cette codeunit, vous pouvez définir ce qu’il faut faire avec les changements de données des utilisateurs mobiles. Détectez et résolvez les conflits de données au cas où deux utilisateurs auraient modifié le même enregistrement en raison de capacités hors ligne. En outre, vous pouvez exécuter un code C/AL individuel. Cette sous-section décrit ses caractéristiques.

Propriétés mondiales

L’codeunit fournit un large ensemble de variables globales. Selon la fonction exécutée, les variables sont définies avec des valeurs. Quelles variables sont définies, vous pouvez voir dans la première ligne de commentaire de chaque fonction.

RecRef

Cette variable contient l’enregistrement de la Microsoft Dynamics NAV 2015, y compris tous les champs. Il a été récupéré de la base de données SQL avec GET(Primary Key) avant. C’est celle qui doit être changée dans cette codeunit. RecRef est la variable la plus importante que vous pouvez utiliser pour définir vos modifications – avec ou sans modification des données entrantes.
Dans cette codeunit, vous définissez quelles données doivent être transférées de l’appareil mobile enregistré dans DeviceRecRef à votre RecRef. Pas à pas, vous pouvez définir vos valeurs dans RecRef jusqu’à ce qu’elles soient écrites dans votre base de données SQL en utilisant INSERT ou MODIFY plus tard dans le processus.

DeviceRecRef

Enregistrement de l’appareil mobile. Il ne contient que les données des champs qui sont inclus dans les packages de synchronisation pour l’utilisateur actuel. Ce RecordRef est la source de données pour définir les valeurs dans le RecRef.

xDeviceRecRef

Enregistrement précédent de l’appareil mobile. Il ne contient que les données des champs qui sont inclus dans les packages de synchronisation pour l’utilisateur actuel. Ce RecordRef contient les données avant que l’utilisateur ou Anveo Script n’ait effectué les changements sur l’appareil mobile.

Ceci est très important pour détecter les conflits de données : En comparant RecRef. et xDeviceRecRef vous obtenez les informations si deux personnes ont modifié les mêmes données en même temps. Dans RecRef vous obtenez la valeur actuelle de la Microsoft Dynamics NAV 2015, dans xDeviceRecRef vous voyez l’enregistrement avant qu’il ne soit modifié dans l’application. S’ils diffèrent, l’utilisateur peut avoir décidé de modifier les valeurs des anciennes données.
Pour chaque table et chaque zone, vous pouvez décider si vous voulez comparer les valeurs des zones et les zones à inclure pour comparer – certaines zones ou toutes les zones de l’enregistrement.

CalledBy

Cette propriété vous donne les informations si une valeur a été modifiée dans l’interface utilisateur ou par Anveo Script.
Les valeurs des options sont : User, Script.

Vous pouvez l’utiliser pour la zone Sell-to Name dans la table Sales Header-tête des ventes : Un changement effectué par Anveo Script doit provenir du déclencheur de votre table mobile et peut être ignoré car le code C/AL dans Microsoft Dynamics NAV 2015 fait la même chose. Mais les modifications apportées par l’utilisateur à l’interface utilisateur sont des modifications individuelles qui doivent être acceptées.

NAVAction

PourINSERT, MODIFY et DELETE, la valeur NAVAction définit s’il faut accepter les modifications de données entrantes et si les déclencheurs de table OnInsert, OnModify ou OnDelete doivent être exécutés dans votre table Microsoft Dynamics NAV 2015. En outre, vous pouvez rejeter les modifications de données sur votre appareil mobile et envoyer un paquet de mise à jour à l’appareil mobile qui rejette la modification.
Si vous définissez une valeur pour une zone, cette propriété décide si vous voulez accepter la modification et si vous voulez exécuter la fonction VALIDATE dans Microsoft Dynamics NAV 2015.

CallTrigger

La modification des données est acceptée et la Microsoft Dynamics NAV 2015 exécute le déclencheur de la table.

NoTrigger

Le changement de données est accepté, mais aucun déclencheur de table ne sera exécuté dans la Microsoft Dynamics NAV 2015.

Ignore

Le changement de données n’est pas accepté et aucun rejet n’est envoyé à l’appareil mobile. Dans ce cas, vous devez veiller à la cohérence des données entre Microsoft Dynamics NAV 2015 et l’appareil mobile.

Reject

Le changement de données n’est pas accepté et un message de rejet est envoyé à l’appareil mobile.
Si vous avez reçu une suppression d’un enregistrement, un message de création d’enregistrement est envoyé à l’appareil mobile. Dans le cas d’un nouvel enregistrement, un message de suppression est envoyé. Ceci assure la cohérence des données.

RemoteAction

Dans la fonction OnSetValue vous pouvez utiliser la propriété RemoteAction pour voir si un changement de données dans Anveo Script a été fait par SETVALUE ou VALIDATE . Les changements de l’utilisateur dans l’interface utilisateur sont marqués comme VALIDATE.

Pour une meilleure compréhension du traitement des données entrantes, nous vous recommandons d’activer un journal de texte détaillé. Pour ce faire, réglez le Logging Level dans Utilisateur Anveo sur (pour plus d’informations, cliquez ici). Vous obtiendrez un protocole détaillé, étape par étape, du traitement des données.

Fonction OnSyncRequest

Cette fonction est exécutée avant d’exécuter le processus d’initialisation et de synchronisation. Le paramètre IsInit indique s’il s’agit de la première initialisation ou d’une synchronisation.

Une synchronisation commence après que toutes les données entrantes en provenance d’un appareil mobile ont été traitées.

Fonction OnSetValue Fonction OnSetValue

Cette fonction est exécutée si l’utilisateur modifie une valeur dans l’interface utilisateur ou si Anveo Script utilise les commandes SETVALUE ou VALIDATE. Cette fonction peut être utilisée pour décider d’accepter ou d’ignorer les modifications de valeur entrantes. L’option NAVAction est utilisée pour décider d’exécuter ou non le trigger de table OnValidate de ce champ.

Fonction OnBeforeInsert

Cette fonction est exécutée avant qu’un enregistrement ne soit inséré dans la base de données Microsoft Dynamics NAV 2015. Il est utilisé par OnInsertRecord pour structurer le code uniquement.

Fonction OnInsertRecord

Cette fonction est exécutée si Anveo Script utilise la commande Record:INSERT(). L’option NAVAction permet de décider si RecRef.INSERT() et sa table déclenchent OnInsert à la fin de la fonction.

Fonction OnModifyRec

Cette fonction est exécutée si l’utilisateur a changé une valeur dans l’interface utilisateur ou si Anveo Script a utilisé la commande Record:MODIFY(). L’option NAVAction est utilisée pour décider si RecRef.MODIFY() et son trigger de table OnModify à la fin de la fonction.

Fonction OnDeleteRec

Cette fonction est exécutée si Anveo Script utilise la commande Record:DELETE(). L’option NAVAction permet de décider s’il faut exécuter RecRef.DELETE() et son trigger de table OnDelete à la fin de la fonction.

Fonction PrintReport

Cette fonction est responsable de sauvegarder les résultats des rapports sous forme de document PDF et de les envoyer à l’utilisateur à l’aide de la table ACF File Repository.

Fonction GetMatchedRecRef

Cette fonction fait partie de la gestion des séries de numéros mobiles. Il est responsable de la transformation des RecRefs avec les séries de numéros mobiles en séries de numéros finales à partir de la Microsoft Dynamics NAV 2015.

Fonction LanguageIDMapping

Pour certaines langues, il est nécessaire que l’appareil mobile transforme la langue des fenêtres de la Language du tableau en une autre valeur de langue des fenêtres.

Fonction SETVALUES/GETVALUES

Ces fonctions sont utilisées en interne pour définir et obtenir les valeurs de cette codeunit.