[0005738] Additional search options for sales order (delivery date, excluding auto...
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Mon, 13 May 2024 11:14:57 +0000 (13:14 +0200)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Mon, 13 May 2024 18:04:02 +0000 (20:04 +0200)
sales/includes/db/sales_order_db.inc
sales/inquiry/sales_orders_view.php

index f2c62840cc8d7fb7ef9c34789a6136a0295b3d9d..a8be2045f062878dc77b9b87f93c87292792c63f 100644 (file)
@@ -465,7 +465,7 @@ function get_branch_to_order($customer_id, $branch_id) {
        PrepaidOrders
 */
 function get_sql_for_sales_orders_view($trans_type, $trans_no, $filter, 
-       $stock_item='', $from='', $to='', $ref='', $location=ALL_TEXT, $customer_id=ALL_TEXT, $show_voided = 0)
+       $stock_item='', $from='', $to='', $ref='', $location=ALL_TEXT, $customer_id=ALL_TEXT, $show_voided = 0, $by_delivery=0, $no_auto=0)
 {
     if ($filter=='OutstandingOnly')
         $order_value = 'Sum(line.unit_price*(line.quantity-line.qty_sent)*(1-line.discount_percent))+freight_cost';
@@ -530,10 +530,12 @@ function get_sql_for_sales_orders_view($trans_type, $trans_no, $filter,
                {
                        $date_after = date2sql($from);
                        $date_before = date2sql($to);
-
-                       $sql .=  " AND sorder.ord_date >= '$date_after'"
-                                       ." AND sorder.ord_date <= '$date_before'";
+                       $by_date = $by_delivery ? 'delivery_date' : 'ord_date';
+                       $sql .=  " AND sorder.$by_date >= '$date_after'"
+                                       ." AND sorder.$by_date <= '$date_before'";
                }
+               if ($no_auto)
+                   $sql .= " AND sorder.reference != 'auto'";
        }
                if ($trans_type == ST_SALESQUOTE && !check_value('show_all'))
                        $sql .= " AND sorder.delivery_date >= '".date2sql(Today())."' AND line.qty_sent=0"; // show only outstanding, not realized quotes
index c3e63ab5ff839e51bafe30bfeb1859ce56a23f4a..3873114bc167b3417216385d8c220791c744ddce 100644 (file)
@@ -232,11 +232,17 @@ start_table(TABLESTYLE_NOBORDER);
 start_row();
 ref_cells(_("#:"), 'OrderNumber', '',null, '', true);
 ref_cells(_("Ref"), 'OrderReference', '',null, '', true);
+
+if ($show_dates)
+    yesno_list_cells('', 'by_delivery', null, ($trans_type==ST_SALESORDER ? _("Delivery date") : _("Valid until")).':',
+         ($trans_type==ST_SALESORDER ? _("Order date") : _("Quotation date")).':');
+
 if ($show_dates)
 {
        date_cells(_("from:"), 'OrdersAfterDate', '', null, -user_transaction_days());
        date_cells(_("to:"), 'OrdersToDate', '', null, 1);
 }
+
 locations_list_cells(_("Location:"), 'StockLocation', null, true, true);
 
 if($show_dates) {
@@ -254,6 +260,9 @@ if ($trans_type == ST_SALESQUOTE)
        check_cells(_("Show All:"), 'show_all');
 if ($trans_type == ST_SALESORDER)
        check_cells(_("Zero values"), 'show_voided');
+if ($show_dates && $trans_type == ST_SALESORDER)
+       check_cells(_("No auto"), 'no_auto');
+
 submit_cells('SearchOrders', _("Search"),'',_('Select documents'), 'default');
 hidden('order_view_mode', $_POST['order_view_mode']);
 hidden('type', $trans_type);
@@ -265,7 +274,8 @@ end_table(1);
 //     Orders inquiry table
 //
 $sql = get_sql_for_sales_orders_view($trans_type, get_post('OrderNumber'), get_post('order_view_mode'),
-       get_post('SelectStockFromList'), get_post('OrdersAfterDate'), get_post('OrdersToDate'), get_post('OrderReference'), get_post('StockLocation'), get_post('customer_id'), check_value('show_voided'));
+       get_post('SelectStockFromList'), get_post('OrdersAfterDate'), get_post('OrdersToDate'), get_post('OrderReference'), get_post('StockLocation'), get_post('customer_id'), check_value('show_voided'),
+       get_post('by_delivery'), get_post('no_auto'));
 
 if ($trans_type == ST_SALESORDER)
        $cols = array(