Informations sur le programme Fininfo

De Ensiwiki
Aller à : navigation, rechercher

Généralités

Choix.jpg


Après s'être connecté à Fininfo, le programme Fininfo Update permet la mise à jour de la base des données financières.

A partir de fichiers Excel il charge les données Fininfo à l'aide d'un ou plusieurs appel de la fonction Finquote (temps réel) dans chaque fichier. Après une durée de chargement, le programme peuple la base de données.

Le temps de mise à jours varie selon si les fichiers Excel sont préalablement crées ou pas.

En effet si un fichier n'existe pas une durée supplémentaire de création est nécessaire.

EnRoute.jpg


Le bouton Arrêter permet d'arrêter proprement le programme. Cependant, il faut attendre jusqu'à une minute (temps maximal, c'est souvent plus court) pour que l'arrêt soit effectif.



AttentionSi vous ouvrez une application Excel, évitez de la fermer : vous risqueriez de fermer par erreur l'application Excel du programme


Implémentation

Le programme est composé de trois classes, deux qui sont des composantes d'interface graphique et une qui s'occupe du travail.

  • Le deux classes de l'interface graphique (Choix.vb et EnRoute.vb) représentent les formulaires (le formulaire d'entrée et le formulaire d'attente).
  • La dernière classe (Rafraichir.vb) fait l'interface entre Excel et la base de données.

La classe Rafraichir est composée de trois fonctions principales :

  • Mise_A_Jour qui récupère les données de Fininfo dans des fichiers Excel.
  • Sauvegarde qui formate les fichiers Excel dans le but de les insérer dans la base de données et qui sauvegarde les fichiers pour une utilisation ultérieure
  • entreeBDD qui lit le fichier formaté et l'insère dans la base de données en effaçant les lignes qui contiennent des erreurs.

Pour modifier le programme

Ajouter une variable :

Ceci permet d'afficher plus d'informations sur un type d'instrument.

  1. Créez une nouvelle colonne dans la table correspondant au type d'actif auquel vous ajoutez une variable. La date de mise à jour doit rester en dernière position.
    Vous pouvez ajouter cette colonne en utilisant le manager de SQLServer. Mettez à jour le wiki.
  2. Une fois ceci fait, ouvrez dans un éditeur de texte (si possible celui de visual studio) le fichier app.config.
    Ajoutez le nom FinQuote de la variable dans la ligne correspondant au type d'actif auquel vous ajoutez la variable.
    Attention à l'ordre des variables, il est important pour la base de données.
    Les variables sont séparées par des ";".
  3. Arrêtez et relancez le programme pour prendre en compte les modifications.

Pour retirer une variable, procédez de la même manière.

Ajouter un bloc d'instruments :

Ceci permet d'ajouter un bloc d'instrument à ceux déjà existants, un autre fichier sera créé.

  1. Récupérez le nom FinQuote du bloc.
  2. Dans la liste de blocs d'instruments dans le fichier app.config, ajoutez le nom (sous le format FinQuote) dans la liste correspondant au type d'actif auquel appartient le nouveau bloc.
  3. Relancez le programme pour prendre en compte les modifications.

Ajouter un type d'actif

Ceci permet d'ajouter un nouveau type d'actifs dans ceux déjà existants.
Ici, les modifications ne peuvent pas être faites uniquement par app.config

  1. Arrêtez le programme
  2. Créez une nouvelle table dans la base de données et mettez à jour le wiki.
  3. Choisissez les blocs d'instruments à insérer et récupérez leurs noms FinQuote.
  4. Faites-en la liste séparés par des "," (comme pour les autres types d'actifs). S'insère dans le fichier app.config.
  5. Choisissez les variables à afficher et récupérez leurs noms FinQuote.
  6. Faites-en une chaine et insérez la comme les autres dans le fichier app.config.
  7. Incrémentez le nombre nbtype dans app.config

A faire sous Visual Studio (modifications "en dur")

  1. Dans le design de Choix.vb, ajoutez un checkbox avec le nom de l'actif. Double cliquez dessus.
    Vous arrivez dans la partie code de Choix.vb.
  2. Ajoutez-y un booléen global par défaut à faux qui change d'état quand l'état check est changé (le plus simple est de mettre directement dans la fonction dans laquelle vous êtes arrivés un <nom du booléen> = not <nom du booléen>).
  3. Rajoutez le booléen dans le tableau selection qui passe en paramètre dans Mise_A_Jour (il y a un commentaire a l'endroit à modifier).
  4. Dans Rafraichir.vb, faire les modifications signalées pas un commentaire, à savoir...
Dans les déclarations : 

Ajoutez une chaine de variables (récuperez celle que vous avez mis dans app.config)

Ajoutez la chaine de blocs d'instruments (récuperez celle que vous avez mis dans app.config)

Mettez ces chaines dans les tableaux correspondants
Dans la méthode entreeBDD :

Ajoutez un cas avec la bonne table

Recompilez et relancez le programme (si besoin importez le sur le wiki).

Utilisation de la fonction BULK INSERT pour remplir la base

Il y a deux endroits à modifier signalés par des commentaires.

Si vous voyez une erreur de FININFO non gérée

Rajoutez le cas dans le if correspondant dans la méthode entreeBDD de Rafraichir.vb

Sont fournis les Sources du programme si vous voulez le modifier, ainsi que l'Exécutable si vous voulez juste l'utiliser


Retour à la page Fininfo.