function print_deliveries() { global $path_to_root, $packing_slip, $alternative_tax_include_on_docs, $suppress_tax_rates, $no_zero_lines_amount; include_once $path_to_root . "/reporting/includes/pdf_report.inc"; $from = $_POST['PARAM_0']; $to = $_POST['PARAM_1']; $email = $_POST['PARAM_2']; $packing_slip = $_POST['PARAM_3']; $comments = $_POST['PARAM_4']; $orientation = $_POST['PARAM_5']; if (!$from || !$to) { return; } $orientation = $orientation ? 'L' : 'P'; $dec = user_price_dec(); $fno = explode("-", $from); $tno = explode("-", $to); $from = min($fno[0], $tno[0]); $to = max($fno[0], $tno[0]); $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) { if ($packing_slip == 0) { $rep = new FrontReport(_('DELIVERY'), "DeliveryNoteBulk", user_pagesize(), 9, $orientation); } else { $rep = new FrontReport(_('PACKING SLIP'), "PackingSlipBulk", user_pagesize(), 9, $orientation); } } if ($orientation == 'L') { recalculate_cols($cols); } for ($i = $from; $i <= $to; $i++) { if (!exists_customer_trans(ST_CUSTDELIVERY, $i)) { continue; } $myrow = get_customer_trans($i, ST_CUSTDELIVERY); $branch = get_branch($myrow["branch_code"]); $sales_order = get_sales_order_header($myrow["order_"], ST_SALESORDER); // ? if ($email == 1) { $rep = new FrontReport("", "", user_pagesize(), 9, $orientation); if ($packing_slip == 0) { $rep->title = _('DELIVERY NOTE'); $rep->filename = "Delivery" . $myrow['reference'] . ".pdf"; } else { $rep->title = _('PACKING SLIP'); $rep->filename = "Packing_slip" . $myrow['reference'] . ".pdf"; } } $rep->SetHeaderType('Header2'); $rep->currency = $cur; $rep->Font(); $rep->Info($params, $cols, null, $aligns); $contacts = get_branch_contacts($branch['branch_code'], 'delivery', $branch['debtor_no'], true); $rep->SetCommonData($myrow, $branch, $sales_order, '', ST_CUSTDELIVERY, $contacts); $rep->NewPage(); $result = get_customer_trans_details(ST_CUSTDELIVERY, $i); $SubTotal = 0; while ($myrow2 = db_fetch($result)) { if ($myrow2["quantity"] == 0) { continue; } $Net = round2((1 - $myrow2["discount_percent"]) * $myrow2["unit_price"] * $myrow2["quantity"], user_price_dec()); $SubTotal += $Net; $DisplayPrice = number_format2($myrow2["unit_price"], $dec); $DisplayQty = number_format2($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; if ($Net != 0.0 || !is_service($myrow2['mb_flag']) || !isset($no_zero_lines_amount) || $no_zero_lines_amount == 0) { $rep->TextCol(2, 3, $DisplayQty, -2); $rep->TextCol(3, 4, $myrow2['units'], -2); if ($packing_slip == 0) { $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(); } } $memo = get_comments_string(ST_CUSTDELIVERY, $i); if ($memo != "") { $rep->NewLine(); $rep->TextColLines(1, 5, $memo, -2); } $DisplaySubTot = number_format2($SubTotal, $dec); $DisplayFreight = number_format2($myrow["ov_freight"], $dec); $rep->row = $rep->bottomMargin + 15 * $rep->lineHeight; $doctype = ST_CUSTDELIVERY; if ($packing_slip == 0) { $rep->TextCol(3, 6, _("Sub-total"), -2); $rep->TextCol(6, 7, $DisplaySubTot, -2); $rep->NewLine(); $rep->TextCol(3, 6, _("Shipping"), -2); $rep->TextCol(6, 7, $DisplayFreight, -2); $rep->NewLine(); $tax_items = get_trans_tax_details(ST_CUSTDELIVERY, $i); $first = true; while ($tax_item = db_fetch($tax_items)) { if ($tax_item['amount'] == 0) { continue; } $DisplayTax = number_format2($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($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, _("Included") . " " . $tax_type_name . _("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($myrow["ov_freight"] + $myrow["ov_freight_tax"] + $myrow["ov_gst"] + $myrow["ov_amount"], $dec); $rep->Font('bold'); $rep->TextCol(3, 6, _("TOTAL DELIVERY INCL. VAT"), -2); $rep->TextCol(6, 7, $DisplayTotal, -2); $words = price_in_words($myrow['Total'], ST_CUSTDELIVERY); if ($words != "") { $rep->NewLine(1); $rep->TextCol(1, 7, $myrow['curr_code'] . ": " . $words, -2); } $rep->Font(); } if ($email == 1) { $rep->End($email); } } if ($email == 0) { $rep->End(); } }
function print_po() { global $path_to_root, $show_po_item_codes; 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']; $comments = $_POST['PARAM_4']; $orientation = $_POST['PARAM_5']; if (!$from || !$to) { return; } $orientation = $orientation ? 'L' : 'P'; $dec = user_price_dec(); $cols = array(4, 60, 225, 300, 340, 385, 450, 515); // $headers in doctext.inc $aligns = array('left', 'left', 'left', 'right', 'left', 'right', 'right'); $params = array('comments' => $comments); $cur = get_company_Pref('curr_default'); if ($email == 0) { $rep = new FrontReport(_('PURCHASE ORDER'), "PurchaseOrderBulk", user_pagesize(), 9, $orientation); } if ($orientation == 'L') { recalculate_cols($cols); } for ($i = $from; $i <= $to; $i++) { $myrow = get_po($i); $baccount = get_default_bank_account($myrow['curr_code']); $params['bankaccount'] = $baccount['id']; if ($email == 1) { $rep = new FrontReport("", "", user_pagesize(), 9, $orientation); $rep->title = _('PURCHASE ORDER'); $rep->filename = "PurchaseOrder" . $i . ".pdf"; } $rep->SetHeaderType('Header2'); $rep->currency = $cur; $rep->Font(); $rep->Info($params, $cols, null, $aligns); $contacts = get_supplier_contacts($myrow['supplier_id'], 'order'); $rep->SetCommonData($myrow, null, $myrow, $baccount, ST_PURCHORDER, $contacts); $rep->NewPage(); $result = get_po_details($i); $SubTotal = 0; $items = $prices = array(); while ($myrow2 = db_fetch($result)) { $data = get_purchase_data($myrow['supplier_id'], $myrow2['item_code']); if ($data !== false) { if ($data['supplier_description'] != "") { $myrow2['description'] = $data['supplier_description']; } if ($data['suppliers_uom'] != "") { $myrow2['units'] = $data['suppliers_uom']; } if ($data['conversion_factor'] != 1) { $myrow2['unit_price'] = round2($myrow2['unit_price'] * $data['conversion_factor'], user_price_dec()); $myrow2['quantity_ordered'] = round2($myrow2['quantity_ordered'] / $data['conversion_factor'], user_qty_dec()); } } $Net = round2($myrow2["unit_price"] * $myrow2["quantity_ordered"], user_price_dec()); $prices[] = $Net; $items[] = $myrow2['item_code']; $SubTotal += $Net; $dec2 = 0; $DisplayPrice = price_decimal_format($myrow2["unit_price"], $dec2); $DisplayQty = number_format2($myrow2["quantity_ordered"], get_qty_dec($myrow2['item_code'])); $DisplayNet = number_format2($Net, $dec); if ($show_po_item_codes) { $rep->TextCol(0, 1, $myrow2['item_code'], -2); $rep->TextCol(1, 2, $myrow2['description'], -2); } else { $rep->TextCol(0, 2, $myrow2['description'], -2); } $rep->TextCol(2, 3, sql2date($myrow2['delivery_date']), -2); $rep->TextCol(3, 4, $DisplayQty, -2); $rep->TextCol(4, 5, $myrow2['units'], -2); $rep->TextCol(5, 6, $DisplayPrice, -2); $rep->TextCol(6, 7, $DisplayNet, -2); $rep->NewLine(1); if ($rep->row < $rep->bottomMargin + 15 * $rep->lineHeight) { $rep->NewPage(); } } if ($myrow['comments'] != "") { $rep->NewLine(); $rep->TextColLines(1, 5, $myrow['comments'], -2); } $DisplaySubTot = number_format2($SubTotal, $dec); $rep->row = $rep->bottomMargin + 15 * $rep->lineHeight; $doctype = ST_PURCHORDER; $rep->TextCol(3, 6, _("Sub-total"), -2); $rep->TextCol(6, 7, $DisplaySubTot, -2); $rep->NewLine(); $tax_items = get_tax_for_items($items, $prices, 0, $myrow['tax_group_id'], $myrow['tax_included'], null); $first = true; foreach ($tax_items as $tax_item) { if ($tax_item['Value'] == 0) { continue; } $DisplayTax = number_format2($tax_item['Value'], $dec); $tax_type_name = $tax_item['tax_type_name']; if ($myrow['tax_included']) { 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, _("Included") . " " . $tax_type_name . _("Amount") . ": " . $DisplayTax, -2); } } else { $SubTotal += $tax_item['Value']; $rep->TextCol(3, 6, $tax_type_name, -2); $rep->TextCol(6, 7, $DisplayTax, -2); } $rep->NewLine(); } $rep->NewLine(); $DisplayTotal = number_format2($SubTotal, $dec); $rep->Font('bold'); $rep->TextCol(3, 6, _("TOTAL PO"), -2); $rep->TextCol(6, 7, $DisplayTotal, -2); $words = price_in_words($SubTotal, ST_PURCHORDER); if ($words != "") { $rep->NewLine(1); $rep->TextCol(1, 7, $myrow['curr_code'] . ": " . $words, -2); } $rep->Font(); if ($email == 1) { $myrow['DebtorName'] = $myrow['supp_name']; if ($myrow['reference'] == "") { $myrow['reference'] = $myrow['order_no']; } $rep->End($email); } } if ($email == 0) { $rep->End(); } }
function print_invoices() { global $path_to_root, $alternative_tax_include_on_docs, $suppress_tax_rates, $no_zero_lines_amount; 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']; $pay_service = $_POST['PARAM_4']; $comments = $_POST['PARAM_5']; $orientation = $_POST['PARAM_6']; $TotalDiscount = 0; if (!$from || !$to) { return; } $orientation = $orientation ? 'L' : 'P'; $dec = user_price_dec(); $fno = explode("-", $from); $tno = explode("-", $to); $from = min($fno[0], $tno[0]); $to = max($fno[0], $tno[0]); $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(_('INVOICE'), "InvoiceBulk", user_pagesize(), 9, $orientation); } if ($orientation == 'L') { recalculate_cols($cols); } for ($i = $from; $i <= $to; $i++) { if (!exists_customer_trans(ST_SALESINVOICE, $i)) { continue; } $sign = 1; $myrow = get_customer_trans($i, ST_SALESINVOICE); $transId = get_payment_id($i); $urrow = get_customer_trans($transId['trans_no_from'], ST_CUSTPAYMENT); $baccount = get_default_bank_account($myrow['curr_code']); $params['bankaccount'] = $baccount['id']; $branch = get_branch($myrow["branch_code"]); $sales_order = get_sales_order_header($myrow["order_"], ST_SALESORDER); if ($email == 1) { $rep = new FrontReport("", "", user_pagesize(), 9, $orientation); $rep->title = _('INVOICE'); $rep->filename = "Invoice" . $myrow['reference'] . ".pdf"; } $rep->SetHeaderType('Header2'); $rep->currency = $cur; $rep->Font(); $rep->Info($params, $cols, null, $aligns); $contacts = get_branch_contacts($branch['branch_code'], 'invoice', $branch['debtor_no'], true); $baccount['payment_service'] = $pay_service; $rep->SetCommonData($myrow, $branch, $sales_order, $baccount, ST_SALESINVOICE, $contacts); $rep->NewPage(); $result = get_customer_trans_details(ST_SALESINVOICE, $i); // print_r($result); $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 = 0; } else { $DisplayDiscount = number_format2($myrow2["discount_percent"] * 100, user_percent_dec()) . "%"; } $rep->fontSize += 5; $rep->TextCol(0, 1, $myrow2['stock_id'], -2); $oldrow = $rep->row; $rep->TextColLines(1, 5, $myrow2['StockDescription'], -2); $newrow = $rep->row; $rep->row = $oldrow; if ($Net != 0.0 || !is_service($myrow2['mb_flag']) || !isset($no_zero_lines_amount) || $no_zero_lines_amount == 0) { //$rep->TextCol(2, 3, $DisplayQty, -2); //$rep->TextCol(3, 4, $myrow2['units'], -2); $rep->TextCol(5, 6, $DisplayPrice, -2); //$rep->TextCol(5, 6, $DisplayDiscount, -2); $rep->TextCol(6, 7, $DisplayNet, -2); $TotalDiscount += $DisplayPrice * ($DisplayDiscount / 100); } $rep->row = $newrow; //$rep->NewLine(1); if ($rep->row < $rep->bottomMargin + 15 * $rep->lineHeight) { $rep->NewPage(); } $rep->fontSize -= 5; } $memo = get_comments_string(ST_SALESINVOICE, $i); if ($memo != "") { $rep->NewLine(); $rep->TextColLines(1, 5, $memo, -2); } $DisplaySubTot = number_format2($SubTotal, $dec); $DisplayFreight = number_format2($sign * $myrow["ov_freight"], $dec); //$customer_record = get_customer_details($myrow['reference']); $rep->row = $rep->bottomMargin + 15 * $rep->lineHeight; $doctype = ST_SALESINVOICE; $rep->fontSize += 4; $rep->TextCol(3, 6, _("Total: "), -2); $rep->TextCol(6, 7, $DisplaySubTot + $TotalDiscount, -2); //$rep->TextCol(6, 7, $DisplaySubTot, -2); $rep->NewLine(); if ($TotalDiscount > 0 || $urrow['ov_discount'] > 0) { $rep->TextCol(3, 6, _("Discount(s)") . ": ", -2); $rep->TextCol(6, 7, '(' . ($TotalDiscount + $urrow['ov_discount']) . ')', -2); $rep->NewLine(); } // if($urrow['ov_discount']>0) // { // $rep->TextCol(3, 6, _("Cash Discount") . ": ", -2); // $rep->TextCol(6, 7, '('.$urrow['ov_discount'].')', -2); // $rep->NewLine(); // } $rep->TextCol(3, 6, _("Sub-total"), -2); $rep->TextCol(6, 7, $DisplaySubTot - $urrow['ov_discount'], -2); $rep->NewLine(); $rep->TextCol(3, 6, _("Paid"), -2); $rep->TextCol(6, 7, $transId['amt'], -2); $rep->NewLine(); $rep->TextCol(3, 6, _("Due"), -2); $rep->TextCol(6, 7, $DisplaySubTot - $urrow['ov_discount'] - $transId['amt'], -2); $rep->NewLine(); $tax_items = get_trans_tax_details(ST_SALESINVOICE, $i); $first = true; while ($tax_item = db_fetch($tax_items)) { if ($tax_item['amount'] == 0) { continue; } $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($TotalDiscount>0){ // $rep->TextCol(3, 7, _("Total Discount") . ": " . $TotalDiscount.'+'.$urrow['ov_discount'], -2); // $rep->NewLine(); // } 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, _("Included") . " " . $tax_type_name . _("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, _("TOTAL INVOICE"), -2); $rep->TextCol(6, 7, $DisplayTotal - $urrow['ov_discount'], -2); //$words = price_in_words($myrow['Total'], ST_SALESINVOICE); $words = price_in_words($transId['amt'], 0); // $words =$myrow['Total']; if ($words != "") { $rep->NewLine(1); $rep->TextCol(1, 7, $myrow['curr_code'] . ": " . $words, -2); } $rep->fontSize -= 4; $rep->Font(); if ($email == 1) { $rep->End($email); } } if ($email == 0) { $rep->End(); } }
function print_sales_orders() { global $path_to_root, $print_as_quote, $no_zero_lines_amount; 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']; $print_as_quote = $_POST['PARAM_4']; $comments = $_POST['PARAM_5']; $orientation = $_POST['PARAM_6']; if (!$from || !$to) { return; } $orientation = $orientation ? 'L' : 'P'; $dec = user_price_dec(); $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) { if ($print_as_quote == 0) { $rep = new FrontReport(_("SALES ORDER"), "SalesOrderBulk", user_pagesize(), 9, $orientation); } else { $rep = new FrontReport(_("QUOTE"), "QuoteBulk", user_pagesize(), 9, $orientation); } } if ($orientation == 'L') { recalculate_cols($cols); } for ($i = $from; $i <= $to; $i++) { $myrow = get_sales_order_header($i, ST_SALESORDER); $baccount = get_default_bank_account($myrow['curr_code']); $params['bankaccount'] = $baccount['id']; $branch = get_branch($myrow["branch_code"]); if ($email == 1) { $rep = new FrontReport("", "", user_pagesize(), 9, $orientation); if ($print_as_quote == 1) { $rep->title = _('QUOTE'); $rep->filename = "Quote" . $i . ".pdf"; } else { $rep->title = _("SALES ORDER"); $rep->filename = "SalesOrder" . $i . ".pdf"; } } else { $rep->title = $print_as_quote == 1 ? _("QUOTE") : _("SALES ORDER"); } $rep->SetHeaderType('Header2'); $rep->currency = $cur; $rep->Font(); $rep->Info($params, $cols, null, $aligns); $contacts = get_branch_contacts($branch['branch_code'], 'order', $branch['debtor_no'], true); $rep->SetCommonData($myrow, $branch, $myrow, $baccount, ST_SALESORDER, $contacts); $rep->NewPage(); $result = get_sales_order_details($i, ST_SALESORDER); $SubTotal = 0; $items = $prices = array(); while ($myrow2 = db_fetch($result)) { $Net = round2((1 - $myrow2["discount_percent"]) * $myrow2["unit_price"] * $myrow2["quantity"], user_price_dec()); $prices[] = $Net; $items[] = $myrow2['stk_code']; $SubTotal += $Net; $DisplayPrice = number_format2($myrow2["unit_price"], $dec); $DisplayQty = number_format2($myrow2["quantity"], get_qty_dec($myrow2['stk_code'])); $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['stk_code'], -2); $oldrow = $rep->row; $rep->TextColLines(1, 2, $myrow2['description'], -2); $newrow = $rep->row; $rep->row = $oldrow; if ($Net != 0.0 || !is_service($myrow2['mb_flag']) || !isset($no_zero_lines_amount) || $no_zero_lines_amount == 0) { $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(); } } if ($myrow['comments'] != "") { $rep->NewLine(); $rep->TextColLines(1, 5, $myrow['comments'], -2); } $DisplaySubTot = number_format2($SubTotal, $dec); $DisplayFreight = number_format2($myrow["freight_cost"], $dec); $rep->row = $rep->bottomMargin + 15 * $rep->lineHeight; $doctype = ST_SALESORDER; $rep->TextCol(3, 6, _("Sub-total"), -2); $rep->TextCol(6, 7, $DisplaySubTot, -2); $rep->NewLine(); $rep->TextCol(3, 6, _("Shipping"), -2); $rep->TextCol(6, 7, $DisplayFreight, -2); $rep->NewLine(); $DisplayTotal = number_format2($myrow["freight_cost"] + $SubTotal, $dec); if ($myrow['tax_included'] == 0) { $rep->TextCol(3, 6, _("TOTAL ORDER EX VAT"), -2); $rep->TextCol(6, 7, $DisplayTotal, -2); $rep->NewLine(); } $tax_items = get_tax_for_items($items, $prices, $myrow["freight_cost"], $myrow['tax_group_id'], $myrow['tax_included'], null); $first = true; foreach ($tax_items as $tax_item) { if ($tax_item['Value'] == 0) { continue; } $DisplayTax = number_format2($tax_item['Value'], $dec); $tax_type_name = $tax_item['tax_type_name']; if ($myrow['tax_included']) { 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, _("Included") . " " . $tax_type_name . " " . _("Amount") . ": " . $DisplayTax, -2); } } else { $SubTotal += $tax_item['Value']; $rep->TextCol(3, 6, $tax_type_name, -2); $rep->TextCol(6, 7, $DisplayTax, -2); } $rep->NewLine(); } $rep->NewLine(); $DisplayTotal = number_format2($myrow["freight_cost"] + $SubTotal, $dec); $rep->Font('bold'); $rep->TextCol(3, 6, _("TOTAL ORDER VAT INCL."), -2); $rep->TextCol(6, 7, $DisplayTotal, -2); $words = price_in_words($myrow["freight_cost"] + $SubTotal, ST_SALESORDER); if ($words != "") { $rep->NewLine(1); $rep->TextCol(1, 7, $myrow['curr_code'] . ": " . $words, -2); } $rep->Font(); if ($email == 1) { $rep->End($email); } } if ($email == 0) { $rep->End(); } }
function print_invoices() { global $path_to_root, $alternative_tax_include_on_docs, $suppress_tax_rates, $no_zero_lines_amount; include_once $path_to_root . "/reporting/includes/pdf_report.inc"; // $from = $_POST['PARAM_0']; // $to = $_POST['PARAM_1']; // $currency = $_POST['PARAM_2']; $email = 0; // $pay_service = $_POST['PARAM_4']; // $comments = $_POST['PARAM_5']; // $customer = $_POST['PARAM_6']; $orientation = 'L'; // // if (!$from || !$to) return; // // $orientation = ($orientation ? 'L' : 'P'); // $dec = user_price_dec(); // // $fno = explode("-", $from); // $tno = explode("-", $to); // $from = min($fno[0], $tno[0]); // $to = max($fno[0], $tno[0]); $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(_('INVOICE'), "InvoiceBulk", user_pagesize(), 9, $orientation); } if ($orientation == 'L') { recalculate_cols($cols); } for ($i = $from; $i <= $to; $i++) { // if (!exists_customer_trans(ST_SALESINVOICE, $i)) // continue; // $sign = 1; // $myrow = get_customer_trans($i, ST_SALESINVOICE); // if($customer && $myrow['debtor_no'] != $customer) { // continue; // } //$baccount = get_default_bank_account($myrow['curr_code']); //$params['bankaccount'] = $baccount['id']; //$branch = get_branch($myrow["branch_code"]); //$sales_order = get_sales_order_header($myrow["order_"], ST_SALESORDER); if ($email == 1) { $rep = new FrontReport("", "", user_pagesize(), 9, $orientation); $rep->title = _('INVOICE'); $rep->filename = "Invoice" . $myrow['reference'] . ".pdf"; } $rep->SetHeaderType('Header2'); //$rep->currency = $cur; $rep->Font(); $rep->Info($params, $cols, null, $aligns); //$contacts = get_branch_contacts($branch['branch_code'], 'invoice', $branch['debtor_no'], true); //$baccount['payment_service'] = $pay_service; //$rep->SetCommonData($myrow, $branch, $sales_order, $baccount, ST_SALESINVOICE, $contacts); $rep->NewPage(); //$result = get_customer_trans_details(ST_SALESINVOICE, $i); $result = get_referral_details(); $SubTotal = 0; while ($myrow2 = db_fetch($result)) { if ($myrow2["quantity"] == 0) { continue; } $rep->TextCol(0, 1, $myrow2['Date'], -2); $oldrow = $rep->row; $rep->TextColLines(1, 2, $myrow2['Invoice'], -2); $newrow = $rep->row; $rep->row = $oldrow; $rep->TextCol(2, 3, $myrow2['Name'], -2); $rep->TextCol(3, 4, $myrow2['Bill'], -2); $rep->TextCol(4, 5, $myrow2['10%'], -2); $rep->TextCol(5, 6, $myrow2['10% Dis'], -2); $rep->TextCol(6, 7, $myrow2['15%'], -2); $rep->row = $newrow; //$rep->NewLine(1); if ($rep->row < $rep->bottomMargin + 15 * $rep->lineHeight) { $rep->NewPage(); } } $rep->row = $rep->bottomMargin + 15 * $rep->lineHeight; $doctype = ST_SALESINVOICE; $rep->TextCol(3, 6, _("Sub-total"), -2); $rep->TextCol(6, 7, $DisplaySubTot, -2); $rep->NewLine(); $rep->TextCol(3, 6, _("Shipping"), -2); $rep->TextCol(6, 7, $DisplayFreight, -2); $rep->NewLine(); $tax_items = get_trans_tax_details(ST_SALESINVOICE, $i); $first = true; while ($tax_item = db_fetch($tax_items)) { if ($tax_item['amount'] == 0) { continue; } $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, _("Included") . " " . $tax_type_name . _("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, _("TOTAL INVOICE"), -2); $rep->TextCol(6, 7, $DisplayTotal, -2); $words = price_in_words($myrow['Total'], ST_SALESINVOICE); if ($words != "") { $rep->NewLine(1); $rep->TextCol(1, 7, $myrow['curr_code'] . ": " . $words, -2); } $rep->Font(); if ($email == 1) { $rep->End($email); } } if ($email == 0) { $rep->End(); } }
function print_provisional_receipt() { $array = array(); $catch = ""; $catch = $_POST['PARAM_0']; $array = explode("/", $catch); global $path_to_root, $systypes_array; 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'; $dec = user_price_dec(); $cols = array(); for ($i = 0; $i <= 400; $i++) { array_push($cols, $i); } $headers = array(_('Date'), _('Time'), _('User'), _('Trans Date'), _('Type'), _('#'), _('Action'), _('Amount')); $aligns = array('left', 'left', 'left', 'left', 'left', 'left', 'left', 'right'); $usr = get_user($user); $user_id = $usr['user_id']; $rep = new FrontReport(_('Provisional Receipt'), "ProvisionalReceipt", user_pagesize(), 9, $orientation); if ($orientation == 'L') { recalculate_cols($cols); } $rep->SetHeaderType('Header0'); $rep->Font(); $rep->Info($params, $cols, $headers, $aligns); $rep->NewPage(); $res = get_fields($array[0], $array[1], $array[2]); while ($myrow = db_fetch($res)) { $rep->NewLine(); $rep->NewLine(); $rep->NewLine(); $rep->NewLine(); $rep->NewLine(); $rep->TextCol(399, 0, "No: " . $myrow[6]); $rep->NewLine(); $rep->TextCol(399, 1, $myrow[2]); $rep->NewLine(); $rep->NewLine(); $rep->NewLine(); $rep->TextCol(50, 200, "Received from " . $myrow[1]); for ($loop = 110; $loop <= 399; $loop++) { $rep->UnderlineCell($loop, 0); } $rep->NewLine(); $rep->TextCol(50, 160, "with TIN "); for ($loop = 85; $loop <= 160; $loop++) { $rep->UnderlineCell($loop, 0); } $rep->TextCol(161, 300, "And address at " . $myrow[3]); for ($loop = 222; $loop <= 399; $loop++) { $rep->UnderlineCell($loop, 0); } $rep->NewLine(); $rep->TextCol(50, 300, "Engaged in the business style of "); for ($loop = 180; $loop <= 399; $loop++) { $rep->UnderlineCell($loop, 0); } $rep->NewLine(1); $word = price_in_words($myrow[4], ST_CUSTPAYMENT); $rep->TextCol(50, 350, "the sum of " . $word); for ($loop = 95; $loop <= 369; $loop++) { $rep->UnderlineCell($loop, 0); } $rep->TextCol(375, 400, "Pesos "); $rep->NewLine(); $rep->TextCol(50, 120, "(P " . $myrow[4] . " )"); for ($loop = 57; $loop <= 115; $loop++) { $rep->UnderlineCell($loop, 0); } $word2 = price_in_words($myrow[5], ST_CUSTPAYMENT); $rep->TextCol(121, 350, "in partial/full payment of " . $word2); for ($loop = 217; $loop <= 399; $loop++) { $rep->UnderlineCell($loop, 0); } $rep->NewLine(); $rep->NewLine(); $rep->NewLine(); if (array_pop($array) == 'collection') { $rep->TextCol(265, 399, "By:"); $rep->NewLine(); for ($loop = 275; $loop <= 399; $loop++) { $rep->UnderlineCell($loop, 0); } $rep->NewLine(); $rep->TextCol(275, 399, "Cashier/Authorized Representative"); } else { for ($loop = 300; $loop <= 399; $loop++) { $rep->UnderlineCell($loop, 0); } $rep->NewLine(); $rep->TextCol(320, 399, "IMC/Collector"); $rep->NewLine(); $rep->TextCol(300, 399, "Cashier's Name and Code"); } $rep->NewLine(); $rep->NewLine(); } $rep->End(); }
function print_remittances() { global $path_to_root, $systypes_array; 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']; $comments = $_POST['PARAM_4']; $orientation = $_POST['PARAM_5']; if (!$from || !$to) { return; } $orientation = $orientation ? 'L' : 'P'; $dec = user_price_dec(); $fno = explode("-", $from); $tno = explode("-", $to); $from = min($fno[0], $tno[0]); $to = max($fno[0], $tno[0]); $cols = array(4, 85, 150, 225, 275, 360, 450, 515); // $headers in doctext.inc $aligns = array('left', 'left', 'left', 'left', 'right', 'right', 'right'); $params = array('comments' => $comments); $cur = get_company_Pref('curr_default'); if ($email == 0) { $rep = new FrontReport(_('REMITTANCE'), "RemittanceBulk", user_pagesize(), 9, $orientation); } if ($orientation == 'L') { recalculate_cols($cols); } for ($i = $from; $i <= $to; $i++) { if ($fno[0] == $tno[0]) { $types = array($fno[1]); } else { $types = array(ST_BANKPAYMENT, ST_SUPPAYMENT, ST_SUPPCREDIT); } foreach ($types as $j) { $myrow = get_remittance($j, $i); if (!$myrow) { continue; } $res = get_bank_trans($j, $i); $baccount = db_fetch($res); $params['bankaccount'] = $baccount['bank_act']; if ($email == 1) { $rep = new FrontReport("", "", user_pagesize(), 9, $orientation); $rep->title = _('REMITTANCE'); $rep->filename = "Remittance" . $i . ".pdf"; } $rep->SetHeaderType('Header2'); $rep->currency = $cur; $rep->Font(); $rep->Info($params, $cols, null, $aligns); $contacts = get_supplier_contacts($myrow['supplier_id'], 'invoice'); $rep->SetCommonData($myrow, null, $myrow, $baccount, ST_SUPPAYMENT, $contacts); $rep->NewPage(); $result = get_allocations_for_remittance($myrow['supplier_id'], $myrow['type'], $myrow['trans_no']); $doctype = ST_SUPPAYMENT; $total_allocated = 0; $rep->TextCol(0, 4, _("As advance / full / part / payment towards:"), -2); $rep->NewLine(2); while ($myrow2 = db_fetch($result)) { $rep->TextCol(0, 1, $systypes_array[$myrow2['type']], -2); $rep->TextCol(1, 2, $myrow2['supp_reference'], -2); $rep->TextCol(2, 3, sql2date($myrow2['tran_date']), -2); $rep->TextCol(3, 4, sql2date($myrow2['due_date']), -2); $rep->AmountCol(4, 5, $myrow2['Total'], $dec, -2); $rep->AmountCol(5, 6, $myrow2['Total'] - $myrow2['alloc'], $dec, -2); $rep->AmountCol(6, 7, $myrow2['amt'], $dec, -2); $total_allocated += $myrow2['amt']; $rep->NewLine(1); if ($rep->row < $rep->bottomMargin + 15 * $rep->lineHeight) { $rep->NewPage(); } } $memo = get_comments_string($j, $i); if ($memo != "") { $rep->NewLine(); $rep->TextColLines(1, 5, $memo, -2); } $rep->row = $rep->bottomMargin + 16 * $rep->lineHeight; $rep->TextCol(3, 6, _("Total Allocated"), -2); $rep->AmountCol(6, 7, $total_allocated, $dec, -2); $rep->NewLine(); $rep->TextCol(3, 6, _("Left to Allocate"), -2); $myrow['Total'] *= -1; $myrow['ov_discount'] *= -1; $rep->AmountCol(6, 7, $myrow['Total'] + $myrow['ov_discount'] - $total_allocated, $dec, -2); if (floatcmp($myrow['ov_discount'], 0)) { $rep->NewLine(); $rep->TextCol(3, 6, _("Discount"), -2); $rep->AmountCol(6, 7, -$myrow['ov_discount'], $dec, -2); } $rep->NewLine(); $rep->Font('bold'); $rep->TextCol(3, 6, _("TOTAL REMITTANCE"), -2); $rep->AmountCol(6, 7, $myrow['Total'], $dec, -2); $words = price_in_words($myrow['Total'], ST_SUPPAYMENT); if ($words != "") { $rep->NewLine(2); $rep->TextCol(1, 7, $myrow['curr_code'] . ": " . $words, -2); } $rep->Font(); if ($email == 1) { $myrow['DebtorName'] = $myrow['supp_name']; $rep->End($email); } } } if ($email == 0) { $rep->End(); } }
function print_check() { global $path_to_root, $systypes_array, $print_invoice_no; // Get the payment $from = $_POST['PARAM_0']; $destination = $_POST['PARAM_1']; $trans_no = explode("-", $from); $dec = user_price_dec(); if ($destination) { include_once $path_to_root . "/reporting/includes/excel_report.inc"; } else { include_once $path_to_root . "/reporting/includes/pdf_report.inc"; } $from_trans = get_remittance($trans_no[1], $trans_no[0]); // Get check information $total_amt = $from_trans['Total']; $date = sql2date($from_trans['tran_date']); $memo = get_comments_string($trans_no[1], $trans_no[0]); // Begin the report $rep = new FrontReport(_('Printable Check'), "PrintableCheck", user_pagesize()); $rep->SetHeaderType(null); $rep->NewPage(); // Set the font $rep->Font('', 'courier'); $rep->fontSize = 12; ////////////////// // Check portion $rep->NewLine(1, 0, 76); $rep->cols = array(63, 340, 470, 565); $rep->aligns = array('left', 'left', 'right', 'right'); // Pay to $rep->TextCol(0, 1, $from_trans['supp_name']); // Date $rep->DateCol(1, 2, $rep->DatePrettyPrint($date, 0, 0)); // Amount (numeric) $rep->TextCol(2, 3, '***' . number_format2(-$total_amt, $dec)); // Amount (words) $rep->NewLine(1, 0, 23); $rep->TextCol(0, 2, $from_trans['curr_code'] . ": " . price_in_words(-$total_amt, ST_CHEQUE)); // Memo $rep->NewLine(1, 0, 78); $rep->TextCol(0, 1, $memo); $rep->company = get_company_prefs(); ///////////////////// // Item details x 2 for ($section = 1; $section <= 2; $section++) { $rep->fontSize = 12; // Move down to the correct section $rep->row = $section == 1 ? 505 : 255; $rep->cols = array(20, 340, 470, 588); $rep->aligns = array('left', 'left', 'right', 'right'); // Pay to $rep->Font('b'); $rep->TextCol(0, 1, $from_trans['supp_name']); $rep->Font(); // Date $rep->DateCol(1, 2, $rep->DatePrettyPrint($date, 0, 0)); // Amount (numeric) $rep->TextCol(2, 3, number_format2(-$total_amt, 2)); // Add Trans # + Reference $rep->NewLine(); if ($print_invoice_no == 0) { $tno = $from_trans['reference']; } else { $tno = $from_trans['trans_no']; } $rep->TextCol(0, 3, sprintf(_("Payment # %s - from Customer: %s - %s"), $tno, $from_trans['supp_account_no'], $rep->company['coy_name'])); // Add memo $rep->NewLine(); $rep->TextCol(0, 3, _("Memo: ") . $memo); // TODO: Do we want to set a limit on # of item details? (Max is probably 6-7) // Get item details $result = get_allocations_for_remittance($from_trans['supplier_id'], $from_trans['type'], $from_trans['trans_no']); // Fill in details $rep->NewLine(2); $rep->fontSize = 10; // Use different columns now for the additional info $rep->cols = array(20, 160, 235, 290, 370, 480, 588); $rep->aligns = array('left', 'left', 'left', 'right', 'right', 'right'); // Add headers $rep->Font('b'); $rep->TextCol(0, 1, _("Type/Id")); $rep->TextCol(1, 2, _("Trans Date")); $rep->TextCol(2, 3, _("Due Date")); $rep->TextCol(3, 4, _("Total Amount")); $rep->TextCol(4, 5, _("Left to Allocate")); $rep->TextCol(5, 6, _("This Allocation")); $rep->NewLine(); $rep->Font(); $total_allocated = 0; while ($item = db_fetch($result)) { $rep->TextCol(0, 1, $systypes_array[$item['type']] . " " . $item['supp_reference']); $rep->TextCol(1, 2, sql2date($item['tran_date'])); $rep->TextCol(2, 3, sql2date($item['due_date'])); $rep->AmountCol(3, 4, $item['Total'], $dec); $rep->AmountCol(4, 5, $item['Total'] - $item['alloc'], $dec); $rep->AmountCol(5, 6, $item['amt'], $dec); $total_allocated += $item['amt']; $rep->NewLine(1, 0, $rep->lineHeight + 3); // Space it out } $rep->NewLine(); $rep->TextCol(4, 5, _("Total Allocated")); $rep->AmountCol(5, 6, $total_allocated, $dec); $rep->NewLine(); $rep->TextCol(4, 5, _("Left to Allocate")); $rep->AmountCol(5, 6, -$from_trans['Total'] - $total_allocated, $dec); } // end of section $rep->End(); }
$cheque->TextWrap($col4, $cheque->row, 50, _("DATE")); $cdate = sql2checkdate($from_trans['tran_date']); $ddate = "DDMMYYYY"; for ($i = 0, $col = $col5; $i < 8; $col += $gap, $i++) { $cheque->TextWrap($col, $cheque->row, $gap - 1, $cdate[$i]); } $cheque->lineHeight = 12; $cheque->NewLine(); for ($i = 0, $col = $col5; $i < 8; $col += $gap, $i++) { $cheque->TextWrap($col, $cheque->row, $gap - 1, $ddate[$i]); } $cheque->lineHeight = 22; $cheque->NewLine(); $amt_total = -$from_trans['Total']; $dec = user_price_dec(); $amount = "**" . price_in_words($amt_total, ST_CHEQUE); $themoney = ($show_currencies ? $from_trans['curr_code'] : '') . '**' . number_format2($amt_total, $dec); $cheque->TextWrap($col0, $cheque->row, $width_col0, $amount); $cheque->TextWrap($col0, $cheque->row, $width_col0, $themoney, "right"); $cheque->lineHeight = 13; $cheque->NewLine(); if ($show_currencies) { $cheque->TextWrap($col0, $cheque->row, $width_col0, _("Amount in ") . $from_trans['curr_code']); } $cheque->row = $row_address; $cheque->lineHeight = 12; $cheque->TextWrapLines($col0, $width_col0, $from_trans['supp_name'] . "\n" . $from_trans['address']); $dotadd = 40; $cheque->lineHeight = 16; for ($i = 0; $i < 2; $i++) { // First Stub
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']; $orientation = $_POST['PARAM_6']; if (!$from || !$to) { return; } $orientation = $orientation ? 'L' : 'P'; $dec = user_price_dec(); $fno = explode("-", $from); $tno = explode("-", $to); $from = min($fno[0], $tno[0]); $to = max($fno[0], $tno[0]); $cols = array(0, 10, 50, 100, 150, 200, 250, 300, 350, 380, 450, 480, 550, 600); // $headers in doctext.inc $aligns = array('center', 'left', 'left', 'left', 'left', 'left', 'left', 'left', 'right', 'right', 'right', 'right'); $params = array('comments' => $comments); $cur = get_company_Pref('curr_default'); if ($email == 0) { $rep = new FrontReport(_('CREDIT NOTE'), "InvoiceBulk", user_pagesize(), 9, $orientation); } if ($orientation == 'L') { recalculate_cols($cols); } for ($i = $from; $i <= $to; $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(), 9, $orientation); $rep->title = _('CREDIT NOTE'); $rep->filename = "CreditNote" . $myrow['reference'] . ".pdf"; } $rep->SetHeaderType(0); $rep->currency = $cur; $rep->Font(); $rep->Info(null, $cols, null, $aligns); //$contacts = get_branch_contacts($branch['branch_code'], 'invoice', $branch['debtor_no'], true); //$rep->SetCommonData($myrow, $branch, $sales_order, $baccount, ST_CUSTCREDIT, $contacts); $rep->NewPage(); $result = get_customer_trans_details(ST_CUSTCREDIT, $i); $SubTotal = 0; //$data = get_custom_no($from, ST_CUSTCREDIT); $invoice_no = get_sales_invoice_no($myrow['order_'], ST_SALESINVOICE); $imc = get_imc_name($branch['branch_code']); $rep->NewLine(8); $rep->TextCol(8, 10, "Date : " . $myrow['TranDate']); $rep->NewLine(2); $oldrow = $rep->row; $rep->TextColLines(3, 12, "Client : " . $branch['br_name'], -2); $newrow = $rep->row; $rep->row = $oldrow; $rep->NewLine(2); $rep->TextCol(3, 5, "Invoice # : " . $invoice_no, -2); $rep->TextCol(8, 10, "IMC: " . $imc, -2); $rep->NewLine(2); $rep->TextCol(3, 4, _("QTY")); $rep->TextCol(5, 7, _("DESCRIPTION")); $rep->TextCol(8, 9, _("PRICE")); $rep->TextCol(9, 10, _("AMOUNT")); $rep->NewLine(2); 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(4, 5, $myrow2['stock_id'], -2); $oldrow = $rep->row; $rep->TextColLines(4, 8, $myrow2['StockDescription'], -2); $newrow = $rep->row; $rep->row = $oldrow; $rep->TextCol(3, 4, $DisplayQty . " " . $myrow2['units'], -2); $rep->TextCol(8, 9, $DisplayPrice, -2); $rep->TextCol(9, 10, $DisplayNet, -2); $rep->row = $newrow; //$rep->NewLine(1); if ($rep->row < $rep->bottomMargin + 15 * $rep->lineHeight) { $rep->NewPage(); } } $memo = get_comments_string(ST_CUSTCREDIT, $i); if ($memo != "") { $rep->NewLine(); //$rep->TextColLines(1, 5, $memo, -2); } $DisplaySubTot = number_format2($SubTotal, $dec); $DisplayFreight = number_format2($sign * $myrow["ov_freight"], $dec); //$rep->row = $rep->bottomMargin + (15 * $rep->lineHeight); $doctype = ST_CUSTCREDIT; $rep->TextCol(7, 9, _("Sub-total"), -2); $rep->TextCol(9, 10, $DisplaySubTot, -2); $rep->NewLine(); $rep->TextCol(7, 9, _("Shipping"), -2); $rep->TextCol(9, 10, $DisplayFreight, -2); $rep->NewLine(); /*$tax_items = get_trans_tax_details(ST_CUSTCREDIT, $i); $first = true; while ($tax_item = db_fetch($tax_items)) { if ($tax_item['amount'] == 0) continue; $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, _("Included") . " " . $tax_type_name . _("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(7, 9, _("TOTAL CREDIT"), -2); $rep->TextCol(9, 10, $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); } } if ($email == 0) { $rep->End(); } }
function print_receipts() { global $path_to_root, $systypes_array; include_once $path_to_root . "/reporting/includes/pdf_report.inc"; $from = $_POST['PARAM_0']; $to = $_POST['PARAM_1']; $currency = $_POST['PARAM_2']; $comments = $_POST['PARAM_3']; $orientation = $_POST['PARAM_4']; if (!$from || !$to) { return; } $orientation = $orientation ? 'L' : 'P'; $dec = user_price_dec(); $fno = explode("-", $from); $tno = explode("-", $to); $from = min($fno[0], $tno[0]); $to = max($fno[0], $tno[0]); $cols = array(4, 85, 150, 225, 275, 360, 450, 515); // $headers in doctext.inc $aligns = array('left', 'left', 'left', 'left', 'right', 'right', 'right'); $params = array('comments' => $comments); $cur = get_company_Pref('curr_default'); $rep = new FrontReport(_('RECEIPT'), "ReceiptBulk", user_pagesize(), 9, $orientation); if ($orientation == 'L') { recalculate_cols($cols); } $rep->SetHeaderType('Header2'); $rep->currency = $cur; $rep->Font(); $rep->Info($params, $cols, null, $aligns); for ($i = $from; $i <= $to; $i++) { if ($fno[0] == $tno[0]) { $types = array($fno[1]); } else { $types = array(ST_BANKDEPOSIT, ST_CUSTPAYMENT); } foreach ($types as $j) { $myrow = get_receipt($j, $i); if (!$myrow) { continue; } $res = get_bank_trans($j, $i); $baccount = db_fetch($res); $params['bankaccount'] = $baccount['bank_act']; $contacts = get_branch_contacts($myrow['branch_code'], 'invoice', $myrow['debtor_no']); $rep->SetCommonData($myrow, null, $myrow, $baccount, ST_CUSTPAYMENT, $contacts); $rep->NewPage(); $result = get_allocations_for_receipt($myrow['debtor_no'], $myrow['type'], $myrow['trans_no']); $doctype = ST_CUSTPAYMENT; $total_allocated = 0; $rep->TextCol(0, 4, _("As advance / full / part / payment towards:"), -2); $rep->NewLine(2); while ($myrow2 = db_fetch($result)) { $rep->TextCol(0, 1, $systypes_array[$myrow2['type']], -2); $rep->TextCol(1, 2, $myrow2['reference'], -2); $rep->TextCol(2, 3, sql2date($myrow2['tran_date']), -2); $rep->TextCol(3, 4, sql2date($myrow2['due_date']), -2); $rep->AmountCol(4, 5, $myrow2['Total'], $dec, -2); $rep->AmountCol(5, 6, $myrow2['Total'] - $myrow2['alloc'], $dec, -2); $rep->AmountCol(6, 7, $myrow2['amt'], $dec, -2); $total_allocated += $myrow2['amt']; $rep->NewLine(1); if ($rep->row < $rep->bottomMargin + 15 * $rep->lineHeight) { $rep->NewPage(); } } $memo = get_comments_string($j, $i); if ($memo != "") { $rep->NewLine(); $rep->TextColLines(1, 5, $memo, -2); } $rep->row = $rep->bottomMargin + 15 * $rep->lineHeight; $rep->TextCol(3, 6, _("Total Allocated"), -2); $rep->AmountCol(6, 7, $total_allocated, $dec, -2); $rep->NewLine(); $rep->TextCol(3, 6, _("Left to Allocate"), -2); $rep->AmountCol(6, 7, $myrow['Total'] - $total_allocated, $dec, -2); $rep->NewLine(); $rep->Font('bold'); $rep->TextCol(3, 6, _("TOTAL RECEIPT"), -2); $rep->AmountCol(6, 7, $myrow['Total'], $dec, -2); $words = price_in_words($myrow['Total'], ST_CUSTPAYMENT); if ($words != "") { $rep->NewLine(1); $rep->TextCol(0, 7, $myrow['curr_code'] . ": " . $words, -2); } $rep->Font(); $rep->NewLine(); $rep->TextCol(6, 7, _("Received / Sign"), -2); $rep->NewLine(); $rep->TextCol(0, 2, _("By Cash / Cheque* / Draft No."), -2); $rep->TextCol(2, 4, "______________________________", -2); $rep->TextCol(4, 5, _("Dated"), -2); $rep->TextCol(5, 6, "__________________", -2); $rep->NewLine(1); $rep->TextCol(0, 2, _("Drawn on Bank"), -2); $rep->TextCol(2, 4, "______________________________", -2); $rep->TextCol(4, 5, _("Branch"), -2); $rep->TextCol(5, 6, "__________________", -2); $rep->TextCol(6, 7, "__________________"); } } $rep->End(); }
function print_check_voucher() { global $path_to_root, $systypes_array; $trans_no = $_POST['PARAM_0']; $trans_num = $_POST['PARAM_1']; $cv_no = $_POST['PARAM_2']; $account = $_POST['PARAM_3']; $orientation = $_POST['PARAM_4']; $destination = $_POST['PARAM_5']; if ($destination) { include_once $path_to_root . "/reporting/includes/excel_report.inc"; } else { include_once $path_to_root . "/reporting/includes/pdf_report2.inc"; } $orientation = $orientation ? 'L' : 'P'; $rep = new FrontReport(_('CHECK VOUCHER'), "CheckVoucher", user_pagesize(), '', $orientation); $dec = user_price_dec(); $cols = array(0, 30, 50, 125, 175, 200, 265, 285, 360, 425, 460, 542, 550); $aligns = array('left', 'left', 'left', 'left', 'right', 'right', 'left', 'left', 'right', 'right', 'right'); $rep->SetHeaderType(0); $rep->Font(); $rep->Info(null, $cols, null, $aligns); $rep->NewPage(); $ty = explode("-", $trans_no); $t_type = $ty[1]; if ($t_type != 0) { $res = get_transaction($trans_no, $t_type); $res1 = get_heading($trans_no, $t_type); } else { $res = get_transaction($trans_no, ST_DISBURSEMENT); $res1 = get_heading($trans_no, ST_DISBURSEMENT); } $myrow = db_fetch($res); $myrow1 = db_fetch($res1); $credit = $debit = 0; //$transtype = ST_DISBURSEMENT; if ($t_type != 0 || $t_type != '') { $res2 = get_gl_trans($t_type, $trans_num); $res3 = get_gl_trans($t_type, $trans_num); } else { $res2 = get_gl_trans(ST_DISBURSEMENT, $trans_num); $res3 = get_gl_trans(ST_DISBURSEMENT, $trans_num); } $new_ret = 0; $return = 0; //$fiscal = get_year(); //to be use // $year_no = substr(sql2date($fiscal['begin']), 8); //to be use // $ser = db_fetch(get_used_series($year_no, $transtype)); // $num = substr($ser['year'], 2); /* $rep->Font('bold'); $rep->TextCol(7,11, _("ST. MATTHEW'S PUBLISHING CORPORATION")); $rep->Font(); $rep->NewLine(); $rep->TextCol(7,11, _("Tel. Nos. 426-5611 * 433-5385 Telefax: 426-1274")); $rep->NewLine(3); $rep->Font('bold'); $rep->SetFontSize(14); $rep->TextCol(5,8, _("CHECK VOUCHER"));*/ $rep->NewLine(7); $rep->SetFontSize(12); $num = substr($myrow['yearDate'], 2); $name = payment_person_name($myrow["person_type_id"], $myrow["person_id"]); $rep->TextCol(2, 6, $name); $rep->TextCol(9, 11, $num . "-" . str_pad($myrow1['customized_no'], 4, 0, STR_PAD_LEFT)); $rep->NewLine(); if ($myrow1['customized_field'] != 0 || $myrow1['customized_field'] != '') { $rep->TextCol(0, 4, $myrow1['customized_field']); } else { $rep->TextCol(0, 4, _("")); } $rep->NewLine(1); $rep->TextCol(8, 10, $myrow['sqldate']); $rep->NewLine(5); // $rep->Line($rep->row - -10); // $rep->TextCol(4,6, _("PARTICULARS")); // $rep->TextCol(9,10, _("AMOUNT")); // $rep->Line($rep->row - 4); $var = array(); $pos = array(); $neg = array(); $pos_amt = array(); $neg_amt = array(); $tots = 0; $comment = get_comments_string($cv_no, $trans_num); while ($myrow2 = db_fetch($res2)) { $tots = 0; if (is_bank_account($myrow2['account'])) { $var = array($myrow2['account']); $rep->TextCol(1, 8, $comment); $tots += abs($myrow2['amount']); } } $rep->AmountCol(9, 11, $tots, 2); $rep->NewLine(2); // $rep->Line($rep->row - -10); // $rep->TextCol(1,3, _("DEBIT")); // $rep->TextCol(7,8, _("CREDIT")); // $rep->Line($rep->row - 4); $rep->NewLine(5); $rep->SetFontSize(12); while ($myrow3 = db_fetch($res3)) { $accounts = get_gl_accounts($myrow3['account']); $account = db_fetch($accounts); if ($myrow3['amount'] > 0) { // $rep->Line($rep->row - -10); //$rep->TextCol(0,4, $account['account_name']); // $rep->AmountCol(5,6, $myrow3['amount'],2); // $rep->NewLine(); // $rep->Line($rep->row + 8); array_push($pos, $account['account_name']); array_push($pos_amt, $myrow3['amount']); $debit += $myrow3['amount']; } else { array_push($neg, $account['account_name']); array_push($neg_amt, $myrow3['amount']); // $rep->Line($rep->row - 4); // $rep->TextCol(6,8, $account['account_name']); // $rep->AmountCol(9,11, abs($myrow3['amount']), 2); // $rep->NewLine(); // $rep->Line($rep->row - 4); } } $result = array_merge($pos, $neg); $new = array(); for ($i = 0; $i < count($result); $i++) { $new[] = $pos[$i]; $new[] = $neg[$i]; } $result2 = array_merge($pos_amt, $neg_amt); $new2 = array(); for ($j = 0; $j < count($result2); $j++) { $new2[] = $pos_amt[$j]; $new2[] = $neg_amt[$j]; } $final_res = array_merge($new, $new2); $final_array = array(); $final = array(); for ($k = 0; $k < count($final_res); $k++) { $final[] = $new[$k]; $final[] = $new2[$k]; } $enter = 0; for ($i = 0; $i <= count($final_res); $i++) { //if ($final[$i] != 0) //{ $rep->TextCol(0, 4, $pos[$i]); if ($pos_amt[$i] != 0) { $rep->AmountCol(4, 6, $pos_amt[$i], 2); } $rep->TextCol(7, 9, $neg[$i]); if ($neg_amt[$i] != 0) { $rep->AmountCol(9, 11, abs($neg_amt[$i]), 2); } if ($pos[$i] != "") { $rep->NewLine(); $enter++; } // } } $return = 11 - $enter; //$rep->Line($rep->row - 4); $rep->NewLine($return); //$rep->TextCol(0,2, count($final_res)); //$rep->TextCol(4,5, $enter); //else // $rep->NewLine($return); $rep->SetFontSize(10); // $rep->TextCol(0,2, _("Cash")); $words = price_in_words($tots, ST_CHEQUE); $_word = strlen($words); $first_word = substr($words, 0, 34); $second_word = substr($words, 34); // if ($words != "") // { //$rep->TextCol(5,7, _("Received the sum of :")); // $oldrow = $rep->row; $rep->TextColLines(8, 11, $first_word . "-", -2); //$newrow = $rep->row; // $rep->row = $oldrow; // } $rep->SetFontSize(10); $rep->TextCol(1, 3, $myrow1['check_num']); $tots_dec = price_format($tots); $rep->TextCol(3, 7, " " . $tots_dec); $rep->SetFontSize(10); $rep->TextCol(7, 11, $second_word); //$rep->TextCol(7,10, _("as payment of the above particulars.")); $rep->NewLine(); $rep->SetFontSize(10); //$rep->TextCol(0,10, _("Bank/Branch: ")); foreach ($var as $vars) { // $bank_name = get_bank_name($vars); $rep->TextCol(2, 10, get_bank_name($vars) . " "); } // $rep->TextCol(1,5, $myrow['bank_address']); $rep->TextCol(7, 9, " " . $tots_dec); $rep->End(); }