X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Frep105.php;h=752436d8bc9f9422647e1c67bf5b402006c8444b;hb=8fc62e7db7194f4bb1af3377504777013f51f70a;hp=bc367e6aaa08019ba5be4c27ee42cd9484dbeff5;hpb=ad96cd0abbfd826592b851b8e0cb6d89e450fdf4;p=fa-stable.git diff --git a/reporting/rep105.php b/reporting/rep105.php index bc367e6a..752436d8 100644 --- a/reporting/rep105.php +++ b/reporting/rep105.php @@ -9,7 +9,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License here . ***********************************************************************/ -$page_security = 2; +$page_security = 'SA_SALESBULKREP'; // ---------------------------------------------------------------- // $ Revision: 2.0 $ // Creator: Joe Hunt @@ -35,32 +35,34 @@ function GetSalesOrders($from, $to, $category=0, $location=null, $backorder=0) $fromdate = date2sql($from); $todate = date2sql($to); - $sql= "SELECT ".TB_PREF."sales_orders.order_no, - ".TB_PREF."sales_orders.debtor_no, - ".TB_PREF."sales_orders.branch_code, - ".TB_PREF."sales_orders.customer_ref, - ".TB_PREF."sales_orders.ord_date, - ".TB_PREF."sales_orders.from_stk_loc, - ".TB_PREF."sales_orders.delivery_date, - ".TB_PREF."sales_order_details.stk_code, - ".TB_PREF."stock_master.description, - ".TB_PREF."stock_master.units, - ".TB_PREF."sales_order_details.quantity, - ".TB_PREF."sales_order_details.qty_sent - FROM ".TB_PREF."sales_orders - INNER JOIN ".TB_PREF."sales_order_details - ON ".TB_PREF."sales_orders.order_no = ".TB_PREF."sales_order_details.order_no - INNER JOIN ".TB_PREF."stock_master - ON ".TB_PREF."sales_order_details.stk_code = ".TB_PREF."stock_master.stock_id - WHERE ".TB_PREF."sales_orders.ord_date >='$fromdate' - AND ".TB_PREF."sales_orders.ord_date <='$todate'"; + $sql= "SELECT sorder.order_no, + sorder.debtor_no, + sorder.branch_code, + sorder.customer_ref, + sorder.ord_date, + sorder.from_stk_loc, + sorder.delivery_date, + line.stk_code, + item.description, + item.units, + line.quantity, + line.qty_sent + FROM ".TB_PREF."sales_orders sorder + INNER JOIN ".TB_PREF."sales_order_details line + ON sorder.order_no = line.order_no + AND sorder.trans_type = line.trans_type + AND sorder.trans_type = ".ST_SALESORDER." + INNER JOIN ".TB_PREF."stock_master item + ON line.stk_code = item.stock_id + WHERE sorder.ord_date >='$fromdate' + AND sorder.ord_date <='$todate'"; if ($category > 0) - $sql .= " AND ".TB_PREF."stock_master.category_id=$category"; + $sql .= " AND item.category_id=".db_escape($category); if ($location != null) - $sql .= " AND ".TB_PREF."sales_orders.from_stk_loc='$location'"; + $sql .= " AND sorder.from_stk_loc=".db_escape($location); if ($backorder) - $sql .= "AND ".TB_PREF."sales_order_details.quantity - ".TB_PREF."sales_order_details.qty_sent > 0"; - $sql .= " ORDER BY ".TB_PREF."sales_orders.order_no"; + $sql .= " AND line.quantity - line.qty_sent > 0"; + $sql .= " ORDER BY sorder.order_no"; return db_query($sql, "Error getting order details"); } @@ -77,15 +79,17 @@ function print_order_status_list() $location = $_POST['PARAM_3']; $backorder = $_POST['PARAM_4']; $comments = $_POST['PARAM_5']; - $destination = $_POST['PARAM_6']; + $orientation = $_POST['PARAM_6']; + $destination = $_POST['PARAM_7']; if ($destination) include_once($path_to_root . "/reporting/includes/excel_report.inc"); else include_once($path_to_root . "/reporting/includes/pdf_report.inc"); + $orientation = ($orientation ? 'L' : 'P'); - if ($category == reserved_words::get_all_numeric()) + if ($category == ALL_NUMERIC) $category = 0; - if ($location == reserved_words::get_all()) + if ($location == ALL_TEXT) $location = null; if ($category == 0) $cat = _('All'); @@ -94,7 +98,7 @@ function print_order_status_list() if ($location == null) $loc = _('All'); else - $loc = $location; + $loc = get_location_name($location); if ($backorder == 0) $back = _('All Orders'); else @@ -107,7 +111,7 @@ function print_order_status_list() $aligns = array('left', 'left', 'right', 'right', 'right', 'right', 'right'); - $headers = array(_('Code'), _('Description'), _('Ordered'), _('Invoiced'), + $headers = array(_('Code'), _('Description'), _('Ordered'), _('Delivered'), _('Outstanding'), ''); $params = array( 0 => $comments, @@ -116,25 +120,22 @@ function print_order_status_list() 3 => array( 'text' => _('Location'), 'from' => $loc, 'to' => ''), 4 => array( 'text' => _('Selection'),'from' => $back,'to' => '')); - $cols2 = $cols; $aligns2 = $aligns; - $rep = new FrontReport(_('Order Status Listing'), "OrderStatusListing", user_pagesize()); + $rep = new FrontReport(_('Order Status Listing'), "OrderStatusListing", user_pagesize(), 9, $orientation); + if ($orientation == 'L') + recalculate_cols($cols); + $cols2 = $cols; $rep->Font(); $rep->Info($params, $cols, $headers, $aligns, $cols2, $headers2, $aligns2); - $rep->Header(); + $rep->NewPage(); $orderno = 0; $result = GetSalesOrders($from, $to, $category, $location, $backorder); while ($myrow=db_fetch($result)) { - if ($rep->row < $rep->bottomMargin + (2 * $rep->lineHeight)) - { - $orderno = 0; - $rep->Header(); - } $rep->NewLine(0, 2, false, $orderno); if ($orderno != $myrow['order_no']) { @@ -166,14 +167,8 @@ function print_order_status_list() $rep->Font(); } $rep->NewLine(); - if ($rep->row < $rep->bottomMargin + (2 * $rep->lineHeight)) - { - $orderno = 0; - $rep->Header(); - } } $rep->Line($rep->row); $rep->End(); } -?> \ No newline at end of file