From 74ae9a2618394c7bf21f72be381ed1f3c443ac80 Mon Sep 17 00:00:00 2001 From: atm-lena Date: Thu, 8 Oct 2020 10:49:46 +0200 Subject: [PATCH] FIX CA report by product/service : subcategory filter --- htdocs/compta/stats/cabyprodserv.php | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/htdocs/compta/stats/cabyprodserv.php b/htdocs/compta/stats/cabyprodserv.php index f9057e1066c..b51495ad8ef 100644 --- a/htdocs/compta/stats/cabyprodserv.php +++ b/htdocs/compta/stats/cabyprodserv.php @@ -237,10 +237,6 @@ if ($modecompta == 'CREANCES-DETTES') { $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie_product as cp ON p.rowid = cp.fk_product"; } - elseif ($selected_cat) // Into a specific category - { - $sql.= ", ".MAIN_DB_PREFIX."categorie as c, ".MAIN_DB_PREFIX."categorie_product as cp"; - } $sql.= " WHERE l.fk_facture = f.rowid"; $sql.= " AND f.fk_statut in (1,2)"; $sql.= " AND l.product_type in (0,1)"; @@ -261,10 +257,11 @@ if ($modecompta == 'CREANCES-DETTES') $sql.=" AND cp.fk_product is null"; } elseif ($selected_cat) { // Into a specific category - $sql.= " AND (c.rowid = ".$selected_cat; - if ($subcat) $sql.=" OR c.fk_parent = " . $selected_cat; - $sql.= ")"; - $sql.= " AND cp.fk_categorie = c.rowid AND cp.fk_product = p.rowid"; + $sql.= " AND (p.rowid IN "; + $sql.= " (SELECT fk_product FROM ".MAIN_DB_PREFIX."categorie_product cp WHERE cp.fk_categorie IN "; + $sql.= " (SELECT rowid FROM ".MAIN_DB_PREFIX."categorie WHERE rowid = ".$selected_cat; + if ($subcat) $sql.=" OR fk_parent = " . $selected_cat; + $sql.= ")))"; } if($selected_soc > 0) $sql .= " AND soc.rowid=".$selected_soc; $sql.= " AND f.entity IN (".getEntity('invoice').")";