ANVEDI Events
Anveo EDI Connect offre une codeunit unique pour les événements d’intégration : Codeunit ANVEDI Events. Vous pouvez réagir aux événements de cette codeunit via votre propre codeunit. Les événements sont pris en charge à la fois dans la version FOB et dans la version Extension Microsoft Dynamics.
Events
Les Events disponibles sont les suivants :
- OnFunctionRegistration
- OnFunctionExecution
- OnJob
- OnAcceptTransmission
- OnBeforeList
- OnAfterList
- OnBeforeReceive
- OnAfterReceive
- OnBeforeArchive
- OnAfterArchive
- OnBeforeDelete
- OnAfterDelete
- OnBeforeSend
- OnComposeMessage
- OnAfterSend
- OnReplacePlaceholder
- OnError
- OnAfterProcess
OnFunctionRegistration
Cet événement est appelé lorsque le module recherche des fonctions personnalisées. Vous pouvez définir vos propres fonctions en utilisant la fonctionnalité fournie par l’codeunit ANVEDI Function Register qui est fournie sous le nom Register. L’codeunit fournit deux fonctions : RegisterFunction et AddParameter.
RegisterFunction attend deux paramètres, le nom de l’objet et le nom de la fonction de votre nouvelle fonction. Ces noms peuvent être choisis librement, mais ne doivent pas dépasser 30 caractères.
Les 29 premiers caractères de la combinaison du nom de l’objet et de la fonction doivent être uniques pour pouvoir spécifier les paramètres du mapping. Les noms doivent être courts.
Après avoir enregistré une fonction, vous pouvez appeler AddParameter jusqu’à 5 fois. AddParameter attend un nom pour le paramètre de votre fonction. Vous pouvez utiliser plusieurs blocs de RegisterFunction et AddParameter dans un Event. Mais nous recommandons de séparer plusieurs fonctions en plusieurs récepteurs d’Event.
Après avoir enregistré la fonction, vous devez réagir aux appels de fonction. Cette opération est réalisée par l’EventOnFunctionExecution Event décrit ci-après.
OnFunctionExecution
L’Event est appelé lorsque le module recherche l’implémentation d’une fonction personnalisée. Une instance de l’codeunit ANVEDI Function Call est transmise à cet événement sous le nom FunctionCall.
Vous devez vérifier si l’FunctionCall correspond à votre fonction personnalisée et n’exécuter le code que si c’est le cas. Pour ce faire, il convient d’appeler la fonction Is() avec les mêmes paramètres que ceux utilisés pour RegisterFunction dans l’EventOnFunctionRegistration. Si Is() renvoie un résultat positif, vous pouvez accéder aux paramètres, exécuter votre code personnalisé et renvoyer une valeur.
L’codeunit ANVEDI Function Call fournit les fonctions suivantes :
Indique si l’appel de fonction correspond à la signature de fonction spécifiée.
Vous devez appeler cette fonction pour montrer au module que vous avez traité l’appel de fonction. Vous pouvez passer le résultat d’une fonction ou simplement utiliser true comme résultat.
Récupère un paramètre avec le numéro donné sous forme de texte. L’index commence par 1.
Récupère un paramètre avec le nombre donné en tant qu’entier. L’index commence par 1.
Récupère un paramètre avec le nombre donné en tant que booléen. L’index commence par 1.
Récupère un paramètre avec le nombre donné en décimal. L’index commence par 1.
Récupère un paramètre avec le nombre donné comme date. L’index commence par 1.
Récupère un paramètre avec le numéro donné comme date et heure. L’index commence par 1.
Récupère un paramètre avec le nombre donné comme temps. L’index commence par 1.
Récupère un paramètre avec le numéro donné en tant qu’EDIVariant. La fonction indique si le paramètre a pu être récupéré. L’index commence par 1.
OnJob
Vous pouvez utiliser l’codeunit du module pour définir des tâches personnalisées. L’codeunit permet l’utilisation de plusieurs paramètres. Vous trouverez de plus amples informations dans la documentation sur le gestionnaire de tâches.
Un dictionnaire contenant les paramètres transmis au travail.
Si vous avez traité un travail, vous devez définir l’Event comme étant traité. La description de la structure ANVEDI Event Args se trouve à la fin de ce chapitre.
OnAcceptTransmission
Cette fonction est appelée pour déterminer si un fichier ou un message doit être accepté ou ignoré par le module. Le module n’enregistre pas si une transmission a été ignorée et appelle cette fonction chaque fois qu’il voit une transmission. Le fichier n’est pas encore lu, vous ne pouvez donc prendre une décision que sur la base des métadonnées disponibles.
La transmission pour laquelle les métadonnées ont été récupérées. Veuillez noter qu’aucune donnée n’a été reçue à ce stade et que l’enregistrement n’a pas encore été inséré dans la base de données.
Si vous avez traité l’Event, vous devez lui attribuer le statut « traité ». Vous devez également renvoyer une valeur indiquant si la transmission doit être traitée (la valeur de retour doit être » true« ) ou non (la valeur de retour doit être » false« ). La description de la structure ANVEDI Event Args se trouve à la fin de ce chapitre.
OnBeforeList
Ce code est appelé avant que le module ne recherche de nouvelles données. Ceci peut être utilisé pour lancer une commande externe ou un script pour recevoir les fichiers, avant que le module ne recherche de nouvelles données.
Le canal de communication qui doit récupérer les données.
Si vous avez traité l’Event, vous devez lui attribuer la valeur « handled ». La description de la structure ANVEDI Event Args se trouve à la fin de ce chapitre.
OnAfterList
Le canal de communication qui doit récupérer les données.
Si vous avez traité l’Event, vous devez lui attribuer le statut « traité ». La description de la structure ANVEDI Event Args se trouve à la fin de ce chapitre.
Ce code est appelé après que le module a recherché de nouvelles données.
OnBeforeReceive
Cet Event est appelé avant qu’une transmission ne soit récupérée. Veuillez noter que vous ne pouvez pas interrompre le traitement à ce stade. Si vous souhaitez décider de récupérer ou non un message, utilisez l’EventOnAcceptTransmission.
La transmission. Les messages ne sont pas encore reçus.
Si vous avez traité l’Event, vous devez lui attribuer le statut « traité ». La description de la structure ANVEDI Event Args se trouve à la fin de ce chapitre.
OnAfterReceive
Cet Event est appelé après la réception d’une transmission.
La transmission après avoir été récupérée (vous pouvez accéder aux messages).
Si vous avez traité l’Event, vous devez lui attribuer le statut « traité ». La description de la structure ANVEDI Event Args se trouve à la fin de ce chapitre.
OnBeforeArchive
Cet Event est appelé avant l’archivage d’une transmission.
La transmission qui sera archivée sur le site distant.
Si vous avez traité l’Event, vous devez lui attribuer le statut « traité ». La description de la structure ANVEDI Event Args se trouve à la fin de ce chapitre.
OnAfterArchive
Cet Event est appelé après l’archivage d’une transmission.
La transmission qui a été archivée sur le site distant.
Si vous avez traité l’Event, vous devez lui attribuer le statut « traité ». La description de la structure ANVEDI Event Args se trouve à la fin de ce chapitre.
OnBeforeDelete
Cet Event est appelé avant la suppression d’une transmission.
La transmission qui va être supprimée sur le site distant.
Si vous avez traité l’Event, vous devez lui attribuer le statut « traité ». La description de la structure ANVEDI Event Args se trouve à la fin de ce chapitre.
OnAfterDelete
Cet Event est appelé après la suppression d’une transmission.
La transmission qui a été supprimée de l’emplacement distant.
Si vous avez traité l’Event, vous devez lui attribuer le statut « traité ». La description de la structure ANVEDI Event Args se trouve à la fin de ce chapitre.
OnBeforeSend
Cet Event est appelé avant l’envoi d’une transmission.
La transmission qui va être envoyée.
Si vous avez traité l’Event, vous devez lui attribuer le statut « traité ». La description de la structure ANVEDI Event Args se trouve à la fin de ce chapitre.
OnComposeMessage
Cet Event est appelé lorsqu’une transmission est composée.
La transmission qui est composée.
Si vous avez traité l’Event, vous devez lui attribuer le statut « traité ». La description de la structure ANVEDI Event Args se trouve à la fin de ce chapitre.
OnAfterSend
Cet Event est appelé après l’envoi d’une transmission.
La transmission qui a été envoyée.
Si vous avez traité l’Event, vous devez lui attribuer la valeur « handled ». La description de la structure ANVEDI Event Args se trouve à la fin de ce chapitre.
OnReplacePlaceholder
Cette fonction est appelée lors de l’évaluation d’une chaîne de caractères pouvant contenir des variables définies par l’utilisateur, telles qu’un nom de fichier.
Le nom de l’espace réservé. Le module recherche actuellement une valeur pour remplacer cet espace réservé spécifique. Si vous souhaitez fournir une valeur, vous devez spécifier le résultat et définir l’événement à gérer dans l’EventArgs
Un enregistrement pré-filtré des documents liés. Vous pouvez, par exemple, utiliser cette table pour obtenir les documents tampons contenus dans le fichier.
Si vous avez traité l’Event, vous devez lui attribuer le statut « traité ». Vous devez également apporter une valeur ajoutée. La description de la structure ANVEDI Event Args se trouve à la fin de ce chapitre.
L’exemple suivant montre comment vous pouvez renvoyer des données à partir du document lié :
OnError
Cet Event est appelé lorsqu’une erreur se produit dans la file d’attente de traitement.
Si vous avez traité l’Event, vous devez lui attribuer le statut « traité ». La description de la structure ANVEDI Event Args se trouve à la fin de ce chapitre.
OnAfterProcess
Cet Event est appelé après le traitement d’une entrée dans la table EDI Processing Queue. Vous devez vérifier le statut de l’entrée passée et réagir en conséquence.
Si vous avez traité l’Event, vous devez lui attribuer le statut « traité ». La description de la structure ANVEDI Event Args se trouve à la fin de ce chapitre.
ANVEDI Event Args
Certains Events utilisent une structure appelée ANVEDI Event Args. Cette structure vous permet de renvoyer des valeurs et d’indiquer au module si vous avez traité l’événement.
Les fonctions suivantes sont disponibles pour l’ANVEDI Event Args transmis à l’Event:
Si l’Event a été géré par votre code.
La valeur de retour, si l’Event attend une valeur de retour.
Exemple
L’exemple suivant montre comment vous pouvez ajouter votre propre fonction personnalisée « MYOBJECT.MYFUNC », qui affiche un message contenant le nom fourni suivi de ‘ : ‘ et de la valeur. Vous pouvez ajouter autant de fonctions provenant d’autant d’extensions que vous le souhaitez.
Dépendances
Si vous souhaitez réagir à l’Event via AL, vous devez ajouter une dépendance au module Anveo EDI Connect.
Les valeurs pour l’Extension OnPremise sont les suivantes :
Veillez à remplacer x, y, z par le numéro de version correct.
Les valeurs du Business Central Online et de l’Extension code universel sont les suivantes :
Veillez à remplacer x, y, z par le numéro de version correct. Les anciennes versions de la CB s’appelaient « id » « appId ».