Credit Invoice report moved to separate file.
authorJanusz Dobrowolski <janusz@frontaccouting.eu>
Thu, 17 Mar 2011 11:37:13 +0000 (12:37 +0100)
committerJanusz Dobrowolski <janusz@frontaccouting.eu>
Thu, 17 Mar 2011 11:37:13 +0000 (12:37 +0100)
reporting/includes/reporting.inc
reporting/includes/reports_classes.inc
reporting/rep107.php
reporting/rep113.php [new file with mode: 0644]
reporting/reports_main.php
sales/view/view_sales_order.php

index 9491c0c04b799b85bf6aa95f22e2a43e0f74ac3d..8dc119f6629dbd1cb924bf5aec88a44264511c8e 100644 (file)
@@ -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, 
index f9d49d788ff02e834a8cf82a18847885c1aaabd5..a402e5f30fd1e5bd4dd89ce40999d6e21d192426 100644 (file)
@@ -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':
index 1f081ee2204be4cbf17923a039d7a069750b0b10..3401320ed07d763c1a225e51fc6f54b0d3dba6c3 100644 (file)
@@ -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 (file)
index 0000000..3c140ea
--- /dev/null
@@ -0,0 +1,214 @@
+<?php
+/**********************************************************************
+    Copyright (C) FrontAccounting, LLC.
+       Released under the terms of the GNU General Public License, GPL, 
+       as published by the Free Software Foundation, either version 3 
+       of the License, or (at your option) any later version.
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+    See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
+***********************************************************************/
+$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
index 4060e9562f867a2f942eefc985e4c60aec684aca..379041690edd406ce4cfd94e23793db064d8abc2 100644 (file)
@@ -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',
index ec2626892b6e945aa6d6a6c50125aec8e727082f..405f1d6653589024b7e0fe315783a511644136f6 100644 (file)
@@ -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 "<tr valign=top><td>";
-display_heading2(_("Order Information"));
+
 if ($_GET['trans_type'] != ST_SALESQUOTE)
 {
+       echo "<tr valign=top><td>";
+       display_heading2(_("Order Information"));
        echo "</td><td>";
        display_heading2(_("Deliveries"));
        echo "</td><td>";
        display_heading2(_("Invoices/Credits"));
+       echo "</td></tr>";
 }      
-echo "</td></tr>";
 
 echo "<tr valign=top><td>";