dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dolibarr-dev] BUG : Correction


From: Damien PASQUER
Subject: Re: [Dolibarr-dev] BUG : Correction
Date: Wed, 11 Jan 2006 00:28:20 +0100
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

Salut,
désolé de pas avoir répondu entre temps.
J'ai vérifié mes champs, c'est bien en type double.
Toutes mes tables sont bien en innodb, pas de myisam
Le truc bizarre, c'est que j'ai tjrs l'erreur avec la derniere version cvs. (version du 10/01/2006)
Il prends pas en compte du tout les centimes.
Je viens de changer une des machines sous Ubuntu breezy, et j'ai reinstallé dolibarr dessus, et le problème est tjrs le même. les champs sont bien en double, mais on dirait qu'il ne prends pas en compte les centimes.
dernier exemple en date :
Produit a 60.90 Euros Unitaire HT.
Remise a 70%
15 pièces
Prix total affiché ds dolibarr : 270 € HT
Et bien entendu, si on 'oublie' les centimes :
(60 x 15 ) * 30% = 270 €
il devrait afficher 274.05 € HT.
Enfin, il affiche 274.05 sur la ligne, mais pas dans le champ Montant total.
Je sais plus koi faire :(
J'ai le même bug sur les 2 machines (la Slackware et la Ubuntu).
Je me demande si cela n'a pas avoir avec le problème de locale evoqué précédemment, g relu les posts, mais g bien les locales forcées à fr_FR.
Une idée?

Une copie du desc llx_propaldet;

mysql> desc llx_propaldet ;
+----------------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+---------+------+-----+---------+----------------+
| rowid | int(11) | | PRI | NULL | auto_increment |
| fk_propal | int(11) | YES | | NULL | |
| fk_product | int(11) | YES | | NULL | |
| description | text | YES | | NULL | |
| tva_tx | double | YES | | 19.6 | |
| qty | double | YES | | NULL | |
| remise_percent | double | YES | | 0 | |
| remise | double | YES | | 0 | |
| subprice | double | YES | | NULL | |
| price | double | YES | | NULL | |
+----------------+---------+------+-----+---------+----------------+
10 rows in set (0.00 sec)




Laurent Destailleur (Eldy) wrote:

Damien PASQUER wrote:

Mon écart final, est de environ 100 - 150 euros, et non pas 800 euros.
Et en fouillant un peu au niveau de la base, j'ai trouvé l'erreur.
Sur ma ligne de propale d'exemple que je donnais,
1 article à 475euros * Quantité 96 - 31 pourcent de remise = 31464.
Dans la base, dans la table llx_propaldet, j'ai les valeurs suivantes :

rowid
fk_propal fk_product description tva_tx qty remise_percent remise <http://ase.riviera-networks.com/phpmyadm/sql.php?lang=fr-utf-8&server=1&collation_connection=utf8_general_ci&db=dolibarr&table=llx_propaldet&pos=30&session_max_rows=30&disp_direction=horizontal&repeat_cells=100&dontlimitchars=0&sql_query=SELECT+%2AFROM+%60llx_propaldet%60+WHERE+1++ORDER+BY+%60subprice%60+ASC>subprice price
40 14 142 19.6 96 31 0 475 327


Or 475 * 0,69 = 327,75. La valeur stocké dans price est 327, un arrondi au dessous.
Je perds donc 0,75 * 96 = 72 euros sur cette ligne.
Peut-être une erreur au niveau des arrondis?


Peux-tu vérifier que dans la structure de ta table, tu as bien le champ "price" déclaré en "double".
La commande mysql pour cela:

desc llx_propaldet;


Attachment: d.pasquer.vcf
Description: Vcard


reply via email to

[Prev in Thread] Current Thread [Next in Thread]