Fix: le HT était entré en arrondi à la création du produit lors d'une entrée en TTC

This commit is contained in:
Regis Houssin 2007-01-05 11:37:55 +00:00
parent 99906ba4a7
commit 22d5219866
2 changed files with 34 additions and 31 deletions

View File

@ -641,17 +641,17 @@ if (($_POST['action'] == 'addligne' || $_POST['action'] == 'addligne_predef') &&
$prod = new Product($db, $_POST['idprod']); $prod = new Product($db, $_POST['idprod']);
$prod->fetch($_POST['idprod']); $prod->fetch($_POST['idprod']);
$price_base_type = $prod->price_base_type; $price_base_type = $prod->price_base_type;
// multiprix // multiprix
if ($conf->global->PRODUIT_MULTIPRICES == 1) if ($conf->global->PRODUIT_MULTIPRICES == 1)
{ {
$pu = $prod->multiprices[$soc->price_level]; $pu = $prod->multiprices[$soc->price_level];
} }
else else
{ {
$pu = $prod->price; $pu = $prod->price;
$pu_ttc = $prod->price_ttc; $pu_ttc = $prod->price_ttc;
} }
// La description de la ligne est celle saisie ou // La description de la ligne est celle saisie ou
@ -667,9 +667,9 @@ if (($_POST['action'] == 'addligne' || $_POST['action'] == 'addligne_predef') &&
} }
else else
{ {
$pu=$_POST['pu']; $pu=$_POST['pu'];
$tva_tx=$_POST['tva_tx']; $tva_tx=$_POST['tva_tx'];
$desc=$_POST['desc']; $desc=$_POST['desc'];
} }
// Insere ligne // Insere ligne

View File

@ -1,7 +1,7 @@
<?php <?php
/* Copyright (C) 2001-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2001-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2006 Regis Houssin <regis.houssin@cap-networks.com> * Copyright (C) 2005-2007 Regis Houssin <regis.houssin@cap-networks.com>
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr> * Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -150,36 +150,36 @@ class Product
if ($this->tva_tx=='') $this->tva_tx = 0; if ($this->tva_tx=='') $this->tva_tx = 0;
if ($this->price=='') $this->price = 0; if ($this->price=='') $this->price = 0;
if ($this->status=='') $this->status = 0; if ($this->status=='') $this->status = 0;
$this->price = price2num($this->price); //$this->price = price2num($this->price);
if (strlen(trim($this->price)) > 0 ) if (strlen(trim($this->price)) > 0 )
{ {
if ($this->price_base_type == 'TTC') if ($this->price_base_type == 'TTC')
{ {
$price_ttc = $this->price; $price_ttc = $this->price;
$price = $this->price / (1 + ($this->tva_tx / 100)); $price = $this->price / (1 + ($this->tva_tx / 100));
} }
else else
{ {
$price = $this->price; $price = $this->price;
$price_ttc = $this->price * (1 + ($this->tva_tx / 100)); $price_ttc = $this->price * (1 + ($this->tva_tx / 100));
} }
} }
dolibarr_syslog("Product::Create ref=".$this->ref." Categorie : ".$this->catid); dolibarr_syslog("Product::Create ref=".$this->ref." Categorie : ".$this->catid);
if (strlen($this->ref) > 0) if (strlen($this->ref) > 0)
{ {
$this->db->begin(); $this->db->begin();
$sql = "SELECT count(*)"; $sql = "SELECT count(*)";
$sql .= " FROM ".MAIN_DB_PREFIX."product WHERE ref = '" .$this->ref."'"; $sql .= " FROM ".MAIN_DB_PREFIX."product WHERE ref = '" .$this->ref."'";
$result = $this->db->query($sql) ; $result = $this->db->query($sql) ;
if ($result) if ($result)
{ {
$row = $this->db->fetch_array($result); $row = $this->db->fetch_array($result);
if ($row[0] == 0) if ($row[0] == 0)
{ {
// Produit non deja existant // Produit non deja existant
$sql = "INSERT INTO ".MAIN_DB_PREFIX."product "; $sql = "INSERT INTO ".MAIN_DB_PREFIX."product ";
@ -188,8 +188,11 @@ class Product
$sql.= "fk_user_author, fk_product_type, price, price_ttc, price_base_type, canvas)"; $sql.= "fk_user_author, fk_product_type, price, price_ttc, price_base_type, canvas)";
$sql.= " VALUES (now(), "; $sql.= " VALUES (now(), ";
if ($this->ref) $sql.= "'".$this->ref."', "; if ($this->ref) $sql.= "'".$this->ref."', ";
$sql.= $user->id.", ".$this->type.", '" . $price . "', '".$price_ttc."', '" . $this->price_base_type . "','".$this->canvas."')"; $sql.= $user->id.", ".$this->type.", '" . price2num($price) . "', '".$price_ttc."', '" . $this->price_base_type . "','".$this->canvas."')";
$result = $this->db->query($sql); $result = $this->db->query($sql);
print 'HT '.$price.'<br>';
print 'TTC '.$price_ttc.'<br>';
print $sql;
if ( $result ) if ( $result )
{ {
$id = $this->db->last_insert_id(MAIN_DB_PREFIX."product"); $id = $this->db->last_insert_id(MAIN_DB_PREFIX."product");