[grisbi-bugs] [Grisbi 0001368]: Bug dans calcul multi-devises

Grisbi Bug Tracker bugtracker at grisbi.org
Sat Dec 22 22:01:13 CET 2012


A NOTE has been added to this issue. 
====================================================================== 
http://www.grisbi.org/bugsreports/view.php?id=1368 
====================================================================== 
Reported By:                Ludes88
Assigned To:                pbiava
====================================================================== 
Project:                    Grisbi
Issue ID:                   1368
Category:                   Main
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     assigned
OS:                         Ubuntu 
Unstable Impact:            No 
Version OS:                 11.04 
Version GTK:                 
====================================================================== 
Date Submitted:             2011-07-09 12:53 CEST
Last Modified:              2012-12-22 22:01 CET
====================================================================== 
Summary:                    Bug dans calcul multi-devises
Description: 
Bonjour,

Le calcul multi-devises est correct dans toutes les opérations hors rapports.
Pour ces derniers, les sommes de dépenses de comptes en devise différente
génèrent systématiquement un total éronné.

N'hésitez pas à me contacter en cas de question supplémentaire.

A+, Luc.

Steps to Reproduce: 
Voir les deux fichiers joints, test euro et test local, qui génèrent deux
totaux différents dans les rapports alors que les sous-totaux sur la page
principale sont corrects.

- Pour test euro, les dépenses d'un compte en monnaie locale sont en euros et
le total du rapport est correct
- Pour test local, les dépenses sont directement en monnaie locale (et
identiques en valeur euro) mais le total du rapport est incorrect (le taux de
change semble inverse)
====================================================================== 

---------------------------------------------------------------------- 
 (0003345) Ludes88 (reporter) - 2012-01-06 11:43
 http://www.grisbi.org/bugsreports/view.php?id=1368#c3345 
---------------------------------------------------------------------- 
Bonjour,

Le bug existe toujours sur la version git de cette semaine (0.9.4) que j'ai
installée sur Ubuntu 11.10: Les états (rapports) sont faux pour une
utilisation multi-devises, en régression par rapport à la version 0.5.9.

Est-ce que je peux aider à faire d'autres tests? Je dois exporter mes états
sur tableur depuis plusieurs mois et c'est assez lourd.

Merci d'avance!

Luc 

---------------------------------------------------------------------- 
 (0003347) pbiava (administrator) - 2012-01-07 08:31
 http://www.grisbi.org/bugsreports/view.php?id=1368#c3347 
---------------------------------------------------------------------- 
Je n'ai pas encore traité ce bug. c'est normal qu'il ne soit pas corrigé 

---------------------------------------------------------------------- 
 (0003516) Ludes88 (reporter) - 2012-09-27 20:09
 http://www.grisbi.org/bugsreports/view.php?id=1368#c3516 
---------------------------------------------------------------------- 
Bonjour Pierre,

Version 0.9.5 sur Ubuntu 12.04 et toujours pas de bonne surprise... Je pense
pourtant que le bug est simplement un taux de change inversé dans une formule
mais je n'ai pas les compétences pour aider plus.

Merci d'avance.

Luc 

---------------------------------------------------------------------- 
 (0003518) pbiava (administrator) - 2012-09-30 20:26
 http://www.grisbi.org/bugsreports/view.php?id=1368#c3518 
---------------------------------------------------------------------- 
Bonjour Luc,

mauvaise nouvelle : c'est un bug par contre il semble corrigé avec la version
0.9.5 avec laquelle je travaille.
Peux-tu refaire le test avec ton fichier test local.gsb entre dans l'opération
balaye quelque champs puis fait valider. Ça devrait fonctionner. 

---------------------------------------------------------------------- 
 (0003519) Ludes88 (reporter) - 2012-10-01 16:57
 http://www.grisbi.org/bugsreports/view.php?id=1368#c3519 
---------------------------------------------------------------------- 
Merci Pierre pour ta réponse rapide,

Effectivement, le fait de revalider une opération corrige le problème dans la
version git d'hier.

Problème: J'ai essayé sur mon fichier personnel, et j'ai du revalider une
dizaine d'opérations sur plusieurs devises (sur un total d'une trentaine pour
l'état considéré) avant que le total tombe enfin juste. Comment faire pour
être certain que les totaux soient correct sans avoir à valider toutes les
opérations une par une? Y a t'il une possibilité de revalider artificiellement
toutes les opérations d'un fichier créé avec une version ultérieure d'un
seul coup? Peut-être est-il plus simple de corriger ce bug de compatibilité de
versions?

J'ai vérifié, les nouvelles opérations rentrés avec la version 0.9.5 n'ont
pas besoin d'être revalidées pour fournier des résultats corrects dans les
états.

Luc. 

---------------------------------------------------------------------- 
 (0003521) pbiava (administrator) - 2012-10-01 20:39
 http://www.grisbi.org/bugsreports/view.php?id=1368#c3521 
---------------------------------------------------------------------- 
Bonjour Luc,

Il faut ouvrir ton fichier avec gedit.
Ensuite il faut regarder le numéro de devise du compte concerné dans le cas du
fichier Test local.gsb : <Currency Nb="2" Na="Polish Zloty" Co="PLN" Ico="PLZ"
Fl="2" />. numero = 2
trouver le numéro du compte ici : Name="Account PLN" Number="2"

ensuite il faut rechercher toutes les opérations qui concernent le compte
numéro 2 avec la devise Numero 2 ce sont celles qui commencent comme ceci :
<Transaction Ac="2" Nb="2" Id="(null)" Dt="07/09/2011" Dv="(null)" Cu="2"
Am="-4.00" Exb="0" Exr="4.0" Exf="0.00" Pa="1" 

Donc on voit Ac="2" Cu="2" Exr="4.0" pour ces opérations il faut mettre
Exr="0.00" Pa="1"

Nota : Nb="x" et les champs suivants changent pour chaque opération.

Pour connaître le contenu des opérations voir :
http://wiki.grisbi.org/doku.php?id=docs:dev:format_gsb#list_of_the_transactions

Pense à faire une sauvegarde avant de commencer.

A ta disposition. 

---------------------------------------------------------------------- 
 (0003541) Ludes88 (reporter) - 2012-10-27 21:15
 http://www.grisbi.org/bugsreports/view.php?id=1368#c3541 
---------------------------------------------------------------------- 
Bonsoir Pierre,

Je confirme, la correction que tu proposes permet de corriger le bug à la
saisie des versions antérieures à 0.9.5. Mais mon fichier a plus de 5000
opérations dans plusieurs devises et je ne vois pas comment faire toutes les
corrections avec Gedit sans introduire d'autres erreurs.

Je pense que ça doit concerner plusieurs utilisateurs, peut-être même sans
qu'ils s'en aperçoivent. Y a t'il une autre possibilité de correction en
masse? Peut-être une procédure d'import? Je ne suis pas programmeur et ce
problème dépasse mes compétences...

Pour info, le bug est étrange car il n'est pas du tout systématique. Il ne
concerne environ qu'une transaction sur 10 sur mon fichier principal (avec
devise d'opération identique au compte bien sûr).

Un détail: je suppose que le Pa="1" dans tes explications ci-dessus est une
erreur de frappe. Peux-tu confirmer?

Merci d'avance.

Luc 

---------------------------------------------------------------------- 
 (0003542) pbiava (administrator) - 2012-10-28 08:40
 http://www.grisbi.org/bugsreports/view.php?id=1368#c3542 
---------------------------------------------------------------------- 
Effectivement j'ai fait un copié collé trop intensif. Pa étant le numéro de
tiers il ne faut pas le modifier.

Pour ce qui concerne la demande de correction en masse il faut que j'y
réfléchisse. Je te tiens au courant.

 

---------------------------------------------------------------------- 
 (0003582) Ludes88 (reporter) - 2012-12-22 22:01
 http://www.grisbi.org/bugsreports/view.php?id=1368#c3582 
---------------------------------------------------------------------- 
Bonsoir Pierre,

Un programmeur m'a aidé à corriger mon fichier en utilisant la fonction sed:

sed -f script.txt original.gsb > corrigé.gsb (le script est en pièce jointe)

Seul problème, il faut renseigner les numéros de comptes et leurs devises
associées manuellement en recherchant dans le fichier .gsb.

Au cas où ça puisse te servir pour une correction automatique lors d'une
prochaine release...

Joyeuses fêtes!

A+, Luc. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-07-09 12:53 Ludes88        New Issue                                    
2011-07-09 12:53 Ludes88        File Added: Test Mantis.zip                    
2011-07-31 08:38 pbiava         Assigned To               => pbiava          
2011-07-31 08:38 pbiava         Status                   new => assigned     
2012-01-06 11:43 Ludes88        Note Added: 0003345                          
2012-01-07 08:31 pbiava         Note Added: 0003347                          
2012-09-27 20:09 Ludes88        Note Added: 0003516                          
2012-09-30 20:26 pbiava         Note Added: 0003518                          
2012-10-01 16:57 Ludes88        Note Added: 0003519                          
2012-10-01 20:39 pbiava         Note Added: 0003521                          
2012-10-27 21:15 Ludes88        Note Added: 0003541                          
2012-10-28 08:28 pbiava         Note Added: 0003542                          
2012-10-28 08:40 pbiava         Note Edited: 0003542                         
2012-12-22 21:50 Ludes88        File Added: script.txt                       
2012-12-22 22:01 Ludes88        Note Added: 0003582                          
======================================================================



More information about the bugsreports mailing list