Mise à jour des taux de change (V10.6)

Le programme de Mise à jour des taux de change (Règlement → Fichiers → Données comptables → Mise à jour taux de change ) permet de consulter les taux de change en ligne via l'API http://Exchangeratesapi.io et ceux présents en base de données.

Il permet aussi d'importer ceux-ci dans la base de données.

Changement de mode de souscription à l’API(10.9 Service pack c)

Désormais l’inscription à l’API se fait via ApiLayer, le paramétrage à mettre en place à été décrit dans la partie “Nouvelle méthode”

Les anciennes clés continuent de fonctionner avec la méthode d’appel actuelle, dans ce cas là vous n’avez rien a changer de votre côté et vous pouvez vous référer au paramétrage “Ancienne méthode”.

Paramétrage

Pour pouvoir consulter les taux en ligne il faudra au préalable :

Nouvelle méthode

(NEW) Obtenir une clé d'accès au service en ligne Exchangerates via Apilayer

1. (NEW) Créer un compte via le lien Exchange Rates Data API ApiLayer

2. (NEW) Une fois l'inscription faite et la connexion au compte établie, la clé est affichée dans la partie « Account »


3. (NEW) Le service en ligne propose différents niveaux de tarifs selon les besoins.

Au 08/06/2023 les tarifs étaient les suivants :


(NEW) Avoir saisi le paramétrage web EXCHANGERATES

Dans la zone URL il faut renseigner l’adresse suivante : https://api.apilayer.com/exchangerates_data

Et il faut mettre la clé fournie par le service en ligne dans la zone Média/Clé (Zone rouge sur l'impression d'écran)

(NEW) Créer une surcharge de la fonction Mode_Appel_TauxChange

Il faut créer la surcharge de la fonction Mode_Appel_TauxChange du rctm000 afin de renvoyer “APILAYER” en retour pour permettre au programme principal de savoir qu’il doit faire l’appel à l’API via la nouvelle méthode.

Ancienne méthode

(OLD) Obtenir une clé d'accès au service en ligne Exchangerates

1. (OLD) Créer un compte via le lien Exchange Rates API - Real-Time, & Historical Currency Data

2. (OLD) Une fois l'inscription faite et la connexion au compte établie, la clé est affichée dans le « Dashboard »

(1) Le dashboard permet aussi de voir le nombre de requêtes déjà consommées


3. (OLD) Le service en ligne propose différents niveaux de tarifs selon les besoins.

Au 17/05/2021 les tarifs et les services associés étaient les suivants :




(OLD) Avoir saisi le paramétrage web EXCHANGERATES

Le paramétrage service web a été créé par script SQL dans sa version “sans clé” de sorte qu’il ne reste que la clé à saisir

Renseigner la clé fournie par le service en ligne dans la zone Média/Clé (Zone rouge sur l'impression d'écran)


Utilisation dans l’application

 

Lorsqu'on arrive dans l'application on va charger le taux de change le plus récent dans la base de données pour chaque enregistrement de la table des devises avec pour monnaie de référence la devise principale du dossier Commerce & Logistique (par défaut).

(1) Devise de référence initialisée avec la devise principale du dossier Commerce & Logistique. Elle peut être modifiée.

(2) Bouton permettant de voir les taux en ligne avec pour monnaie de référence le code devise

(3) Boutons permettant d'accéder aux Zoom correspondants

 

  1. Devise : pour pouvoir choisir de mettre à jour automatiquement ou non le taux dans une devise. (Les changements sont directement pris en compte au retour du Zoom.)

  2. Paramétrages service web : afin de pouvoir renseigner les données servant à la consultation des taux en ligne (Les changements sont pris en compte lorsqu'on clique sur « Voir taux en ligne » car les paramètres du service web sont chargés à ce moment-là)

 

Lorsqu'on clique sur le bouton « Voir taux en ligne » une fenêtre s'ouvre afin de saisir la date à laquelle on souhaite consulter les taux en ligne.

Une fois la saisie validée on arrive sur une nouvelle page contenant les taux en ligne trouvés à cette date

(1) Le bouton « Importer taux en ligne » permet d'importer dans la base de données les taux sélectionnés à l'écran à l'aide de la coche verte.

(2) La case à cocher permet d'autoriser ou non la mise à jour si un taux existe déjà en base pour la date consultée (Il ne peut exister qu'un seul taux pour une date donnée). L'état de la case à cocher peut être sauvegardé dans les paramètres via la « disquette ».

(3) Le tableau des taux en ligne.

 

  • Sont présélectionnés en tant que candidats à l'importation les taux suivis et qui sont différents au niveau du taux (se manifeste par une police en rouge). Si seule la date est différente on ne présélectionne pas.

  • L'utilisateur peut sélectionner lui-même les taux qu'il souhaite importer.

  • On affiche les taux en base les plus récents par rapport à la date de consultation (Date en base inférieure ou égale à la Date en ligne)

  • La colonne « Taux suivi » indique si l'importation automatique via le processus est souhaitée, celle-ci est renseignée dans la table des devises dans la colonne « Suivre taux »

 

Après avoir cliqué sur le bouton « Importer taux en ligne » un rapport sera affiché et inséré dans le journal de bord :

  • Ici on a sélectionné le taux EUR → CHF à importer

  • Le rapport affiche les informations suivantes :

    • « X nouveau(x) importé(s) » pour les taux qui n'existaient pas à la date consultée (Date en rouge)

    • « X existant(s) mis à jour » pour les taux qui existaient déjà seulement si la mise à jour à la même date est autorisée (Date en vert et taux en rouge)

    • « X taux ignoré(s) car identiques » pour les taux non importés car identiques en base (Taux et date en vert)

    • « X non traité(s) car mise à jour non autorisée » lorsque la mise à jour à la même date n'est pas autorisée avec un taux qui existe déjà ce jour-là (Date en vert et taux en rouge)

 

Par exemple

Si on a déjà importé des taux le 17/05 le comportement sera le suivant:

  • Si la case est cochée l'importation écrasera le taux avec le nouveau

  • Si la case n'est pas cochée on conservera le taux actuel

     

Paramétrage du processus

Un modèle de processus est fourni via la visite guidée dans le dossier Visite guidée/modeles sous le nom majtauxchange.xml

Une fois importé, le processus MajTauxChange permettre de mettre à jour automatiquement les taux
à la date du jour.

Le processus utilise une fonction de tâche qui a été importée par script SQL lors de la migration

 


Le processus ne contient qu'une seule tâche qui va initialiser le champ devise à « EUR » et qui va ensuite appeler la fonction MajTauxChange.

Paramétrage tâche t100

Formulaire tâche t100

Fonction appelée par la tâche t100

 

 

Surcharge possible pour passer par l’API de votre choix(10.9 Service pack c)

Créer une surcharge à la fonction Mode_Appel_TauxChange

Il faut créer la surcharge de la fonction Mode_Appel_TauxChange du rctm000 afin de renvoyer “AUTRE” en retour pour permettre au programme principal de savoir qu’il doit faire l’appel à une API autre que ExchangeRates/Apilayer.

Créer une surcharge à la procédure Envoyer_WebRequest_TauxChange_Autre

Il faut créer une surcharge de la procédure Envoyer_WebRequest_TauxChange_Autre du rctm000 afin de faire l’appel à cette autre API et alimenter JSONRet dans le cas où tout va bien et CodeErrJSon + MessageErrJson en cas d’erreur, c’est le programme principal qui s’occupe d’afficher ou de logger l’erreur.

La procédure devra constituer l’URL et faire l’appel à l’API, en entrée seront fournies par le programme principal les données suivantes :

  • SWUrl : correspond à l’URL renseignée dans le paramétrage du service web EXCHANGERATES

  • SWCle : correspond à la clé renseignée dans le paramétrage du service web EXCHANGERATES

  • DeviseBase : devise de base à partir de laquelle on veut les taux de change

  • DateInterro : date d’interrogation souhaitée des taux de changes (Format YYYYMMJJ)

  • ticketRequete : identifiant de la WebRequest déjà ouverte par le programme principal

  • TicketJson : identifiant pour la lecture du JSon retour déjà ouvert par le programme principal également

En sortie les données suivantes devront être renseignées selon le résultat de l’appel à l’API

  • Si appel API OK :

    • JSONRet : JSon en retour de l’API qui contiendra les taux de changes

  • Si appel API KO :

    • CodeErrJSon : code erreur fourni par l’API si il existe

    • MessageErrJson : message d’erreur fourni par l’API

Créer une surcharge à la procédure Lire_TauxChange_JSon

Il faut créer une surcharge à la procédure Lire_TauxChange_JSon du rctm000 afin de permettre la lecture d’un taux de change dans le JSon renvoyé par l’API en alimentant en sortie la devise de base, la date du taux de change et le taux de change. Cette procédure est appelée dans la boucle qui parcourt la liste des devises extraites de la table T007 pour alimenter leur taux de change au chargement du tableau.

La procédure devra lire dans le JSon le taux de change souhaité, en entrée seront fournies par le programme principal les données suivantes :

  • TicketJson : identifiant pour la lecture du JSon via des JSonGetValue, déjà ouvert par le programme principal

  • JSon : JSon retour renvoyé par l’API lors de l’appel à la procédure Envoyer_WebRequest_TauxChange_Autre

  • Dev : devise pour laquelle on veut le taux change

En sortie les données suivantes devront être alimentées :

  • BaseDev : devra contenir la devise de base des taux de change

  • TauxDt : contiendra la date du taux de change

  • DevP : contiendra le taux de change