[grisbi-devel] Liens entre devises

William OLLIVIER (IRC: gunee) (dev. Windows) guneemwelloeux at users.sourceforge.net
Wed Jan 13 00:13:54 CET 2010


J'ai connu le même problèmes à certains moments (peut-être même que
Pierre s'en souvient) : la modification d'un taux de change avait pour
conséquence que toutes les opérations en devises étaient modifiées.

Je n'ai pas re-testé récemment, donc je ne peux pas vraiment dire si
c'est d'actualité. Il me semble que cela dépendait aussi de la manière
dont le fichier était créé (import depuis la version 0.5.9, ou création
d'un nouveau fichier de comptes).

William

PS : Matthieu, ta clé GPG a expiré. Il faudrait la renouveler ;)

Le 1/12/2010 1:45 AM, Matthieu Pupat a écrit :
>>> * forcer systematiquement grisbi a utiliser le taux de change stocke
>>> avec l'operation s'il est non nul meme si il y a un taux de change
>>> stocke pour la devise en question (J'ai teste cette option et elle
>>> resoud mon probleme)
>>>   
>> C'est normalement fait comme ça. Je suis étonné que ça ne fonctionne pas
>> chez toi sauf bug mais je viens de tester ma version locale et ça roule.
> 
> Bah ce n'est pas le cas chez moi. Si je prends gsb_data_transaction.c
> vers la ligne 769, il y a un test qui regarde s'il existe un hard link
> et qui force son utilisation.
> 
> Par contre il est fort possible que le probleme ne se produise qu'à
> l'ouverture d'un fichier. Il faut donc pur le reproduire, entrer
> quelques opérations avec différents taux de change, suaver le fichier,
> le fermer et le réouvrir pour constater que les montants convertis ont
> changé.
> 
> Ci dessous pour info, le patche que j'ai actuellement en local et qui
> résoud le bug sur mon fichier.
> 
> Index: gsb_data_transaction.c
> ===================================================================
> RCS file: /cvsroot/grisbi/grisbi/src/gsb_data_transaction.c,v
> retrieving revision 1.77
> diff -r1.77 gsb_data_transaction.c
> 48a49
>> #include "erreur.h"
> 768c769
> <     if ( (link_number = gsb_data_currency_link_search ( transaction ->
> currency_number,
> ---
>>     /*if ( (link_number = gsb_data_currency_link_search ( transaction
> -> currency_number,
> 772c773
> <         if ( gsb_data_currency_link_get_first_currency (link_number)
> == transaction -> currency_number)
> ---
>>         /*if ( gsb_data_currency_link_get_first_currency (link_number)
> == transaction -> currency_number)
> 780c781
> <         amount = gsb_real_sub (amount, transaction -> exchange_fees);
> ---
>>         /*amount = gsb_real_sub (amount, transaction -> exchange_fees);
> 782c783
> <     else
> ---
>>     else*/
> 968c969
> <
> ---
> 
> 
> Merci, Matthieu


More information about the devel mailing list