From 7ff72280e015c920df41faad255d19173bf4f141 Mon Sep 17 00:00:00 2001 From: Janusz Dobrowolski Date: Thu, 17 Mar 2011 12:37:13 +0100 Subject: [PATCH] Credit Invoice report moved to separate file. --- reporting/includes/reporting.inc | 2 +- reporting/includes/reports_classes.inc | 11 +- reporting/rep107.php | 44 ++--- reporting/rep113.php | 214 +++++++++++++++++++++++++ reporting/reports_main.php | 15 +- sales/view/view_sales_order.php | 7 +- 6 files changed, 250 insertions(+), 43 deletions(-) create mode 100644 reporting/rep113.php diff --git a/reporting/includes/reporting.inc b/reporting/includes/reporting.inc index 9491c0c0..8dc119f6 100644 --- a/reporting/includes/reporting.inc +++ b/reporting/includes/reporting.inc @@ -56,7 +56,7 @@ function print_document_link($doc_no, $link_text, $link=true, $type_no, break; case ST_SALESINVOICE : // Sales Invoice case ST_CUSTCREDIT : // Customer Credit Note - $rep = 107; + $rep = $type_no==ST_CUSTCREDIT ? 113 : 107; // from, to, currency, bank acc, email, paylink, comments, type $ar = array( 'PARAM_0' => $doc_no, diff --git a/reporting/includes/reports_classes.inc b/reporting/includes/reports_classes.inc index f9d49d78..a402e5f3 100644 --- a/reporting/includes/reports_classes.inc +++ b/reporting/includes/reports_classes.inc @@ -301,11 +301,18 @@ class BoxReports case 'INVOICE': $IV = $type_shortcuts[ST_SALESINVOICE]; + $ref = ($print_invoice_no == 1 ? "trans_no" : "reference"); + $sql = "SELECT concat(".TB_PREF."debtor_trans.trans_no, '-', + ".TB_PREF."debtor_trans.type) AS TNO, concat('$IV ', ".TB_PREF."debtor_trans.$ref,' ', ".TB_PREF."debtors_master.name) as IName + FROM ".TB_PREF."debtors_master, ".TB_PREF."debtor_trans WHERE type=".ST_SALESINVOICE." AND ".TB_PREF."debtors_master.debtor_no=".TB_PREF."debtor_trans.debtor_no ORDER BY ".TB_PREF."debtor_trans.trans_no DESC"; + return combo_input($name, '', $sql, 'TNO', 'IName',array('order'=>false)); + + case 'CREDIT': $CN = $type_shortcuts[ST_CUSTCREDIT]; $ref = ($print_invoice_no == 1 ? "trans_no" : "reference"); $sql = "SELECT concat(".TB_PREF."debtor_trans.trans_no, '-', - ".TB_PREF."debtor_trans.type) AS TNO, concat(".TB_PREF."debtor_trans.$ref, if (type=".ST_SALESINVOICE.", ' $IV ', ' $CN '), ".TB_PREF."debtors_master.name) as IName - FROM ".TB_PREF."debtors_master, ".TB_PREF."debtor_trans WHERE (type=".ST_SALESINVOICE." OR type=".ST_CUSTCREDIT.") AND ".TB_PREF."debtors_master.debtor_no=".TB_PREF."debtor_trans.debtor_no ORDER BY ".TB_PREF."debtor_trans.trans_no DESC"; + ".TB_PREF."debtor_trans.type) AS TNO, concat('$CN ', ".TB_PREF."debtor_trans.$ref,' ', ".TB_PREF."debtors_master.name) as IName + FROM ".TB_PREF."debtors_master, ".TB_PREF."debtor_trans WHERE type=".ST_CUSTCREDIT." AND ".TB_PREF."debtors_master.debtor_no=".TB_PREF."debtor_trans.debtor_no ORDER BY ".TB_PREF."debtor_trans.trans_no DESC"; return combo_input($name, '', $sql, 'TNO', 'IName',array('order'=>false)); case 'DELIVERY': diff --git a/reporting/rep107.php b/reporting/rep107.php index 1f081ee2..3401320e 100644 --- a/reporting/rep107.php +++ b/reporting/rep107.php @@ -72,48 +72,33 @@ function print_invoices() for ($i = $fno[0]; $i <= $tno[0]; $i++) { - for ($j = ST_SALESINVOICE; $j <= ST_CUSTCREDIT; $j++) - { - if (isset($_POST['PARAM_6']) && $_POST['PARAM_6'] != $j) + if (!exists_customer_trans(ST_SALESINVOICE, $i)) continue; - if (!exists_customer_trans($j, $i)) - continue; - $sign = $j==ST_SALESINVOICE ? 1 : -1; - $myrow = get_customer_trans($i, $j); + $sign = 1; + $myrow = get_customer_trans($i, ST_SALESINVOICE); $baccount = get_default_bank_account($myrow['curr_code']); $params['bankaccount'] = $baccount['id']; $branch = get_branch($myrow["branch_code"]); $branch['disable_branch'] = $paylink; // helper - if ($j == ST_SALESINVOICE) - $sales_order = get_sales_order_header($myrow["order_"], ST_SALESORDER); - else - $sales_order = null; + $sales_order = get_sales_order_header($myrow["order_"], ST_SALESORDER); if ($email == 1) { $rep = new FrontReport("", "", user_pagesize()); $rep->SetHeaderType('Header2'); $rep->currency = $cur; $rep->Font(); - if ($j == ST_SALESINVOICE) - { - $rep->title = _('INVOICE'); - $rep->filename = "Invoice" . $myrow['reference'] . ".pdf"; - } - else - { - $rep->title = _('CREDIT NOTE'); - $rep->filename = "CreditNote" . $myrow['reference'] . ".pdf"; - } + $rep->title = _('INVOICE'); + $rep->filename = "Invoice" . $myrow['reference'] . ".pdf"; $rep->Info($params, $cols, null, $aligns); } else - $rep->title = ($j == ST_SALESINVOICE) ? _('INVOICE') : _('CREDIT NOTE'); + $rep->title = _('INVOICE'); $contacts = get_branch_contacts($branch['branch_code'], 'invoice', $branch['debtor_no']); - $rep->SetCommonData($myrow, $branch, $sales_order, $baccount, $j, $contacts); + $rep->SetCommonData($myrow, $branch, $sales_order, $baccount, ST_SALESINVOICE, $contacts); $rep->NewPage(); - $result = get_customer_trans_details($j, $i); + $result = get_customer_trans_details(ST_SALESINVOICE, $i); $SubTotal = 0; while ($myrow2=db_fetch($result)) { @@ -146,7 +131,7 @@ function print_invoices() $rep->NewPage(); } - $comments = get_comments($j, $i); + $comments = get_comments(ST_SALESINVOICE, $i); if ($comments && db_num_rows($comments)) { $rep->NewLine(); @@ -159,7 +144,7 @@ function print_invoices() $rep->row = $rep->bottomMargin + (15 * $rep->lineHeight); $linetype = true; - $doctype = $j; + $doctype = ST_SALESINVOICE; include($path_to_root . "/reporting/includes/doctext.inc"); $rep->TextCol(3, 6, $doc_Sub_total, -2); @@ -168,7 +153,7 @@ function print_invoices() $rep->TextCol(3, 6, $doc_Shipping, -2); $rep->TextCol(6, 7, $DisplayFreight, -2); $rep->NewLine(); - $tax_items = get_trans_tax_details($j, $i); + $tax_items = get_trans_tax_details(ST_SALESINVOICE, $i); $first = true; while ($tax_item = db_fetch($tax_items)) { @@ -209,7 +194,7 @@ function print_invoices() $rep->Font('bold'); $rep->TextCol(3, 6, $doc_TOTAL_INVOICE, - 2); $rep->TextCol(6, 7, $DisplayTotal, -2); - $words = price_in_words($myrow['Total'], $j); + $words = price_in_words($myrow['Total'], ST_SALESINVOICE); if ($words != "") { $rep->NewLine(1); @@ -219,9 +204,8 @@ function print_invoices() if ($email == 1) { $myrow['dimension_id'] = $paylink; // helper for pmt link - $rep->End($email, $doc_Invoice_no . " " . $myrow['reference'], $myrow, $j); + $rep->End($email, $doc_Invoice_no . " " . $myrow['reference'], $myrow, ST_SALESINVOICE); } - } } if ($email == 0) $rep->End(); diff --git a/reporting/rep113.php b/reporting/rep113.php new file mode 100644 index 00000000..3c140ea0 --- /dev/null +++ b/reporting/rep113.php @@ -0,0 +1,214 @@ +. +***********************************************************************/ +$page_security = $_POST['PARAM_0'] == $_POST['PARAM_1'] ? + 'SA_SALESTRANSVIEW' : 'SA_SALESBULKREP'; +// ---------------------------------------------------------------- +// $ Revision: 2.0 $ +// Creator: Joe Hunt +// date_: 2005-05-19 +// Title: Print Credit Notes +// ---------------------------------------------------------------- +$path_to_root=".."; + +include_once($path_to_root . "/includes/session.inc"); +include_once($path_to_root . "/includes/date_functions.inc"); +include_once($path_to_root . "/includes/data_checks.inc"); +include_once($path_to_root . "/sales/includes/sales_db.inc"); + +//---------------------------------------------------------------------------------------------------- + +print_credits(); + +//---------------------------------------------------------------------------------------------------- + +function print_credits() +{ + global $path_to_root, $alternative_tax_include_on_docs, $suppress_tax_rates; + + include_once($path_to_root . "/reporting/includes/pdf_report.inc"); + + $from = $_POST['PARAM_0']; + $to = $_POST['PARAM_1']; + $currency = $_POST['PARAM_2']; + $email = $_POST['PARAM_3']; + $paylink = $_POST['PARAM_4']; + $comments = $_POST['PARAM_5']; + + if ($from == null) + $from = 0; + if ($to == null) + $to = 0; + $dec = user_price_dec(); + + $fno = explode("-", $from); + $tno = explode("-", $to); + + $cols = array(4, 60, 225, 300, 325, 385, 450, 515); + + // $headers in doctext.inc + $aligns = array('left', 'left', 'right', 'left', 'right', 'right', 'right'); + + $params = array('comments' => $comments); + + $cur = get_company_Pref('curr_default'); + + if ($email == 0) + { + $rep = new FrontReport(_('CREDIT NOTE'), "InvoiceBulk", user_pagesize()); + $rep->SetHeaderType('Header2'); + $rep->currency = $cur; + $rep->Font(); + $rep->Info($params, $cols, null, $aligns); + } + + for ($i = $fno[0]; $i <= $tno[0]; $i++) + { + if (!exists_customer_trans(ST_CUSTCREDIT, $i)) + continue; + $sign = -1; + $myrow = get_customer_trans($i, ST_CUSTCREDIT); + $baccount = get_default_bank_account($myrow['curr_code']); + $params['bankaccount'] = $baccount['id']; + + $branch = get_branch($myrow["branch_code"]); + $branch['disable_branch'] = $paylink; // helper + $sales_order = null; + if ($email == 1) + { + $rep = new FrontReport("", "", user_pagesize()); + $rep->SetHeaderType('Header2'); + $rep->currency = $cur; + $rep->Font(); + $rep->title = _('CREDIT NOTE'); + $rep->filename = "CreditNote" . $myrow['reference'] . ".pdf"; + $rep->Info($params, $cols, null, $aligns); + } + else + $rep->title = _('CREDIT NOTE'); + $contacts = get_branch_contacts($branch['branch_code'], 'invoice', $branch['debtor_no']); + $rep->SetCommonData($myrow, $branch, $sales_order, $baccount, ST_CUSTCREDIT, $contacts); + $rep->NewPage(); + + $result = get_customer_trans_details(ST_CUSTCREDIT, $i); + $SubTotal = 0; + while ($myrow2=db_fetch($result)) + { + if ($myrow2["quantity"] == 0) + continue; + + $Net = round2($sign * ((1 - $myrow2["discount_percent"]) * $myrow2["unit_price"] * $myrow2["quantity"]), + user_price_dec()); + $SubTotal += $Net; + $DisplayPrice = number_format2($myrow2["unit_price"],$dec); + $DisplayQty = number_format2($sign*$myrow2["quantity"],get_qty_dec($myrow2['stock_id'])); + $DisplayNet = number_format2($Net,$dec); + if ($myrow2["discount_percent"]==0) + $DisplayDiscount =""; + else + $DisplayDiscount = number_format2($myrow2["discount_percent"]*100,user_percent_dec()) . "%"; + $rep->TextCol(0, 1, $myrow2['stock_id'], -2); + $oldrow = $rep->row; + $rep->TextColLines(1, 2, $myrow2['StockDescription'], -2); + $newrow = $rep->row; + $rep->row = $oldrow; + $rep->TextCol(2, 3, $DisplayQty, -2); + $rep->TextCol(3, 4, $myrow2['units'], -2); + $rep->TextCol(4, 5, $DisplayPrice, -2); + $rep->TextCol(5, 6, $DisplayDiscount, -2); + $rep->TextCol(6, 7, $DisplayNet, -2); + $rep->row = $newrow; + //$rep->NewLine(1); + if ($rep->row < $rep->bottomMargin + (15 * $rep->lineHeight)) + $rep->NewPage(); + } + + $comments = get_comments(ST_CUSTCREDIT, $i); + if ($comments && db_num_rows($comments)) + { + $rep->NewLine(); + while ($comment=db_fetch($comments)) + $rep->TextColLines(0, 6, $comment['memo_'], -2); + } + + $DisplaySubTot = number_format2($SubTotal,$dec); + $DisplayFreight = number_format2($sign*$myrow["ov_freight"],$dec); + + $rep->row = $rep->bottomMargin + (15 * $rep->lineHeight); + $linetype = true; + $doctype = ST_CUSTCREDIT; + include($path_to_root . "/reporting/includes/doctext.inc"); + + $rep->TextCol(3, 6, $doc_Sub_total, -2); + $rep->TextCol(6, 7, $DisplaySubTot, -2); + $rep->NewLine(); + $rep->TextCol(3, 6, $doc_Shipping, -2); + $rep->TextCol(6, 7, $DisplayFreight, -2); + $rep->NewLine(); + $tax_items = get_trans_tax_details(ST_CUSTCREDIT, $i); + $first = true; + while ($tax_item = db_fetch($tax_items)) + { + $DisplayTax = number_format2($sign*$tax_item['amount'], $dec); + + if (isset($suppress_tax_rates) && $suppress_tax_rates == 1) + $tax_type_name = $tax_item['tax_type_name']; + else + $tax_type_name = $tax_item['tax_type_name']." (".$tax_item['rate']."%) "; + + if ($tax_item['included_in_price']) + { + if (isset($alternative_tax_include_on_docs) && $alternative_tax_include_on_docs == 1) + { + if ($first) + { + $rep->TextCol(3, 6, _("Total Tax Excluded"), -2); + $rep->TextCol(6, 7, number_format2($sign*$tax_item['net_amount'], $dec), -2); + $rep->NewLine(); + } + $rep->TextCol(3, 6, $tax_type_name, -2); + $rep->TextCol(6, 7, $DisplayTax, -2); + $first = false; + } + else + $rep->TextCol(3, 7, $doc_Included . " " . $tax_type_name . $doc_Amount . ": " . $DisplayTax, -2); + } + else + { + $rep->TextCol(3, 6, $tax_type_name, -2); + $rep->TextCol(6, 7, $DisplayTax, -2); + } + $rep->NewLine(); + } + $rep->NewLine(); + $DisplayTotal = number_format2($sign*($myrow["ov_freight"] + $myrow["ov_gst"] + + $myrow["ov_amount"]+$myrow["ov_freight_tax"]),$dec); + $rep->Font('bold'); + $rep->TextCol(3, 6, $doc_TOTAL_INVOICE, - 2); + $rep->TextCol(6, 7, $DisplayTotal, -2); + $words = price_in_words($myrow['Total'], ST_CUSTCREDIT); + if ($words != "") + { + $rep->NewLine(1); + $rep->TextCol(1, 7, $myrow['curr_code'] . ": " . $words, - 2); + } + $rep->Font(); + if ($email == 1) + { + $myrow['dimension_id'] = $paylink; // helper for pmt link + $rep->End($email, $doc_Invoice_no . " " . $myrow['reference'], $myrow, ST_CUSTCREDIT); + } + } + if ($email == 0) + $rep->End(); +} + +?> \ No newline at end of file diff --git a/reporting/reports_main.php b/reporting/reports_main.php index 4060e956..37904169 100644 --- a/reporting/reports_main.php +++ b/reporting/reports_main.php @@ -77,13 +77,20 @@ $reports->addReport(RC_CUSTOMER, 106, _('&Salesman Listing'), _('Summary Only') => 'YES_NO', _('Comments') => 'TEXTBOX', _('Destination') => 'DESTINATION')); -$reports->addReport(RC_CUSTOMER, 107, _('Print &Invoices/Credit Notes'), +$reports->addReport(RC_CUSTOMER, 107, _('Print &Invoices'), array( _('From') => 'INVOICE', _('To') => 'INVOICE', _('Currency Filter') => 'CURRENCY', _('email Customers') => 'YES_NO', _('Payment Link') => 'PAYMENT_LINK', _('Comments') => 'TEXTBOX')); +$reports->addReport(RC_CUSTOMER, 113, _('Print &Credit Notes'), + array( _('From') => 'CREDIT', + _('To') => 'CREDIT', + _('Currency Filter') => 'CURRENCY', + _('email Customers') => 'YES_NO', + _('Payment Link') => 'PAYMENT_LINK', + _('Comments') => 'TEXTBOX')); $reports->addReport(RC_CUSTOMER, 110, _('Print &Deliveries'), array( _('From') => 'DELIVERY', _('To') => 'DELIVERY', @@ -103,12 +110,6 @@ $reports->addReport(RC_CUSTOMER, 109, _('&Print Sales Orders'), _('Email Customers') => 'YES_NO', _('Print as Quote') => 'YES_NO', _('Comments') => 'TEXTBOX')); -$reports->addReport(RC_CUSTOMER, 111, _('&Print Sales Quotations'), - array( _('From') => 'QUOTATIONS', - _('To') => 'QUOTATIONS', - _('Currency Filter') => 'CURRENCY', - _('Email Customers') => 'YES_NO', - _('Comments') => 'TEXTBOX')); $reports->addReport(RC_CUSTOMER, 112, _('Print Receipts'), array( _('From') => 'RECEIPT', _('To') => 'RECEIPT', diff --git a/sales/view/view_sales_order.php b/sales/view/view_sales_order.php index ec262689..405f1d66 100644 --- a/sales/view/view_sales_order.php +++ b/sales/view/view_sales_order.php @@ -42,16 +42,17 @@ if (isset($_SESSION['View'])) $_SESSION['View'] = new Cart($_GET['trans_type'], $_GET['trans_no']); start_table(TABLESTYLE2, "width=95%", 5); -echo ""; -display_heading2(_("Order Information")); + if ($_GET['trans_type'] != ST_SALESQUOTE) { + echo ""; + display_heading2(_("Order Information")); echo ""; display_heading2(_("Deliveries")); echo ""; display_heading2(_("Invoices/Credits")); + echo ""; } -echo ""; echo ""; -- 2.30.2