[grisbi-bugs] [Grisbi 0000540]: Migration des rapprochements
bugtracker at grisbi.org
bugtracker at grisbi.org
Mon Jun 8 21:28:33 CEST 2009
The following issue has been CLOSED
======================================================================
http://grisbi.tuxfamily.org/mantis/view.php?id=540
======================================================================
Reported By: MyKeul
Assigned To: pbiava
======================================================================
Project: Grisbi
Issue ID: 540
Category: Main
Reproducibility: always
Severity: major
Priority: normal
Status: closed
OS: Debian
Unstable Impact: Yes
Version OS:
Version GTK:
Resolution: fixed
Fixed in Version: CVS (développement)
======================================================================
Date Submitted: 04-17-2009 21:35 UTC
Last Modified: 06-08-2009 19:28 UTC
======================================================================
Summary: Migration des rapprochements
Description:
En 0.5.9, il est possible (malgré un avertissement) d'utiliser un même nom
de rapprochement sur plusieurs comptes. (Vu que j'ai plusieurs comptes
détaillés sur un même relevé papier, ça me semblait logique d'utiliser le
même nom).
Dans mon fichier gsb, j'ai donc une multitude d'opérations ayant le même
R="nnn" répartis sur plusieurs comptes.
Dans la version CVS, les rapprochements sont rattachés à un et un seul
compte, mais ce cas n'est visiblement pas pris en compte lors de la
migration des données. Les rapprochements sont répartis aléatoirement
(enfin certainement suivant l'ordre des comptes dans le fichier, ou quelque
chose du genre) sur les différents comptes, mais des données sont perdues
et/ou non affichables. Dans la liste des rapprochements, certains comptes
n'en ont aucun (de rapprochement) alors que les données sont bien présentes
dans le fichier (les Re="nnn" sont bien là).
Pistes :
* Dans le modèle de données (dans le xml), la déclaration des noms de
rapprochements ne devraient-elle pas être locale à chaque compte ? (Ce qui
résoudrait naturellement le problème)
* Solution à priori moins couteuse en développement : lors de l'import, un
croisement entre les nom de comptes et de rapprochement permettrait de
contourner le problème.
======================================================================
----------------------------------------------------------------------
pbiava - 04-18-09 22:18
----------------------------------------------------------------------
Je n'ai pas constaté de problème particulier dans l'import des
rapprochements. J'ai regardé le code mais je n'ai rien vu de particulier.
Le programme actuel tient bien compte du numéro de compte pour reconstituer
la liste des rapprochements d'un compte.
Pour essayer d'avancer j'ai modifié l'import du fichier pour afficher ce
qui est fait lors de l'import. Si tu pouvais recompiler avec cette version
ça nous avancerais peut-être.
après compilation il faut lancer grisbi dans une console après avoir entré
les commandes suivantes :
export DEBUG_GRISBI=5 puis ENTER
grisbi
cela devrait afficher tout un tas de ligne dans la console avec un tableau
des différents rapprochements listés par compte. C'est ce tableau qu'il
faut étudier pour voir si des anomalies ont été rencontrées.
----------------------------------------------------------------------
MyKeul - 04-19-09 09:03
----------------------------------------------------------------------
J'ai fait le test avec les traces. Elles confirment ce qui est affiché dans
la liste des rapprochements : mon compte courrant n'a plus aucun
rapprochement.
J'ai préparé un petit fichier de test qui montre le problème (2 comptes, 2
opérations et 2 rapprochements de même nom). Une fois migré en 0.6.x, il
n'y a qu'un seul rapprochement lié au 2ème compte.
----------------------------------------------------------------------
pbiava - 04-19-09 11:53
----------------------------------------------------------------------
ton fichier est tronqué donc je le charge mais il ne fonctionne pas
correctement. je t'ai envoyé un mail pour que tu puisses me l'envoyer
directement.
----------------------------------------------------------------------
pbiava - 04-19-09 18:57
----------------------------------------------------------------------
Dans la version 0.5.9 grisbi autorisait (après avertissement) des
rapprochements avec des opérations provenant de plusieurs comptes. Il ne
semble pas simple de découper à postériori les rapprochements pour les
répartir compte par compte. Je vais toutefois y réfléchir et faire quelques
tests.
----------------------------------------------------------------------
MyKeul - 04-20-09 21:37
----------------------------------------------------------------------
Etant donné le fonctionnement des rapprochements en 0.5.9, il est
impossible de mélanger des opérations de plusieurs comptes dans un même
rapprochement. Si le même nom de rapprochement est utilisé pour plusieurs
comptes, ça ne pose aucun problème de considérer que ce sont deux
rapprochement différents. J'ai fait le test à la main : j'ai créé un
nouveau rapprochement dans mon fichier en 0.5.9 et modifié les R="..." d'un
de mes comptes pour qu'il utilise le nouveau rapprochement. Lors de la
migration en version CVS, tout va bien.
A priori croiser les noms de comptes avec les noms de rapprochement est
suffisant : dans le fichier gsb en 0.5.9, un rapprochement n'est composé
que d'un id et d'un nom, donc rien n'empêche de multiplier les
rapprochements/ids/noms à partir du moment où cette opération est effectuée
avant la migration en 0.6.x.
J'espère avoir été clair dans ma tentative d'explication/démonstration.
Dans tous les cas j'ai la possibilité de contourner mon problème à la main.
Mais si cette opération n'est pas effectuée automatiquement lors de la
migration, je souhaite bonne chance aux utilisateurs qui ne sont pas
familiers avec le xml et les bdd relationnelles...
----------------------------------------------------------------------
pbiava - 04-21-09 20:48
----------------------------------------------------------------------
Je n'ai pas été assez clair dans ce résumé. Je vais essayer de faire mieux.
Dans la version 0.5.9
- grisbi gére les opérations par compte et non de manière globale comme
dans la 0.6
- par ailleurs il ne se préoccupe que de la date du dernier rapprochement
et ce pour chaque compte,
De ce fait il ne faisait aucun contrôle sur le nom des rapprochements sauf
par un avertissement en cas d'utilisation d'un nom déjà utilisé.
Tous ces éléments font que des opérations de comptes différents se
retrouvent avec un numéro (nom) de rapprochement identique. Donc créer un
nouveau rapprochement et modifier les opérations d'un compte va fonctionner
mais c'est compliqué et long à faire.
Donc je vais modifier l'import des rapprochements pour en créer de
nouveaux propres à chaque compte en préfixant l'existant avec le nom_du
compte comme tu l'as suggéré. Ce nom pourra être modifié plus tard.
----------------------------------------------------------------------
pbiava - 05-08-09 09:41
----------------------------------------------------------------------
modifie la gestion des rapprochements importés :
- pour tenir compte du fait que le dernier rapprochement n'est pas
nécessairement le dernier en date
- tenir compte que dans la version 0.5.9 les rapprochements de même nom
avaient le même numéro pour des comptes différents.
----------------------------------------------------------------------
pbiava - 06-08-09 19:28
----------------------------------------------------------------------
Corrigé dans le CVS
Issue History
Date Modified Username Field Change
======================================================================
04-17-09 21:35 MyKeul New Issue
04-17-09 21:35 MyKeul OS => Debian
04-17-09 21:35 MyKeul Unstable Impact => Yes
04-17-09 22:14 pbiava Status new => assigned
04-17-09 22:14 pbiava Assigned To => pbiava
04-18-09 22:18 pbiava Note Added: 0000882
04-19-09 08:59 MyKeul File Added: test_540.gsb
04-19-09 09:03 MyKeul Note Added: 0000884
04-19-09 11:53 pbiava Note Added: 0000885
04-19-09 18:57 pbiava Note Added: 0000889
04-20-09 21:37 MyKeul Note Added: 0000900
04-21-09 20:48 pbiava Note Added: 0000902
05-08-09 09:41 pbiava Status assigned => resolved
05-08-09 09:41 pbiava Fixed in Version => CVS (développement)
05-08-09 09:41 pbiava Resolution open => fixed
05-08-09 09:41 pbiava Note Added: 0000925
06-08-09 19:28 pbiava Status resolved => closed
06-08-09 19:28 pbiava Note Added: 0001021
======================================================================
More information about the bugsreports
mailing list