Rerun Feature 5388: Print Invoices (documents) list gets too long. Fixed by default...
[fa-stable.git] / reporting / includes / reports_classes.inc
index 0d150930760c79f8c096e1599f1561f73c161a5a..c96378f7337b99dc93d1b87651c47ec29e056f8d 100644 (file)
@@ -100,7 +100,7 @@ class BoxReports
                                                . "<form method='POST' action='$action' target='_blank'>\n";
                                        $st_params .= submit('Rep'.$report->id,  
                                                _("Display: ") . access_string($report->name, true),
-                                               false, '', $SysPrefs->pdf_debug ? false : 'default process') . hidden('REP_ID', $report->id, false).'<br><br>';
+                                               false, '', $SysPrefs->pdf_debug ? false : 'default popup') . hidden('REP_ID', $report->id, false).'<br><br>';
                                        $st_params .= $this->getOptions($report->get_controls(), $report->id);
                                        $st_params .= "\n<input type=hidden name='Class' value=".$cur_class.">"
                                                ."\n</form></td></tr></table>\n";
@@ -170,7 +170,9 @@ class BoxReports
        {
                global $path_to_root, $SysPrefs,
                        $type_shortcuts;
-
+               $day_range = get_company_pref("max_days_in_docs");
+               if (!$day_range)
+                       $day_range = 180;
                $st = '';
                        switch ($type)
                        {
@@ -276,9 +278,13 @@ class BoxReports
                                case 'GL_ACCOUNTS':
                                        return gl_all_accounts_list($name);
 
+                               case 'BANK_ACCOUNTS_NO_FILTER':
                                case 'BANK_ACCOUNTS':
-                                       return bank_accounts_list($name);
-                                       
+                                       if ($type == 'BANK_ACCOUNTS_NO_FILTER')
+                                               return bank_accounts_list($name, null, false, _("All"));
+                                       else
+                                               return bank_accounts_list($name);
+
                                case 'DIMENSION':
                                        return dimensions_list($name, null, false, ' ', false, true, 0);
                                        
@@ -317,8 +323,10 @@ class BoxReports
                                        $sql = "SELECT concat(debtor_trans.trans_no, '-', debtor_trans.type) AS TNO,
                                                                concat('$IV ', debtor_trans.$ref,' ', debtor.name) as IName
                                                FROM ".TB_PREF."debtors_master debtor,"
-                                                       .TB_PREF."debtor_trans debtor_trans
-                                               WHERE type=".ST_SALESINVOICE." AND debtor.debtor_no=debtor_trans.debtor_no
+                                                       .TB_PREF."debtor_trans debtor_trans LEFT JOIN ".TB_PREF."voided AS vd ON debtor_trans.type=vd.type AND
+                                                       debtor_trans.trans_no=vd.id
+                                               WHERE debtor_trans.type=".ST_SALESINVOICE." AND debtor.debtor_no=debtor_trans.debtor_no AND ISNULL(vd.id)
+                                               AND debtor_trans.tran_date > SUBDATE(CURRENT_DATE, INTERVAL $day_range DAY)
                                                ORDER BY debtor_trans.trans_no DESC";
                                        return combo_input($name, '', $sql, 'TNO', 'IName',array('order'=>false));
 
@@ -328,18 +336,22 @@ class BoxReports
                                        $sql = "SELECT concat(debtor_trans.trans_no, '-', debtor_trans.type) AS TNO,
                                                                concat('$CN ', debtor_trans.$ref,' ', debtor.name) as IName
                                                FROM ".TB_PREF."debtors_master debtor,"
-                                                       .TB_PREF."debtor_trans debtor_trans
-                                               WHERE type=".ST_CUSTCREDIT." AND debtor.debtor_no=debtor_trans.debtor_no
+                                                       .TB_PREF."debtor_trans debtor_trans LEFT JOIN ".TB_PREF."voided AS vd ON debtor_trans.type=vd.type AND
+                                                       debtor_trans.trans_no=vd.id
+                                               WHERE debtor_trans.type=".ST_CUSTCREDIT." AND debtor.debtor_no=debtor_trans.debtor_no AND ISNULL(vd.id)
+                                               AND debtor_trans.tran_date > SUBDATE(CURRENT_DATE, INTERVAL $day_range DAY)
                                                ORDER BY debtor_trans.trans_no DESC";
                                        return combo_input($name, '', $sql, 'TNO', 'IName',array('order'=>false));
 
                                case 'DELIVERY':
                                        $DN = $type_shortcuts[ST_CUSTDELIVERY];
-                                       $sql = "SELECT  concat(debtor_trans.trans_no, '-', debtor_trans.type) AS TNO,
+                                       $sql = "SELECT concat(debtor_trans.trans_no, '-', debtor_trans.type) AS TNO,
                                                                concat(debtor_trans.trans_no, ' $DN ', debtor.name) as IName
                                                FROM ".TB_PREF."debtors_master debtor,"
-                                                       .TB_PREF."debtor_trans debtor_trans
-                                               WHERE type=".ST_CUSTDELIVERY." AND debtor.debtor_no=debtor_trans.debtor_no
+                                                       .TB_PREF."debtor_trans debtor_trans LEFT JOIN ".TB_PREF."voided AS vd ON debtor_trans.type=vd.type AND
+                                                       debtor_trans.trans_no=vd.id
+                                               WHERE debtor_trans.type=".ST_CUSTDELIVERY." AND debtor.debtor_no=debtor_trans.debtor_no AND ISNULL(vd.id)
+                                               AND debtor_trans.tran_date > SUBDATE(CURRENT_DATE, INTERVAL $day_range DAY)
                                                ORDER BY debtor_trans.trans_no DESC";
                                        return combo_input($name, '', $sql, 'TNO', 'IName',array('order'=>false));
 
@@ -348,8 +360,9 @@ class BoxReports
                                        $sql = "SELECT sorder.order_no, concat(sorder.$ref, '-', debtor.name) as IName
                                                FROM ".TB_PREF."debtors_master debtor,"
                                                        .TB_PREF."sales_orders sorder
-                                               WHERE debtor.debtor_no=sorder.debtor_no AND sorder.trans_type=".ST_SALESORDER
-                                               ." ORDER BY sorder.order_no DESC";
+                                               WHERE debtor.debtor_no=sorder.debtor_no AND sorder.trans_type=".ST_SALESORDER." 
+                                               AND sorder.ord_date > SUBDATE(CURRENT_DATE, INTERVAL $day_range DAY)
+                                               ORDER BY sorder.order_no DESC";
                                        return combo_input($name, '', $sql, 'order_no', 'IName',array('order'=>false));
 
                                case 'QUOTATIONS':
@@ -357,8 +370,9 @@ class BoxReports
                                        $sql = "SELECT sorder.order_no, concat(sorder.$ref, '-', debtor.name) as IName
                                                FROM ".TB_PREF."debtors_master debtor,"
                                                        .TB_PREF."sales_orders sorder
-                                               WHERE debtor.debtor_no=sorder.debtor_no AND sorder.trans_type=".ST_SALESQUOTE
-                                                       ." ORDER BY sorder.order_no DESC";
+                                               WHERE debtor.debtor_no=sorder.debtor_no AND sorder.trans_type=".ST_SALESQUOTE." 
+                                               AND sorder.ord_date > SUBDATE(CURRENT_DATE, INTERVAL $day_range DAY)
+                                               ORDER BY sorder.order_no DESC";
                                        return combo_input($name, '', $sql, 'order_no', 'IName',array('order'=>false));
 
                                case 'PO':
@@ -367,6 +381,7 @@ class BoxReports
                                                FROM ".TB_PREF."suppliers supplier,"
                                                        .TB_PREF."purch_orders po
                                                WHERE supplier.supplier_id=po.supplier_id
+                                               AND po.ord_date > SUBDATE(CURRENT_DATE, INTERVAL $day_range DAY)
                                                ORDER BY po.order_no DESC";
                                        return combo_input($name, '', $sql, 'order_no', 'IName',array('order'=>false));
 
@@ -376,12 +391,15 @@ class BoxReports
                                        $CN = $type_shortcuts[ST_SUPPCREDIT];
                                        $ref = ($SysPrefs->print_invoice_no() == 1 ? "trans_no" : "reference");
                                        $sql = "SELECT concat(trans.trans_no, '-',trans.type) AS TNO,
-                                                               concat(trans.$ref, IF(type=".ST_BANKPAYMENT.", ' $BP ', IF(type=".ST_SUPPAYMENT.", ' $SP ', ' $CN ')), supplier.supp_name) as IName
-                                                       FROM ".TB_PREF."suppliers supplier, "
-                                                               .TB_PREF."supp_trans trans
-                                                       WHERE type IN(".ST_BANKPAYMENT.",".ST_SUPPAYMENT.",".ST_SUPPCREDIT.")
-                                                               AND supplier.supplier_id=trans.supplier_id
-                                                       ORDER BY trans.trans_no DESC";
+                                                               concat(trans.$ref, IF(trans.type=".ST_BANKPAYMENT.", ' $BP ', IF(trans.type=".ST_SUPPAYMENT.", ' $SP ', 
+                                                               ' $CN ')),
+                                                               supplier.supp_name) as IName
+                                               FROM ".TB_PREF."suppliers supplier, "
+                                                       .TB_PREF."supp_trans trans  LEFT JOIN ".TB_PREF."voided AS vd ON trans.type=vd.type AND trans.trans_no=vd.id
+                                               WHERE trans.type IN(".ST_BANKPAYMENT.",".ST_SUPPAYMENT.",".ST_SUPPCREDIT.") AND
+                                                       supplier.supplier_id=trans.supplier_id AND ISNULL(vd.id)
+                                               AND trans.tran_date > SUBDATE(CURRENT_DATE, INTERVAL $day_range DAY)
+                                               ORDER BY trans.trans_no DESC";
                                        return combo_input($name, '', $sql, 'TNO', 'IName',array('order'=>false));
 
                                case 'RECEIPT':
@@ -389,10 +407,12 @@ class BoxReports
                                        $CP = $type_shortcuts[ST_CUSTPAYMENT];
                                        $ref = ($SysPrefs->print_invoice_no() == 1 ? "trans_no" : "reference");
                                        $sql = "SELECT concat(trans.trans_no, '-', trans.type) AS TNO,
-                                                               concat(trans.$ref, IF(type=".ST_BANKDEPOSIT.", ' $BD ', ' $CP '), debtor.name) as IName
+                                                               concat(trans.$ref, IF(trans.type=".ST_BANKDEPOSIT.", ' $BD ', ' $CP '), debtor.name) as IName
                                                FROM ".TB_PREF."debtors_master debtor,"
-                                                       .TB_PREF."debtor_trans trans
-                                               WHERE type IN(".ST_BANKDEPOSIT.",".ST_CUSTPAYMENT.",".ST_CUSTCREDIT.") AND debtor.debtor_no=trans.debtor_no
+                                                       .TB_PREF."debtor_trans trans LEFT JOIN ".TB_PREF."voided AS vd ON trans.type=vd.type AND trans.trans_no=vd.id
+                                               WHERE trans.type IN(".ST_BANKDEPOSIT.",".ST_CUSTPAYMENT.",".ST_CUSTCREDIT.") AND
+                                                       debtor.debtor_no=trans.debtor_no AND ISNULL(vd.id)
+                                               AND trans.tran_date > SUBDATE(CURRENT_DATE, INTERVAL $day_range DAY)
                                                ORDER BY trans.trans_no DESC";
                                        return combo_input($name, '', $sql, 'TNO', 'IName',array('order'=>false));