ITIN BTS SIO A2 PPE 3.1.b Gestion des frais : Mode d'emplois de l'application GSB Fiche de Frais AUBRUN - HUERTAS - LE MEUT - RIDEAU 1
Sommaire I- Arborescence des Forms... 3 II- Diagramme de classe... 4 III- Gestionnaire d erreurs... 8 IV- Mode opératoire... 9 1- La connexion à la base de données... 9 2- Partie comptable... 11 3- Partie visiteur médical... 14 A) Consulter une fiche de frais... 14 B) Créer une fiche de frais... 15 C) Modifier et clôturer une fiche de frais :... 16 V- Documentation utilisateur... 17 I- Se connecter en tant que visiteur... 17 A) Connexion... 17 B) Consultation... 18 C) Création d'une fiche de frais... 19 D) Modification d'une fiche de frais... 20 II- Se connecter en tant que comptable... 21 A) Connexion... 21 B) Consultation des fiches de frais à valider... 22 2
I- Arborescence des Forms Notre application est organisée comme ceci : Un écran de connexion, avec deux accès. Un accès visiteur, qui nous dirige vers la partie réservée aux Visiteurs de l application, et un accès Comptable qui lui nous dirige vers la partie comptable. Notre application prend la forme suivante : Connexion Espace visiteur Espace Comptable Consultation de ses fiches de frais Validation d une fiche de frais Editer une fiche de frais Créer une nouvelle fiche de frais 3
II- Diagramme de classe Voici le diagramme de classe qui compose le cœur de notre application, généré grâce à Visual Studio. 4
5
6
7
III- Gestionnaire d erreurs 8
IV- Mode opératoire 1- La connexion à la base de données Cette IHM a été développé pour l entreprise GSB, afin que les visiteurs médicaux puissent indiquer leur frais forfaitaires/annexes dans une fiche de frais, qu ils créent grâce à cette application. Les comptables quant à eux, ont le devoir de valider, ou non, les fiches de frais déposées par les visiteurs. Cet écran de connexion est le premier contact avec le visiteur médical ou le comptable. En effet, cette interface a été conçue seulement pour eux. Il suffit qu ils se loguent grâce à un Login prédéfini (1 ere lettre du prénom + nom complet), et d ajouter leur mot de passe (matricule). Pour le visiteur, la requête qui permet de récupérer son login est la suivante : Rqt_Acc_Vis = "SELECT substring(collaborateur.prenom,1,1) +COLLABORATEUR.NOM FROM COLLABORATEUR,VISITEUR where COLLABORATEUR.MATRICULE = VISITEUR.MATRICULE and VISITEUR.MATRICULE ="; Cette requête permet de récupérer la première lettre du prénom + le nom complet et de le comparer avec la table collaborateur et visiteur, afin de savoir si le visiteur existe, et a un 9
login adéquat pour se loguer dans l application. S il ne trouve rien dans la table visiteur, il cherche dans la table Comptable. Pour le comptable, c est exactement le même principe, mais grâce à une comparaison avec la table Comptable. La requête est la suivante : Rqt_Acc_Comp = "SELECT substring(collaborateur.prenom,1,1) +COLLABORATEUR.NOM FROM COLLABORATEUR,COMPTABLE where COLLABORATEUR.MATRICULE = COMPTABLE.MATRICULE and COMPTABLE.MATRICULE ="; Si le login et le mot de passe sont corrects, la connexion est établie avec l application. Si c est un matricule de comptable, l application dirigera la connexion vers l interface comptable. Si c est un matricule de visiteur, l application le dirigera vers l interface visiteur. 10
2- Partie comptable Le comptable a pour mission de valider ou non une fiche de frais, venant d un visiteur médical. Cette fiche est rédigée par le biais de cette IHM, pour ensuite être vérifié et accordé ou non par le comptable. C est une interface propre au comptable. Cette interface est disposée de 3 DataGridView, permettant de pouvoir avoir une vision sur les différents frais forfaitaires et annexes définissant une fiche de frais. De plus, les totaux y sont affichés. Pour une fiche de frais sélectionnée, nous avons tous les détails sur une seule interface. Cette vision permet au comptable de savoir directement comment est disposé une fiche de frais, et avec quels frais. Le bouton «Valider la fiche» lui permet de la valider. Le comptable ne peut que valider une fiche, il ne peut faire une autre action. «Rafraichir la liste» lui permet de recevoir des fiches de frais à la seconde où elles sont updatées dans la base de données. Le 1 er DataGridView permet de récupérer chaque fiche de frais avec une date de validation et une date de cloture null, afin de permettre d avoir seulement les fiches non validées. Cela 11
leur permet d avoir rapidement les fiches qu ils doivent traiter, et non pas ceux qu ils ont traités au préalable. rqt_fill_fiche = "SELECT NO_FICHE as \"No Fiche\", VIS_MATRICULE as \"Visiteur\", CONVERT(VARCHAR(10), DATE_CREATION,103) as \"Date de Creation\", CONVERT(VARCHAR(10), DATE_CLOTURE,103) as \"Date de Cloture\", CONVERT(VARCHAR(10), DATE_VALIDATION,103) as \"Date de Validation\" FROM FICHE_FRAIS WHERE DATE_VALIDATION is null and DATE_CLOTURE is not null"; Lorsque le comptable valide une fiche, la date de validation, qui est dans la table Fiche_Frais est mis à jour avec la date du jour. A la suite de ceci, la fiche n apparaitra plus dans le DataGridView de consultation. Les deux autres DataGridView permettre de repartir les frais forfaitaires d un côté, et les frais annexes de l autre. Pour les frais forfaitaires, la requête SQL est la suivante : "SELECT FRAIS_FORFAITAIRE.FRAISFORFAIT_LIBELLE as\"frais\", FRAIS_FORFAITAIRE.FRAISFORFAIT_PRIX as \"Prix\", CONCERNE_FORFAIT.FORFAIT_QTE as \"Quantite\" FROM FICHE_FRAIS,CONCERNE_FORFAIT, FRAIS_FORFAITAIRE where FICHE_FRAIS.VIS_MATRICULE=CONCERNE_FORFAIT.VIS_MATRICULE and FICHE_FRAIS.NO_FICHE=CONCERNE_FORFAIT.NO_FICHE and CONCERNE_FORFAIT.ID_FRAIS=FRAIS_FORFAITAIRE.ID_FRAIS and FICHE_FRAIS.VIS_MATRICULE="; Cette requête permet d aller récupérer dans la table Frais_Forfaitaire et de pouvoir faire correspondre à une fiche de frais sélectionnée ses frais forfaitaires, avec le détail de son type de frais, son prix et sa quantité. Pour les frais annexes, la requête SQL est la suivante : "SELECT FRAIS_ANNEXE.FRAIS_LIBELLE as \"Frais\", CONVERT(VARCHAR(10), FRAIS_ANNEXE.FRAIS_DATE,103) as \"Date du Frais\", FRAIS_ANNEXE.FRAIS_PRIX as \"Prix\" FROM FICHE_FRAIS,CONCERNE_ANNEXE,FRAIS_ANNEXE where FICHE_FRAIS.VIS_MATRICULE=CONCERNE_ANNEXE.VIS_MATRICULE and FICHE_FRAIS.NO_FICHE=CONCERNE_ANNEXE.NO_FICHE and CONCERNE_ANNEXE.ID_FRAISANNEXE=FRAIS_ANNEXE.ID_FRAISANNEXE and FICHE_FRAIS.VIS_MATRICULE="; Cette requête permet de récupérer quant à elle, dans son DataGriedView «frais annexes», le détail du type de frais annexes, la date de ce frais et son prix. Nous avons aussi 3 cases Totaux. Total frais annexes : "SELECT SUM(FRAIS_ANNEXE.FRAIS_PRIX) FROM FRAIS_ANNEXE, CONCERNE_ANNEXE where CONCERNE_ANNEXE.ID_FRAISANNEXE = FRAIS_ANNEXE.ID_FRAISANNEXE and CONCERNE_ANNEXE.VIS_MATRICULE="; Cela permet de calculer le total de frais annexes, en fonction de la fiche de frais sélectionnée. Il récupère le prix et fait le total grâce à l ID de l annexe en question. 12
Total frais forfaitaires : "SELECT SUM(CONCERNE_FORFAIT.FORFAIT_QTE*FRAIS_FORFAITAIRE.FRAISFORFAIT_PRIX) from CONCERNE_FORFAIT,FRAIS_FORFAITAIRE where CONCERNE_FORFAIT.ID_FRAIS = FRAIS_FORFAITAIRE.ID_FRAIS and CONCERNE_FORFAIT.VIS_MATRICULE=" ; Cette requête permet de récupérer le total des frais forfaitaires de la fiche sélectionnée, exactement comme le total de frais Annexes. Pour le frais de la note, nous faisons le total frais annexe additionné au total frais forfaitaires. 13
3- Partie visiteur médical Cette partie est exclusivement réservée aux visiteurs médicaux. Les visiteurs médicaux sont forcés d indiquer chaque frais qu ils ont, afin de pouvoir au mieux gérer les dépenses de l entreprise. Cette IHM leur permet de créer des fiches de frais, de les éditer ou de faire une recherche sur une ancienne fiche leur appartenant. A) Consulter une fiche de frais Le 1 er DataGridView charge les 12 dernières fiches de frais du visiteur, correspondant à l année entière. En effet, une seule note de frais par mois est crée par un visiteur. Les 3 DataGridView fonctionnent exactement comme ceux de la partie Comptable expliqué si au dessus, avec les mêmes requêtes. De même pour les totaux de frais forfaitaires, de frais annexes et du total de la fiche de frais. Ici, le visiteur peut sélectionner sa fiche de frais afin de pouvoir consulter le plus distinctement possible les frais forfaitaires et frais annexes qui y sont liés. De plus, il peut voir le montant de chaque frais. La fonction «Rechercher» lui permet de retrouver, grâce à une période (Date début Date fin), à une définition des frais forfaitaires ou par un numéro de fiche, une fiche de frais qu il a enregistré au préalable. Il n y a pas de requête précise, mais utilise la même requête avec des filtres (where) spécifiques. 14
B) Créer une fiche de frais La fonction «Nouveau» lui permet de créer une nouvelle fiche de frais. L interface pour créer une fiche de frais est composée comme ceci : Le visiteur médical doit référencer sa fiche comme l indique le formulaire, avec une date de création, un type de frais forfaitaires avec une quantité, un type de frais annexes avec un prix. Les «+» et «-» lui permet de rajouter ou d enlever un frais forfaitaire/annexe très rapidement, dans les DataGridView. Il n a plus qu à enregistrer sa fiche de frais lorsque celleci est remplie, pour pouvoir la transférer aux comptables pour qu ils puissent la valider. Pour ajouter un frais forfaitaire, relié à une fiche de frais : Nous procédons avec un insert : "Insert Into Fiche_Frais(NO_Fiche,Vis_Matricule,Date_Creation) values('" + No_Fiche.Text + "','" + Connexion.Password + "','" + Date_creation + "')"; Ici, notre requête est basé sur les champs que nous remplissons. La requête permet d insérer seulement les champs que nous indiquons. Ensuite, nous récupérons les valeurs du DataGridView, afin de pouvoir mettre à jour la table Frais Forfaitaire. Nous récupérons l ID du frais en question avec la requête suivante : "Select Id_Frais from Frais_Forfaitaire where FraisForfait_Libelle='" + nomfrais + "'"; Pour ensuite pouvoir insérer dans la table Concerne_Forfait les valeurs adéquates. "Insert Into Concerne_Forfait (Id_Frais,Vis_Matricule,No_Fiche,Forfait_Qte) values('" + IdFrais + "','" + Connexion.Password + "','" + No_Fiche.Text + "','" + qtefrais + "')"; Pour les frais annexes, nous procédons par la même réflexion. 15
C) Modifier et clôturer une fiche de frais : Le visiteur médical peut également modifier sa fiche de frais. Pour ceci, il dispose d une interface identique à celle de la création de fiche, mais avec la possibilité de la clôturer, afin de supprimer cette fiche, validée par le comptable, de sa liste de Fiche de frais. Cette étape est primordiale pour le bon fonctionnement de l application, afin de garder seulement les fiches qui sont en attente de validation. Pour cette étape, il supprime tout ce qu il trouve pour les frais Annexes et forfaitaires (dans les tables) à l aide de ces requêtes : Pour les frais forfaitaires : "Delete from Concerne_Forfait where Vis_Matricule=" + Connexion.Password + "and No_Fiche=" + Consulter.CurrentFiche; Pour les frais annexes : "Delete from CONCERNE_ANNEXE where Vis_Matricule=" + Connexion.Password + "and No_Fiche=" + Consulter.CurrentFiche; Ensuite, il remplace les valeurs par celles que l on vient de mettre. En clair, il supprime chaque frais (annexe et/ou forfaitaires), pour ensuite ré-ajouter avec les requêtes précédentes vues lors de la création de fiche de frais. 16
V- Documentation utilisateur I- Se connecter en tant que visiteur A) Connexion Cette fenêtre vous permet de vous identifier et d'avoir accès complet à l'application de gestion des fiches de frais. 1 2 3 1 Champ "Login" à remplir avec votre identifiant (voir Remarques Login en bas de page) 2 Champ "Mot de passe" à remplir avec votre mot de passe (voir Remarques Mot de passe en bas de page) 3 Bouton "Se connecter" permettant de s'identifier et d'accéder complètement à l'application de gestion des fiches de frais. Remarques : Veuillez noter la structure de vos identifiants : Login : Première lettre du nom de famille en majuscule + Prénom. Exemple : RJean Mot de passe : Matricule. Exemple : 1 17
B) Consultation Cette fenêtre vous permet de consulter vos fiches de frais. 1 2 4 3 5 8 6 9 7 10 1 Ce bouton permet de créer une nouvelle fiche de frais (voir page n 4). 2 Liste des fiches de frais précédemment créées. 3 La recherche peut se faire en choisissant une date de début, une date de fin, un frais forfaitaire ou un numéro de fiche de frais puis en cliquant sur le bouton "Rechercher". 4 Ce bouton permet de modifier la fiche de frais sélectionnée dans la liste des fiches de frais (voir page n 5) 2 5 Liste des frais compris dans la fiche de frais sélectionné dans la liste des fiches de frais 2 6 Liste des frais annexes compris dans la fiche de frais sélectionné dans la liste des fiches de frais 2 7 Bouton permettant de quitter l'application 8 Affiche le total du montant de la fiche de frais sélectionné dans la liste des fiches de frais 2 9 Affiche le total du montant des frais forfaitaires de la fiche de frais sélectionné dans la liste des fiches de frais 2 10 Affiche le total du montant des frais annexes de la fiche de frais sélectionné dans la liste des fiches de frais 2 18
C) Création d'une fiche de frais Cette fenêtre vous permet de créer une nouvelle fiche de frais, celle-ci est clôturée au dernier jour du mois. Entre le 10 et le 20 du mois suivant, le service comptabilité opère une validation des fiches. 1 10 11 2 3 4 5 6 7 9 8 1 Bouton permettant l'enregistrement de la fiche de frais actuelle 2 Sélection d'un frais forfaitaire et de la quantité 3 Bouton + et permettant d'ajouter ou de supprimer un frais forfaitaire 4 Liste des frais forfaitaires ajouté via le menu 2 et 3 5 Ajout d'un frais annexe : libellé et prix 6 Bouton + et permettant d'ajouter ou de supprimer un frais annexe 7 Liste des frais annexes ajouté via le menu 5 et 6 8 Date du frais annexe du menu d'ajout d'un frais annexe 5 9 Bouton "Retour" permettant de retourner au menu précédent (voir page n 3) 10 Affiche le numéro de la fiche de frais en cours de création 11 Date de création de la fiche de frais (date du jour par défaut) 19
D) Modification d'une fiche de frais Cette fenêtre vous permet de modifier une fiche de frais, celle-ci est clôturée au dernier jour du mois. Entre le 10 et le 20 du mois suivant, le service comptabilité opère une validation des fiches. 1 2 3 4 5 6 7 8 9 10 12 11 1 Bouton permettant l'enregistrement de la fiche de frais actuelle 2 Affiche le numéro de la fiche de frais en cours de création 3 Date de création de la fiche de frais actuelle 4 Bouton permettant de clôturer la fiche de frais 5 Sélection d'un frais forfaitaire et de la quantité 6 Bouton + et permettant d'ajouter ou de supprimer un frais forfaitaire 7 Liste des frais forfaitaires ajoutés via le menu 5 et 6 8 Ajout d'un frais annexe : libellé et prix 9 Bouton + et permettant d'ajouter ou de supprimer un frais annexe 10 Liste des frais annexes ajouté via le menu 8 et 9 11 Date du frais annexe du menu d'ajout d'un frais annexe 8 12 Bouton "Retour" permettant de retourner au menu précédent (voir page n 3) 20
II- Se connecter en tant que comptable A) Connexion Cette fenêtre vous permet de vous identifier et d'avoir accès complet à l'application de gestion des fiches de frais. 1 2 3 1 Champ "Login" à remplir avec votre identifiant (voir Remarques Login en bas de page) 2 Champ "Mot de passe" à remplir avec votre mot de passe (voir Remarques Mot de passe en bas de page) 3 Bouton "Se connecter" permettant de s'identifier et d'accéder complètement à l'application de gestion des fiches de frais. Remarques : Veuillez noter la structure de vos identifiants : Login : Première lettre du nom de famille en majuscule + Prénom. Exemple : RJean Mot de passe : Matricule. Exemple : 1 21
B) Consultation des fiches de frais à valider Cette fenêtre vous permet de consulter les fiches de frais des visiteurs que vous devez valider. 1 3 4 2 5 6 7 8 9 1 Bouton permettant la validation de la fiche de frais sélectionnée dans le menu 3 2 Bouton permettant de rafraichir la liste des fiches de frais 3 3 Liste des fiches de frais créées par les visiteurs et clôturées que vous devez valider 4 Liste des frais forfaitaires associés à la fiche de frais sélectionnée dans la liste des fiches de frais 3 5 Liste des frais annexes associés à la fiche de frais sélectionnée dans la liste des fiches de frais 3 6 Bouton permettant de quitter l'application 7 Affiche le total du montant de la fiche de frais sélectionné dans la liste des fiches de frais 3 8 Affiche le total du montant des frais forfaitaires de la fiche de frais sélectionné dans la liste des fiches de frais 3 9 Affiche le total du montant des frais annexes de la fiche de frais sélectionné dans la liste des fiches de frais 3 22