Feature 5388: Print Invoices (documents) list gets too long. Fixed by default 180...
authorJoe Hunt <joe.hunt.consulting@gmail.com>
Mon, 29 Mar 2021 08:01:40 +0000 (10:01 +0200)
committerJoe Hunt <joe.hunt.consulting@gmail.com>
Mon, 29 Mar 2021 08:01:40 +0000 (10:01 +0200)
admin/company_preferences.php
reporting/includes/reports_classes.inc
sql/en_US-demo.sql
sql/en_US-new.sql

index 07a568689f25ee885fd4a63aab7151a67b2b66a0..5965d7a69ea29cfa5c68821b88c8d848d74f27ff 100644 (file)
@@ -55,6 +55,12 @@ if (isset($_POST['update']) && $_POST['update'] != "")
                set_focus('round_to');
                $input_error = 1;
        }
+       if (!check_num('max_days_in_docs', 1))
+       {
+               display_error(_("Max day range in Documents must be a positive number."));
+               set_focus('max_days_in_docs');
+               $input_error = 1;
+       }
        if ($_POST['add_pct'] != "" && !is_numeric($_POST['add_pct']))
        {
                display_error(_("Add Price from Std Cost field must be number."));
@@ -146,7 +152,7 @@ if (isset($_POST['update']) && $_POST['update'] != "")
                                'postal_address','phone', 'fax', 'email', 'coy_logo', 'domicile',
                                'use_dimension', 'curr_default', 'f_year', 'shortname_name_in_list',
                                'no_item_list' => 0, 'no_customer_list' => 0, 'no_supplier_list' => 0, 
-                               'base_sales', 'ref_no_auto_increase' => 0, 'dim_on_recurrent_invoice' => 0, 'long_description_invoice' => 0,
+                               'base_sales', 'ref_no_auto_increase' => 0, 'dim_on_recurrent_invoice' => 0, 'long_description_invoice' => 0, 'max_days_in_docs' => 180,
                                'time_zone' => 0, 'company_logo_report' => 0, 'barcodes_on_stock' => 0, 'print_dialog_direct' => 0, 
                                'add_pct', 'round_to', 'login_tout', 'auto_curr_reval', 'bcc_email', 'alternative_tax_include_on_docs', 
                                'suppress_tax_rates', 'use_manufacturing', 'use_fixed_assets'))
@@ -188,6 +194,12 @@ $_POST['no_supplier_list']  = $myrow["no_supplier_list"];
 $_POST['curr_default']  = $myrow["curr_default"];
 $_POST['f_year']  = $myrow["f_year"];
 $_POST['time_zone']  = $myrow["time_zone"];
+if (!isset($myrow["max_days_in_docs"]))
+{
+       set_company_pref("max_days_in_docs", "setup.company", "smallint", 5, '180');
+       $myrow["max_days_in_docs"] = get_company_pref("max_days_in_docs");
+}
+$_POST['max_days_in_docs']  = $myrow["max_days_in_docs"];
 if (!isset($myrow["company_logo_report"]))
 {
        set_company_pref("company_logo_report", "setup.company", "tinyint", 1, '0');
@@ -302,6 +314,7 @@ check_row(_("Search Item List"), 'no_item_list', null);
 check_row(_("Search Customer List"), 'no_customer_list', null);
 check_row(_("Search Supplier List"), 'no_supplier_list', null);
 text_row_ex(_("Login Timeout:"), 'login_tout', 10, 10, '', null, null, _('seconds'));
+text_row_ex(_("Max day range in documents"), 'max_days_in_docs', 10, 10, '', null, null, _('days.'));
 
 end_outer_table(1);
 
index dd76d84de2cb71a260bbde7d21c7c37b73235cfe..38973243e0de386d9c8aaa47c03636c943d5bda3 100644 (file)
@@ -170,7 +170,7 @@ class BoxReports
        {
                global $path_to_root, $SysPrefs,
                        $type_shortcuts;
-
+               $day_range = (isset($SysPrefs->max_days_in_docs) ? $SysPrefs->max_days_in_docs : 180);
                $st = '';
                        switch ($type)
                        {
@@ -324,6 +324,7 @@ class BoxReports
                                                        .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));
 
@@ -336,6 +337,7 @@ class BoxReports
                                                        .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));
 
@@ -347,6 +349,7 @@ class BoxReports
                                                        .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));
 
@@ -355,8 +358,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':
@@ -364,8 +368,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':
@@ -374,6 +379,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));
 
@@ -390,6 +396,7 @@ class BoxReports
                                                        .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));
 
@@ -403,6 +410,7 @@ class BoxReports
                                                        .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));
 
index 5fe959bd052c7b3e7e44e4a18e8f97a9e6a74407..54774a41ff296347541c3b89e34e80339c5d234d 100644 (file)
@@ -1939,6 +1939,7 @@ INSERT INTO `0_sys_prefs` VALUES
 ('use_manufacturing','setup.company', 'tinyint', 1, '1'),
 ('dim_on_recurrent_invoice','setup.company', 'tinyint', 1, '0'),
 ('long_description_invoice','setup.company', 'tinyint', 1, '0'),
+('max_days_in_docs','setup.company', 'smallint', 5, '180'),
 ('use_fixed_assets','setup.company', 'tinyint', 1, '1');
 
 -- Structure of table `0_tag_associations` --
index 2d9ca1144f950330173c35f113e0bb779cb5142a..d923e768444d43bee5f0f53fc534e906a0ab4d4a 100644 (file)
@@ -1612,6 +1612,7 @@ INSERT INTO `0_sys_prefs` VALUES
 ('use_manufacturing','setup.company', 'tinyint', 1, '1'),
 ('dim_on_recurrent_invoice','setup.company', 'tinyint', 1, '0'),
 ('long_description_invoice','setup.company', 'tinyint', 1, '0'),
+('max_days_in_docs','setup.company', 'smallint', 5, '180'),
 ('use_fixed_assets','setup.company', 'tinyint', 1, '1');
 
 -- Structure of table `0_tag_associations` --