From: Joe Hunt Date: Sat, 11 Jul 2009 09:19:25 +0000 (+0000) Subject: Improved Inventory Sales Report. Now by Customer and quantities as well. X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=commitdiff_plain;h=c6b3d994c1d9b59bac118d7477c98eda2cf1350a;p=textcart.git Improved Inventory Sales Report. Now by Customer and quantities as well. --- diff --git a/CHANGELOG.txt b/CHANGELOG.txt index fa84db2..09aa4c3 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -19,6 +19,10 @@ Legend: ! -> Note $ -> Affected files +11-Jul-2009 Joe Hunt +! Improved Inventory Sales Report. Now by Customer and quantities as well. +$ /reporting/rep304.php + 10-Jul-2009 Joe Hunt # [0000142] Purchase Order use the same header as Sales Order $ /reporting/includes/doctext.inc diff --git a/reporting/rep304.php b/reporting/rep304.php index 8929b1e..9c59b7b 100644 --- a/reporting/rep304.php +++ b/reporting/rep304.php @@ -39,15 +39,19 @@ function getTransactions($category, $location, $from, $to) ".TB_PREF."stock_master.description, ".TB_PREF."stock_moves.loc_code, ".TB_PREF."debtor_trans.debtor_no, + ".TB_PREF."debtors_master.name AS debtor_name, ".TB_PREF."stock_moves.tran_date, - -".TB_PREF."stock_moves.qty*".TB_PREF."stock_moves.price*(1-".TB_PREF."stock_moves.discount_percent) AS amt, - -".TB_PREF."stock_moves.qty *(".TB_PREF."stock_master.material_cost + ".TB_PREF."stock_master.labour_cost + ".TB_PREF."stock_master.overhead_cost) AS cost + SUM(-".TB_PREF."stock_moves.qty) AS qty, + SUM(-".TB_PREF."stock_moves.qty*".TB_PREF."stock_moves.price*(1-".TB_PREF."stock_moves.discount_percent)) AS amt, + SUM(-".TB_PREF."stock_moves.qty *(".TB_PREF."stock_master.material_cost + ".TB_PREF."stock_master.labour_cost + ".TB_PREF."stock_master.overhead_cost)) AS cost FROM ".TB_PREF."stock_master, ".TB_PREF."stock_category, ".TB_PREF."debtor_trans, + ".TB_PREF."debtors_master, ".TB_PREF."stock_moves WHERE ".TB_PREF."stock_master.stock_id=".TB_PREF."stock_moves.stock_id AND ".TB_PREF."stock_master.category_id=".TB_PREF."stock_category.category_id + AND ".TB_PREF."debtor_trans.debtor_no=".TB_PREF."debtors_master.debtor_no AND ".TB_PREF."stock_moves.type=".TB_PREF."debtor_trans.type AND ".TB_PREF."stock_moves.trans_no=".TB_PREF."debtor_trans.trans_no @@ -60,8 +64,8 @@ function getTransactions($category, $location, $from, $to) if ($location != 'all') $sql .= " AND ".TB_PREF."stock_moves.loc_code = '$location'"; //$sql .= " AND SUM(".TB_PREF."stock_moves.qty) != 0 - $sql .= " ORDER BY ".TB_PREF."stock_master.category_id, - ".TB_PREF."stock_master.stock_id"; + $sql .= " GROUP BY ".TB_PREF."stock_master.stock_id, ".TB_PREF."debtors_master.name ORDER BY ".TB_PREF."stock_master.category_id, + ".TB_PREF."stock_master.stock_id, ".TB_PREF."debtors_master.name"; return db_query($sql,"No transactions were returned"); } @@ -100,11 +104,11 @@ function print_inventory_sales() else $loc = get_location_name($location); - $cols = array(0, 100, 250, 350, 450, 515); + $cols = array(0, 75, 175, 250, 300, 375, 450, 515); - $headers = array(_('Category'), '', _('Sales'), _('Cost'), _('Contribution')); + $headers = array(_('Category'), '', _('Customer'), _('Qty'), _('Sales'), _('Cost'), _('Contribution')); - $aligns = array('left', 'left', 'right', 'right', 'right'); + $aligns = array('left', 'left', 'left', 'right', 'right', 'right', 'right'); $params = array( 0 => $comments, 1 => array('text' => _('Period'),'from' => $from, 'to' => $to), @@ -121,8 +125,7 @@ function print_inventory_sales() $total = $grandtotal = 0.0; $total1 = $grandtotal1 = 0.0; $total2 = $grandtotal2 = 0.0; - $amt = $cost = $cb = 0; - $catt = $stock_id = $stock_desc = ''; + $catt = ''; while ($trans=db_fetch($res)) { if ($catt != $trans['cat_description']) @@ -134,9 +137,9 @@ function print_inventory_sales() $rep->NewLine(2, 3); $rep->TextCol(0, 2, _('Total')); } - $rep->AmountCol(2, 3, $total, $dec); - $rep->AmountCol(3, 4, $total1, $dec); - $rep->AmountCol(4, 5, $total2, $dec); + $rep->AmountCol(4, 5, $total, $dec); + $rep->AmountCol(5, 6, $total1, $dec); + $rep->AmountCol(6, 7, $total2, $dec); if ($detail) { $rep->Line($rep->row - 2); @@ -146,38 +149,29 @@ function print_inventory_sales() $total = $total1 = $total2 = 0.0; } $rep->TextCol(0, 1, $trans['category_id']); - $rep->TextCol(1, 2, $trans['cat_description']); + $rep->TextCol(1, 6, $trans['cat_description']); $catt = $trans['cat_description']; if ($detail) $rep->NewLine(); } - if ($stock_id != $trans['stock_id']) - { - if ($stock_id != '') - { - if ($detail) - { - $rep->NewLine(); - $rep->fontsize -= 2; - $rep->TextCol(0, 1, $stock_id); - $rep->TextCol(1, 2, $stock_desc); - $rep->AmountCol(2, 3, $amt, $dec); - $rep->AmountCol(3, 4, $cost, $dec); - $rep->AmountCol(4, 5, $cb, $dec); - $rep->fontsize += 2; - } - $amt = $cost = $cb = 0; - } - $stock_id = $trans['stock_id']; - $stock_desc = $trans['description']; - } + $curr = get_customer_currency($trans['debtor_no']); $rate = get_exchange_rate_from_home_currency($curr, sql2date($trans['tran_date'])); $trans['amt'] *= $rate; - $amt += $trans['amt']; - $cost += $trans['cost']; $cb1 = $trans['amt'] - $trans['cost']; - $cb += $cb1; + if ($detail) + { + $rep->NewLine(); + $rep->fontsize -= 2; + $rep->TextCol(0, 1, $trans['stock_id']); + $rep->TextCol(1, 2, $trans['description']); + $rep->TextCol(2, 3, $trans['debtor_name']); + $rep->AmountCol(3, 4, $trans['qty'], get_qty_dec($trans['stock_id'])); + $rep->AmountCol(4, 5, $trans['amt'], $dec); + $rep->AmountCol(5, 6, $trans['cost'], $dec); + $rep->AmountCol(6, 7, $cb1, $dec); + $rep->fontsize += 2; + } $total += $trans['amt']; $total1 += $trans['cost']; $total2 += $cb1; @@ -187,31 +181,22 @@ function print_inventory_sales() } if ($detail) { - $rep->NewLine(); - $rep->fontsize -= 2; - $rep->TextCol(0, 1, $stock_id); - $rep->TextCol(1, 2, $stock_desc); - $rep->AmountCol(2, 3, $amt, $dec); - $rep->AmountCol(3, 4, $cost, $dec); - $rep->AmountCol(4, 5, $cb, $dec); - $rep->fontsize += 2; - $rep->NewLine(2, 3); $rep->TextCol(0, 2, _('Total')); } - $rep->AmountCol(2, 3, $total, $dec); - $rep->AmountCol(3, 4, $total1, $dec); - $rep->AmountCol(4, 5, $total2, $dec); + $rep->AmountCol(4, 5, $total, $dec); + $rep->AmountCol(5, 6, $total1, $dec); + $rep->AmountCol(6, 7, $total2, $dec); if ($detail) { $rep->Line($rep->row - 2); $rep->NewLine(); } $rep->NewLine(2, 1); - $rep->TextCol(0, 2, _('Grand Total')); - $rep->AmountCol(2, 3, $grandtotal, $dec); - $rep->AmountCol(3, 4, $grandtotal1, $dec); - $rep->AmountCol(4, 5, $grandtotal2, $dec); + $rep->TextCol(0, 4, _('Grand Total')); + $rep->AmountCol(4, 5, $grandtotal, $dec); + $rep->AmountCol(5, 6, $grandtotal1, $dec); + $rep->AmountCol(6, 7, $grandtotal2, $dec); $rep->Line($rep->row - 4); $rep->NewLine();