[grisbi-bugs] [Grisbi 0001909]: Erreur enregistrement taux de change

Grisbi Bug Tracker bugtracker at grisbi.org
Mer 13 Fév 07:26:35 CET 2019


The following issue has been RESOLVED. 
====================================================================== 
http://www.grisbi.org/bugsreports/view.php?id=1909 
====================================================================== 
Reported By:                Ludes88
Assigned To:                pbiava
====================================================================== 
Project:                    Grisbi
Issue ID:                   1909
Category:                   Packages
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     resolved
OS:                         Ubuntu 
Unstable Impact:            No 
Version OS:                 18.10 
Version GTK:                3.24.1-1 / 2.24.32-3 
Resolution:                 fixed
Fixed in Version:           1.2.x
====================================================================== 
Date Submitted:             2019-02-09 05:29 CET
Last Modified:              2019-02-13 07:26 CET
====================================================================== 
Summary:                    Erreur enregistrement taux de change
Description: 
Le logiciel génère une erreur d'enregistrement de transaction lors d'une
saisie d'une correction d'un taux de change.

Steps to Reproduce: 
1. Ouvrir le fichier joint bug devises2.gsb ne contenant que deux comptes vides
USD et EUR et un lien général entre devise de 1 EUR = 1.15 USD
2. Effectuer un virement de 100 USD à partir du compte USD sur le compte EUR,
sans modifier le taux de change.
3. Aller dans l'état revenus et dépenses: le total est bien nul, pas de
problème
4. Aller dans la transaction Euro et spécifier un nouveau taux de change de la
transaction à 1.17 (au lieu de 1.15), en décochant la case "modifier le taux
de change", pour laisser le lien général entre devises de 1.15
5. Retourner dans l'état: le montant associé à la valorisation du transfert
USD est faux
6. Fermer Grisbi, éditer le fichier Grisbi en mode texte et remplacer la
chaîne Exb="0" Exr="1.17" par Exb="0" Exr="0" dans la transaction nb1
7. Rouvrir Grisbi: l'état est maintenant correct avec solde à €-1.49


Additional Information: 
Explications des états:

Etape                                                                         3 
                                               7
Taux de change général (lien):                            1.15                
                          1.15
Taux de change de la transaction:                     1.15                      
                     1.17
Revenu compte euros (€):                         100/1.15=86.96               
        100/1.17=85.47
Dépense compte dollars (€):                     100/1.15=86.96               
        100/1.15=86.96
Solde                                                                         0 
                                             1.49

Il s'agit d'une suite au bogue 0001368, déjà présent dans Grisbi 1.0.

Le bogue affecte la version stable 1.2.0-2 et la version Git (branche 1.2.x) de
ce jour, bien que le faux total de l'étape 5 soit différent entre les deux
versions (mais je ne comprend pas pourquoi...).
====================================================================== 

---------------------------------------------------------------------- 
 (0004827) pbiava (administrator) - 2019-02-09 06:05
 http://www.grisbi.org/bugsreports/view.php?id=1909#c4827 
---------------------------------------------------------------------- 
Je ne comprends pas pourquoi le bilan entre les deux rapports ne doit pas être
= 0. Dans les deux cas je n'ai utilisé réellement que 100 $.

Par contre le bug existe dès que je modifie le taux de change de l'opération
par rapport au taux général. Je suppose que la différence entre les deux
versions doit provenir de la correction du bug 1904.

Je recherche d'où ça provient. 

---------------------------------------------------------------------- 
 (0004828) Ludes88 (reporter) - 2019-02-09 06:37
 http://www.grisbi.org/bugsreports/view.php?id=1909#c4828 
---------------------------------------------------------------------- 
L'écart provient du fait que la transaction a été réalisée avec un taux de
change défavorable par rapport au lien général. L'application de taux de
change différents par les organismes financiers ou tout simplement l'évolution
du marché des changes génèrent des pertes ou des gains sur la devise de
référence. J'ai essayé d'expliquer la logique dans les infos
complémentaires, c'est un tableau a lire en colonnes (les espaces ont disparu
à l'enregistrement...). 

---------------------------------------------------------------------- 
 (0004831) pbiava (administrator) - 2019-02-09 10:18
 http://www.grisbi.org/bugsreports/view.php?id=1909#c4831 
---------------------------------------------------------------------- 
Fixed in Github branch grisbi-1.2.x 

---------------------------------------------------------------------- 
 (0004833) Ludes88 (reporter) - 2019-02-09 14:31
 http://www.grisbi.org/bugsreports/view.php?id=1909#c4833 
---------------------------------------------------------------------- 
Le bug n'est pas résolu, la transaction numéro 1 du compte USD devrait
maintenir les variables Exb="0" Exr="0.00" même après la modification du taux
de change de la transaction 2 (pas de taux de change spécifique pour le compte
en dollars car il n'y a pas de conversion de devises dans cette transaction,
montant en dollars pour un compte en dollars).

En résumé pour les variables de la transaction 1, après modification du taux
de change de la transaction 1:
     - Avant correction bogue: Exb="0" Exr="1.17"
     - Après la correction bogue proposée sur Github branch grisbi-1.2.x:
Exb="1" Exr="1.17"
     - Voulu: Exb="0" Exr="0.00

Désolé si mes explications sont confuses, mais on est près du but. 

---------------------------------------------------------------------- 
 (0004834) pbiava (administrator) - 2019-02-09 17:53
 http://www.grisbi.org/bugsreports/view.php?id=1909#c4834 
---------------------------------------------------------------------- 
Cette gestion des devises est un vrai bordel. J'avais déjà souffert au début
pour faire fonctionner ça au mieux mais c'est complexe du fait des opérations
de transfert et de la façon dont on les traite. J'espère trouver une solution
qui réponde aux deux bugs celui-ci et le 1906. 

---------------------------------------------------------------------- 
 (0004836) pbiava (administrator) - 2019-02-09 20:39
 http://www.grisbi.org/bugsreports/view.php?id=1909#c4836 
---------------------------------------------------------------------- 
Ce bug semble aussi corrigé. Attention le rapport génère des warnings à
cause de l'option "affichage des opérations" qui est cochée sans qu'aucun
détail soit coché. Plantage possible ?

J'ai ouvert un bug pour ça.

 

---------------------------------------------------------------------- 
 (0004838) pbiava (administrator) - 2019-02-09 20:50
 http://www.grisbi.org/bugsreports/view.php?id=1909#c4838 
---------------------------------------------------------------------- 
Fixed in Github branch grisbi-1.2.x  

---------------------------------------------------------------------- 
 (0004840) Ludes88 (reporter) - 2019-02-10 07:42
 http://www.grisbi.org/bugsreports/view.php?id=1909#c4840 
---------------------------------------------------------------------- 
Bravo, je confirme que les bugs 1909 and 1906 sont résolus, mais le bogue 1909
existe toujours dans le sens contraire, c'est à dire quand on crée un virement
en euros à partir d'un compte en euro vers un autre compte en dollars. Pareil
quand on change le taux de change de cette même transaction.

Pour reproduire le bogue: reprendre la séquence décrite dans le bogue initial
en inversant les devises. Pas de problème pour la transaction du compte euros
mais la transaction du compte dollars a enregistré les variables Exb="0"
Exr="1.17" au lieu de Exb="1" Exr="0.8547" (1/1.17). L'état en euro n'est bien
sûr pas affecté (écart toujours à zéro en euros), cette fois c'est l'état
en dollars qui est faux (l'écart devrait être de USD2 après la modification
du taux de change à 1.17).

J'ai un point de vue différent sur la gestion des devises Grisbi: malgré ces
petits bugs qui affectent uniquement les états, c'est le logiciel le plus
abouti pour l'utilisateur qui travaille avec plusieurs devises. La gestion des
devises Gnucash par exemple est vraiment trop compliquée à maîtriser.

Merci en tout cas pour tes efforts, je n'utilisais plus les états depuis
longtemps en extrayant les données brutes sur excel mais je vois maintenant le
bout du tunnel.  

---------------------------------------------------------------------- 
 (0004842) pbiava (administrator) - 2019-02-10 07:49
 http://www.grisbi.org/bugsreports/view.php?id=1909#c4842 
---------------------------------------------------------------------- 
Le problème est bien dans la bien dans la bi-directionnalité. On va s'y
mettre. 

---------------------------------------------------------------------- 
 (0004846) pbiava (administrator) - 2019-02-11 21:27
 http://www.grisbi.org/bugsreports/view.php?id=1909#c4846 
---------------------------------------------------------------------- 
Je viens de contrôler le fonctionnement. J'ai généré dans le compte EUR une
opération de transfert de 100 € vers le compte USD j'ai le résultat du
fichier devises3.gsb.NOK-1.15. Dans le compte USD j'ai modifié le taux pour
1.17 et vérifié que le rapport en USD  me donne bien un résultat de 2$.
fichier devises3.gsb.NOK-1.17.
En analysant les deux fonctionnements (devises2.gsb.OK-1.15 et
devises2.gsb.OK-1.17) il me semble que la variable Exb semble juste indiquer le
sens du taux entre la devise de l'opération et celle du compte.
Cela sert aussi à la présentation de la fenêtre qui apparaît quand on clique
sur le bouton change. Comme je n'utilise pas cette partie des fonctionnalités
de grisbi,il doit rester pas mal de bugs. 

---------------------------------------------------------------------- 
 (0004850) Ludes88 (reporter) - 2019-02-12 15:01
 http://www.grisbi.org/bugsreports/view.php?id=1909#c4850 
---------------------------------------------------------------------- 
Tu as raison, je comprends maintenant le role de la variable Exb et je confirme
que ta correction est bien effective dans les deux sens. Fantastique, j'ai
maintenant la possibilité d'utiliser les états dans ma gestion des devises!

Tu peux fermer le rapport, merci beaucoup pour la correction! 

---------------------------------------------------------------------- 
 (0004852) pbiava (administrator) - 2019-02-13 07:25
 http://www.grisbi.org/bugsreports/view.php?id=1909#c4852 
---------------------------------------------------------------------- 
Si tu as besoin de quelque chose de nouveau ou si tu trouves encore des bugs
n'hésite pas. 

---------------------------------------------------------------------- 
 (0004853) pbiava (administrator) - 2019-02-13 07:26
 http://www.grisbi.org/bugsreports/view.php?id=1909#c4853 
---------------------------------------------------------------------- 
Fixed in Github branch grisbi-1.2.x  

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2019-02-09 05:29 Ludes88        New Issue                                    
2019-02-09 05:29 Ludes88        File Added: Bug devises2.gsb                    
2019-02-09 05:33 pbiava         Assigned To               => pbiava          
2019-02-09 05:33 pbiava         Status                   new => assigned     
2019-02-09 06:05 pbiava         Note Added: 0004827                          
2019-02-09 06:37 Ludes88        Note Added: 0004828                          
2019-02-09 10:18 pbiava         Status                   assigned => resolved
2019-02-09 10:18 pbiava         Resolution               open => fixed       
2019-02-09 10:18 pbiava         Fixed in Version          => 1.2.x           
2019-02-09 10:18 pbiava         Note Added: 0004831                          
2019-02-09 14:31 Ludes88        Status                   resolved => feedback
2019-02-09 14:31 Ludes88        Resolution               fixed => reopened   
2019-02-09 14:31 Ludes88        Note Added: 0004833                          
2019-02-09 17:53 pbiava         Note Added: 0004834                          
2019-02-09 20:38 pbiava         Note Added: 0004836                          
2019-02-09 20:39 pbiava         Note Edited: 0004836                         
2019-02-09 20:50 pbiava         Status                   feedback => resolved
2019-02-09 20:50 pbiava         Note Added: 0004838                          
2019-02-10 07:42 Ludes88        Status                   resolved => feedback
2019-02-10 07:42 Ludes88        Note Added: 0004840                          
2019-02-10 07:49 pbiava         Note Added: 0004842                          
2019-02-11 21:27 pbiava         File Added: Bug devises2.gsb.OK-1.15            
       
2019-02-11 21:27 pbiava         File Added: Bug devises2.gsb.OK-1.17            
       
2019-02-11 21:27 pbiava         File Added: Bug devises3.gsb.NOK-1.15           
        
2019-02-11 21:27 pbiava         File Added: Bug devises3.gsb.NOK-1.17           
        
2019-02-11 21:27 pbiava         Note Added: 0004846                          
2019-02-12 15:01 Ludes88        Note Added: 0004850                          
2019-02-12 15:01 Ludes88        Status                   feedback => assigned
2019-02-13 07:25 pbiava         Note Added: 0004852                          
2019-02-13 07:26 pbiava         Status                   assigned => resolved
2019-02-13 07:26 pbiava         Resolution               reopened => fixed   
2019-02-13 07:26 pbiava         Note Added: 0004853                          
======================================================================



Plus d'informations sur la liste de diffusion bugsreports