Bonsoir tout le monde, j'ai vraiment besoin de votre aide pour la résolution d'un problème sur lequel je bute depuis maintenant une semaine. Je commence par la description du contexte puis j'exposerais le problème, alors je vous en prie soyez indulgent et surtout patient avec moi dans la mesure où je ne suis pas un informaticien développeur de formation, mais plutôt un passionné de cette belle discipline.
Voilà je suis entrain de mettre sur pied une application de gestion de la TVA (Taxe sur la Valeur Ajoutée) basée sur les ventes et achats. Pour ce faire j'ai entre autres deux fichiers: Ventes et Achats
Le fichier "Ventes" regroupe les rubriques suivantes : Id_Vte; Date_Vte; Mois_Vte; MtantHT; Mtant_TVA_Collectée et MtantTTC.
Le fichier "Achats" contient les rubriques suivantes: Id_Achat; Date_Achat; Mois_Achat; MtantHT; Mtant_TVA_Supportée et MtantTTC.
Le principe de la TVA est très simple et se résume à ce qui suit :
Pour une période donnée (Mois), il faut calculer un solde de cette taxe qui peut se matérialiser par une TVA à payer (Cas où le total de la TVA collectée sur les ventes est supérieur à la TVA supportée sur les achats) ou au contraire se matérialiser par un crédit de TVA (Cas où la TVA supportée est supérieur à la TVA collectée et dans ce cas ce crédit va se reporter sur le mois suivant). La formule de calcule est : Solde mois = Total TVA collectée - (Total TVA supportée + report de crédit du mois précédent).
Donc pour déterminer la Le solde de la TVA pour un mois donnée, j'ai crée une requête "Req_Liquidation" basée sur les deux fichiers (Ventes et Achats) et contenant les rubriques : Mois, Total_TVA_Collectée (du fichier "Ventes"); Total_TVA_Supportée (du fichier "Achats") et en faisant la somme de ces ces deux dernières rubriques. De plus j'ai crée une fenêtre "Fen_TVA" avec une table "Table_Liquidation" contenant les colonnes suivantes: Col_Moi;Col_TVA_Collectée; Col_TVA_Supportée; Col_TVA Exigible; Col_Crédit_TVA; Col_Report. Dans la partie initialisation de ma fenêtre "Fen_TVA" j'ai insérer le code suivant censé m'afficher les données dans ma table:
Ma table réagit efface la ligne sélectionnée, l'enregistrement dans le fichier résultat se passe bien, mais le problème est que quant je ferme la fenêtre "Fen_TVA" et que le la réouvre la ligne réapparait de nouveau alors que je voudrais qu'une fois la validation effectuée par clic sur le bouton "Valider" la ligne s'efface et ne réapparait plus, même après fermeture et réouverture de la fenêtre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 rSolde est un réel = 0 Sablier(Vrai) HExécuteRequête(REQ_Liquidation) POUR TOUT REQ_Liquidation // Afficher le solde SI REQ_Liquidation.TVACollectée > REQ_Liquidation.TVASupportée + rSolde ALORS // Afficher le solde TVA Exigible : il n'y a pas de report au titre de la période TableAjouteLigne(TABLE_TableLiquidation,REQ_Liquidation.Période,REQ_Liquidation.TVACollectée,REQ_Liquidation.TVASupportée+rSolde,(REQ_Liquidation.TVACollectée-(REQ_Liquidation.TVASupportée+rSolde)),0,0) rSolde = 0 SINON TableAjouteLigne(TABLE_TableLiquidation,REQ_Liquidation.Période,REQ_Liquidation.TVACollectée,(REQ_Liquidation.TVASupportée + rSolde),0,((REQ_Liquidation.TVASupportée + rSolde)-REQ_Liquidation.TVACollectée),((REQ_Liquidation.TVASupportée + rSolde)-REQ_Liquidation.TVACollectée)) rSolde = ((REQ_Liquidation.TVASupportée + rSolde)-REQ_Liquidation.TVACollectée) FIN FIN TableTrie(TABLE_TableLiquidation,"COL_Période") Sablier(Faux)] Jusqu'ici tout va bien, les données sont correctement calculées et affichées Et c'est là où j'arrive au problème Je voudrais récuperer les données ainsi affichées dans la table "Table_Liquidation" par clic sur un bouton "Valider" et les enregistrer dans un fichier que j'ai nommé "Résultat" contenant les rubriques: id_Resultat, Mois, Total_TVA_Collectée, Total_TVA_Supportée; TVA_A_Payer; Crédit_TVA; Report_Crédit. J'ai mis le code suivant dans le code clic du bouton: [SI TableSelect(TABLE_TableLiquidation) = -1 ALORS RETOUR //1 : &Valider //2 : &Ne pas valider POUR TOUTE LIGNE SELECTIONNEE nIndice DE TABLE_TableLiquidation ResultatLiq.Période = TABLE_TableLiquidation.COL_Période[nIndice] ResultatLiq.TVAExigible = TABLE_TableLiquidation.COL_TVAExigible[nIndice] ResultatLiq.CréditTVA = TABLE_TableLiquidation.COL_CreditTVA[nIndice] ResultatLiq.ReportCrédit = TABLE_TableLiquidation.COL_ReportCredit[nIndice] HAjoute(ResultatLiq) TableSupprime(TABLE_TableLiquidation) HSupprime(DetermTVA) HExécuteRequête(REQ_Liquidation) TableAffiche(TABLE_TableLiquidation) FIN
Voilà mon problème se résume à ça. Je vous saurais gré de l'aide vous voudrez bien m'apporter pour la résolution de ce problème.
Merci.
Partager