From a41186b4c532e2a8dd0b84ff5690debc8d3459da Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 17 Oct 2012 20:30:17 +0200 Subject: [PATCH] [ bug #70 ] Champ Stock toujours vide dans export produit --- htdocs/product/stock/class/entrepot.class.php | 11 +++++++++-- htdocs/product/stock/class/mouvementstock.class.php | 2 ++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/htdocs/product/stock/class/entrepot.class.php b/htdocs/product/stock/class/entrepot.class.php index cb3e891ff9d..1b7622e105b 100644 --- a/htdocs/product/stock/class/entrepot.class.php +++ b/htdocs/product/stock/class/entrepot.class.php @@ -204,8 +204,15 @@ class Entrepot extends CommonObject $sql.= " WHERE rowid = " . $this->id; dol_syslog(get_class($this)."::delete sql=".$sql); - $resql=$this->db->query($sql); - if ($resql) + $resql1=$this->db->query($sql); + + // Update denormalized fields because we change content of produt_stock + $sql = "UPDATE ".MAIN_DB_PREFIX."product p SET p.stock= (SELECT SUM(ps.reel) FROM ".MAIN_DB_PREFIX."product_stock ps WHERE ps.fk_product = p.rowid)"; + + dol_syslog(get_class($this)."::delete sql=".$sql); + $resql2=$this->db->query($sql); + + if ($resql1 && $resql2) { $this->db->commit(); return 1; diff --git a/htdocs/product/stock/class/mouvementstock.class.php b/htdocs/product/stock/class/mouvementstock.class.php index 93c07f4b61b..e31134a613d 100644 --- a/htdocs/product/stock/class/mouvementstock.class.php +++ b/htdocs/product/stock/class/mouvementstock.class.php @@ -194,6 +194,8 @@ class MouvementStock { $sql = "UPDATE ".MAIN_DB_PREFIX."product SET pmp = ".$newpmp.", stock = ".$this->db->ifsql("stock IS NULL", 0, "stock") . " + ".$qty; $sql.= " WHERE rowid = ".$fk_product; + // May be this request is better: + // UPDATE llx_product p SET p.stock= (SELECT SUM(ps.reel) FROM llx_product_stock ps WHERE ps.fk_product = p.rowid); dol_syslog(get_class($this)."::_create sql=".$sql); $resql=$this->db->query($sql);