diff --git a/htdocs/fourn/product/liste.php b/htdocs/fourn/product/liste.php index 52de08f8c63..176eb0e6bb7 100644 --- a/htdocs/fourn/product/liste.php +++ b/htdocs/fourn/product/liste.php @@ -26,6 +26,8 @@ */ require("./pre.inc.php"); +require_once(DOL_DOCUMENT_ROOT."/product.class.php"); +require_once(DOL_DOCUMENT_ROOT."/societe.class.php"); $langs->load("products"); $langs->load("suppliers"); @@ -65,11 +67,16 @@ if (isset($_REQUEST['catid'])) $catid = $_REQUEST['catid']; } + + /* * Mode Liste * */ +$productstatic = new Product($db); +$companystatic = new Societe($db); + $title=$langs->trans("ProductsAndServices"); if ($fourn_id) @@ -78,10 +85,10 @@ if ($fourn_id) $supplier->fetch($fourn_id); } -$sql = "SELECT p.rowid, p.label, p.ref, p.fk_product_type"; -$sql .= ", pf.fk_soc, pf.ref_fourn"; -$sql .= ", min(ppf.price) as price"; -$sql .= ", s.nom"; +$sql = "SELECT p.rowid, p.label, p.ref, p.fk_product_type,"; +$sql .= " pf.fk_soc, pf.ref_fourn,"; +$sql .= " ppf.price as price, ppf.quantity as qty,"; +$sql .= " s.rowid as socid, s.nom"; $sql .= " FROM ".MAIN_DB_PREFIX."product as p"; if ($catid) { @@ -89,7 +96,7 @@ if ($catid) } $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_fournisseur as pf ON p.rowid = pf.fk_product"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = pf.fk_soc"; -$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_fournisseur_price as ppf ON ppf.fk_product_fournisseur = pf.rowid AND ppf.quantity = 1"; +$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_fournisseur_price as ppf ON ppf.fk_product_fournisseur = pf.rowid"; if ($_POST["mode"] == 'search') { @@ -125,12 +132,11 @@ if ($fourn_id > 0) { $sql .= " AND p.rowid = pf.fk_product AND pf.fk_soc = ".$fourn_id; } -$sql .= " GROUP BY p.rowid"; -$sql .= " ORDER BY $sortfield $sortorder "; +$sql .= " ORDER BY ".$sortfield." ".$sortorder; $sql .= $db->plimit($limit + 1 ,$offset); -dolibarr_syslog("fourn/product/liste: sql=$sql"); +dolibarr_syslog("fourn/product/liste: sql=".$sql); $resql = $db->query($sql) ; if ($resql) @@ -175,6 +181,7 @@ if ($resql) print_liste_field_titre($langs->trans("Label"),"liste.php", "p.label",$param,"","",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Supplier"),"liste.php", "pf.fk_soc",$param,"","",$sortfield,$sortorder); print_liste_field_titre($langs->trans("BuyingPrice"),"liste.php", "ppf.price",$param,"",'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("QtyMin"),"liste.php", "ppf.qty",$param,"",'align="right"',$sortfield,$sortorder); print "\n"; // Lignes des champs de filtre @@ -185,15 +192,15 @@ if ($resql) print ''; print '