diff --git a/htdocs/product/stats/commande.php b/htdocs/product/stats/commande.php index 9491b18da1e15c8ab0585ab72d8b0a9f9d91aea4..42925a704ecd42726e388de343a5f22850d7b145 100644 --- a/htdocs/product/stats/commande.php +++ b/htdocs/product/stats/commande.php @@ -128,9 +128,9 @@ if ($id > 0 || ! empty($ref)) if ($user->rights->commande->lire) { - $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client, c.rowid, d.total_ht as total_ht, c.ref,"; + $sql = "SELECT DISTINCT s.nom as name, s.rowid as socid, s.code_client, c.rowid, d.total_ht as total_ht, c.ref,"; $sql .= " c.ref_client,"; - $sql.= " c.date_commande, c.fk_statut as statut, c.facture, c.rowid as commandeid, d.qty"; + $sql.= " c.date_commande, c.fk_statut as statut, c.facture, c.rowid as commandeid, d.rowid, d.qty"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", sc.fk_soc, sc.fk_user "; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; $sql.= ", ".MAIN_DB_PREFIX."commande as c"; diff --git a/htdocs/product/stats/commande_fournisseur.php b/htdocs/product/stats/commande_fournisseur.php index e7a803c299c5e02c14ff044b0271c3eec4297efd..0516163b2a1c54d41f076e1f98ad1a6ec6162d27 100644 --- a/htdocs/product/stats/commande_fournisseur.php +++ b/htdocs/product/stats/commande_fournisseur.php @@ -135,9 +135,9 @@ if ($id > 0 || ! empty($ref)) { print '</div>'; if ($user->rights->fournisseur->commande->lire) { - $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client,"; + $sql = "SELECT DISTINCT s.nom as name, s.rowid as socid, s.code_client,"; $sql .= " c.rowid, d.total_ht as total_ht, c.ref,"; - $sql .= " c.date_commande, c.fk_statut as statut, c.rowid as commandeid, d.qty"; + $sql .= " c.date_commande, c.fk_statut as statut, c.rowid as commandeid, d.rowid, d.qty"; if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", sc.fk_soc, sc.fk_user "; $sql .= " FROM " . MAIN_DB_PREFIX . "societe as s"; diff --git a/htdocs/product/stats/facture.php b/htdocs/product/stats/facture.php index 2a79b97e399868c6942cdee4f5429d6800a1a84f..9c400dcdeaaf2d50e20c9b0823ce832948a2277e 100644 --- a/htdocs/product/stats/facture.php +++ b/htdocs/product/stats/facture.php @@ -128,10 +128,11 @@ if ($id > 0 || ! empty($ref)) print '</div>'; - if ($user->rights->facture->lire) { - $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client,"; - $sql.= " f.facnumber, d.total_ht as total_ht,"; - $sql.= " f.datef, f.paye, f.fk_statut as statut, f.rowid as facid, d.qty"; + if ($user->rights->facture->lire) + { + $sql = "SELECT DISTINCT s.nom as name, s.rowid as socid, s.code_client,"; + $sql.= " f.facnumber, f.datef, f.paye, f.fk_statut as statut, f.rowid as facid,"; + $sql.= " d.rowid, d.total_ht as total_ht, d.qty"; // We must keep the d.rowid here to not loose record because of the distinct used to ignore duplicate line when link on societe_commerciaux is used if (!$user->rights->societe->client->voir && !$socid) $sql.= ", sc.fk_soc, sc.fk_user "; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; $sql.= ", ".MAIN_DB_PREFIX."facture as f"; @@ -147,24 +148,27 @@ if ($id > 0 || ! empty($ref)) $sql.= ' AND YEAR(f.datef) IN (' . $search_year . ')'; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid) $sql.= " AND f.fk_soc = ".$socid; - $sql.= " ORDER BY $sortfield $sortorder "; + $sql.= $db->order($sortfield, $sortorder); //Calcul total qty and amount for global if full scan list $total_ht=0; $total_qty=0; $totalrecords=0; - if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) + { $result = $db->query($sql); - if ($result) { + if ($result) + { $totalrecords = $db->num_rows($result); - while ($objp = $db->fetch_object($result)) { + while ($objp = $db->fetch_object($result)) + { $total_ht+=$objp->total_ht; $total_qty+=$objp->qty; } } } - $sql.= $db->plimit($conf->liste_limit +1, $offset); + $sql.= $db->plimit($conf->liste_limit + 1, $offset); $result = $db->query($sql); if ($result) @@ -214,7 +218,7 @@ if ($id > 0 || ! empty($ref)) if ($num > 0) { $var=True; - while ($i < $num && $i < $conf->liste_limit) + while ($i < min($num,$conf->liste_limit)) { $objp = $db->fetch_object($result); $var=!$var; diff --git a/htdocs/product/stats/facture_fournisseur.php b/htdocs/product/stats/facture_fournisseur.php index 9b56cee75523b948fa351654c19a501434fe4bfa..5ce40658d0d7e6b2226583f86dac9b349a9a79ae 100644 --- a/htdocs/product/stats/facture_fournisseur.php +++ b/htdocs/product/stats/facture_fournisseur.php @@ -130,7 +130,7 @@ if ($id > 0 || ! empty($ref)) if ($user->rights->fournisseur->facture->lire) { - $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client, f.ref, d.total_ht as total_ht,"; + $sql = "SELECT DISTINCT s.nom as name, s.rowid as socid, s.code_client, f.ref, d.rowid, d.total_ht as total_ht,"; $sql .= " f.datef, f.paye, f.fk_statut as statut, f.rowid as facid, d.qty"; if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", sc.fk_soc, sc.fk_user "; diff --git a/htdocs/product/stats/propal.php b/htdocs/product/stats/propal.php index 690f9c8c4214882988f8ad26ea4b37e057b67f62..84d1ba72a80767d4b56c82107bdbbe3e68447c80 100644 --- a/htdocs/product/stats/propal.php +++ b/htdocs/product/stats/propal.php @@ -129,7 +129,7 @@ if ($id > 0 || ! empty($ref)) if ($user->rights->propale->lire) { $sql = "SELECT DISTINCT s.nom as name, s.rowid as socid, p.rowid as propalid, p.ref, d.total_ht as amount,"; $sql .= " p.ref_client,"; - $sql .= "p.datep, p.fk_statut as statut, d.qty"; + $sql .= "p.datep, p.fk_statut as statut, d.rowid, d.qty"; if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", sc.fk_soc, sc.fk_user "; $sql .= " FROM " . MAIN_DB_PREFIX . "societe as s";