} if ($allow_demo_mode) { display_warning(_("Display settings have been updated. Keep in mind that changed settings are restored on every login in demo mode.")); } else { display_notification_centered(_("Display settings have been updated.")); } } } start_form(); start_outer_table(TABLESTYLE2); table_section(1); table_section_title(_("Decimal Places")); number_list_row(_("Prices/Amounts:"), 'prices_dec', user_price_dec(), 0, 10); number_list_row(_("Quantities:"), 'qty_dec', user_qty_dec(), 0, 10); number_list_row(_("Exchange Rates:"), 'rates_dec', user_exrate_dec(), 0, 10); number_list_row(_("Percentages:"), 'percent_dec', user_percent_dec(), 0, 10); table_section_title(_("Dateformat and Separators")); dateformats_list_row(_("Dateformat:"), "date_format", user_date_format()); dateseps_list_row(_("Date Separator:"), "date_sep", user_date_sep()); /* The array $dateseps is set up in config.php for modifications possible separators can be added by modifying the array definition by editing that file */ thoseps_list_row(_("Thousand Separator:"), "tho_sep", user_tho_sep()); /* The array $thoseps is set up in config.php for modifications possible separators can be added by modifying the array definition by editing that file */ decseps_list_row(_("Decimal Separator:"), "dec_sep", user_dec_sep()); /* The array $decseps is set up in config.php for modifications possible separators can be added by modifying the array definition by editing that file */ if (!isset($_POST['language'])) { $_POST['language'] = $_SESSION['language']->code; } table_section_title(_("Language"));
function print_profit_and_loss_statement() { global $comp_path, $path_to_root; include_once $path_to_root . "reporting/includes/pdf_report.inc"; $dim = get_company_pref('use_dimension'); $dimension = $dimension2 = 0; $from = $_REQUEST['PARAM_0']; $to = $_REQUEST['PARAM_1']; $compare = $_REQUEST['PARAM_2']; if ($dim == 2) { $dimension = $_REQUEST['PARAM_3']; $dimension2 = $_REQUEST['PARAM_4']; $graphics = $_REQUEST['PARAM_5']; $comments = $_REQUEST['PARAM_6']; } else { if ($dim == 1) { $dimension = $_REQUEST['PARAM_3']; $graphics = $_REQUEST['PARAM_4']; $comments = $_REQUEST['PARAM_5']; } else { $graphics = $_REQUEST['PARAM_3']; $comments = $_REQUEST['PARAM_4']; } } if ($graphics) { include_once $path_to_root . "reporting/includes/class.graphic.inc"; $pg = new graph(); } $dec = 0; $pdec = user_percent_dec(); $cols = array(0, 50, 200, 350, 425, 500); //------------0--1---2----3----4----5-- $headers = array(tr('Account'), tr('Account Name'), tr('Period'), tr('Accumulated'), tr('Achieved %')); $aligns = array('left', 'left', 'right', 'right', 'right'); if ($dim == 2) { $params = array(0 => $comments, 1 => array('text' => tr('Period'), 'from' => $from, 'to' => $to), 2 => array('text' => tr('Dimension') . " 1", 'from' => get_dimension_string($dimension), 'to' => ''), 3 => array('text' => tr('Dimension') . " 2", 'from' => get_dimension_string($dimension2), 'to' => '')); } else { if ($dim == 1) { $params = array(0 => $comments, 1 => array('text' => tr('Period'), 'from' => $from, 'to' => $to), 2 => array('text' => tr('Dimension'), 'from' => get_dimension_string($dimension), 'to' => '')); } else { $params = array(0 => $comments, 1 => array('text' => tr('Period'), 'from' => $from, 'to' => $to)); } } if ($compare == 0 || $compare == 2) { $end = $to; if ($compare == 2) { $begin = $from; $headers[3] = tr('Budget'); } else { $begin = begin_fiscalyear(); } } elseif ($compare == 1) { $begin = add_months($from, -12); $end = add_months($to, -12); $headers[3] = tr('Period Y-1'); } $rep = new FrontReport(tr('Profit and Loss Statement'), "ProfitAndLoss.pdf", user_pagesize()); $rep->Font(); $rep->Info($params, $cols, $headers, $aligns); $rep->Header(); $classname = ''; $group = ''; $totalper = 0.0; $totalacc = 0.0; $classper = 0.0; $classacc = 0.0; $salesper = 0.0; $salesacc = 0.0; $accounts = get_gl_accounts_all(0); while ($account = db_fetch($accounts)) { $per_balance = get_gl_trans_from_to($from, $to, $account["account_code"], $dimension, $dimension2); if ($compare == 2) { $acc_balance = get_budget_trans_from_to($begin, $end, $account["account_code"], $dimension, $dimension2); } else { $acc_balance = get_gl_trans_from_to($begin, $end, $account["account_code"], $dimension, $dimension2); } if (!$per_balance && !$acc_balance) { continue; } if ($account['AccountClassName'] != $classname) { if ($classname != '') { $closeclass = true; } } if ($account['AccountTypeName'] != $group) { if ($group != '') { $rep->Line($rep->row + 6); $rep->row -= 6; $rep->TextCol(0, 2, tr('Total') . " " . $group); $rep->TextCol(2, 3, number_format2($totalper, $dec)); $rep->TextCol(3, 4, number_format2($totalacc, $dec)); $rep->TextCol(4, 5, number_format2(Achieve($totalper, $totalacc), $pdec)); if ($graphics) { $pg->x[] = $group; $pg->y[] = abs($totalper); $pg->z[] = abs($totalacc); } $totalper = $totalacc = 0.0; $rep->row -= $rep->lineHeight + 4; if ($closeclass) { $rep->Line($rep->row + 6); $rep->row -= 6; $rep->Font('bold'); $rep->TextCol(0, 2, tr('Total') . " " . $classname); $rep->TextCol(2, 3, number_format2($classper, $dec)); $rep->TextCol(3, 4, number_format2($classacc, $dec)); $rep->TextCol(4, 5, number_format2(Achieve($classper, $classacc), $pdec)); $rep->Font(); $salesper += $classper; $salesacc += $classacc; $classper = $classacc = 0.0; $rep->NewLine(3); $closeclass = false; } } if ($account['AccountClassName'] != $classname) { $rep->Font('bold'); $rep->TextCol(0, 5, $account['AccountClassName']); $rep->Font(); $rep->row -= $rep->lineHeight + 4; } $group = $account['AccountTypeName']; $rep->TextCol(0, 5, $account['AccountTypeName']); $rep->Line($rep->row - 4); $rep->row -= $rep->lineHeight + 4; } $classname = $account['AccountClassName']; $per_balance *= -1; $acc_balance *= -1; $totalper += $per_balance; $totalacc += $acc_balance; $classper += $per_balance; $classacc += $acc_balance; $rep->TextCol(0, 1, $account['account_code']); $rep->TextCol(1, 2, $account['account_name']); $rep->TextCol(2, 3, number_format2($per_balance, $dec)); $rep->TextCol(3, 4, number_format2($acc_balance, $dec)); $rep->TextCol(4, 5, number_format2(Achieve($per_balance, $acc_balance), $pdec)); $rep->NewLine(); if ($rep->row < $rep->bottomMargin + 3 * $rep->lineHeight) { $rep->Line($rep->row - 2); $rep->Header(); } } if ($account['AccountClassName'] != $classname) { if ($classname != '') { $closeclass = true; } } if ($account['AccountTypeName'] != $group) { if ($group != '') { $rep->Line($rep->row + 6); $rep->row -= 6; $rep->TextCol(0, 2, tr('Total') . " " . $group); $rep->TextCol(2, 3, number_format2($totalper, $dec)); $rep->TextCol(3, 4, number_format2($totalacc, $dec)); $rep->TextCol(4, 5, number_format2(Achieve($totalper, $totalacc), $pdec)); if ($graphics) { $pg->x[] = $group; $pg->y[] = abs($totalper); $pg->z[] = abs($totalacc); } $rep->row -= $rep->lineHeight + 4; if ($closeclass) { $rep->Line($rep->row + 6); $calculateper = $salesper + $classper; $calculateacc = $salesacc + $classacc; $rep->row -= 6; $rep->Font('bold'); $rep->TextCol(0, 2, tr('Total') . " " . $classname); $rep->TextCol(2, 3, number_format2($classper, $dec)); $rep->TextCol(3, 4, number_format2($classacc, $dec)); $rep->TextCol(4, 5, number_format2(Achieve($classper, $classacc), $pdec)); $rep->row -= $rep->lineHeight + 8; $rep->TextCol(0, 2, tr('Calculated Return')); $rep->TextCol(2, 3, number_format2($calculateper, $dec)); $rep->TextCol(3, 4, number_format2($calculateacc, $dec)); $rep->TextCol(4, 5, number_format2(Achieve($calculateper, $calculateacc), $pdec)); if ($graphics) { $pg->x[] = tr('Calculated Return'); $pg->y[] = abs($calculateper); $pg->z[] = abs($calculateacc); } $rep->Font(); $rep->NewLine(); } } } $rep->Line($rep->row); if ($graphics) { global $decseps, $graph_skin; $pg->title = $rep->title; $pg->axis_x = tr("Group"); $pg->axis_y = tr("Amount"); $pg->graphic_1 = $headers[2]; $pg->graphic_2 = $headers[3]; $pg->type = $graphics; $pg->skin = $graph_skin; $pg->built_in = false; $pg->fontfile = $path_to_root . "reporting/fonts/Vera.ttf"; $pg->latin_notation = $decseps[$_SESSION["wa_current_user"]->prefs->dec_sep()] != "."; $filename = $comp_path . '/' . user_company() . "/pdf_files/test.png"; $pg->display($filename, true); $w = $pg->width / 1.5; $h = $pg->height / 1.5; $x = ($rep->pageWidth - $w) / 2; $rep->NewLine(2); if ($rep->row - $h < $rep->bottomMargin) { $rep->Header(); } $rep->AddImage($filename, $x, $rep->row - $h, $w, $h); } $rep->End(); }
} if ($allow_demo_mode) { display_warning(_("Display settings have been updated. Keep in mind that changed settings are restored on every login in demo mode.")); } else { display_notification_centered(_("Display settings have been updated.")); } } } start_form(); start_outer_table(TABLESTYLE2); table_section(1); table_section_title(_("Decimal Places")); text_row_ex(_("Prices/Amounts:"), 'prices_dec', 5, 5, '', user_price_dec()); text_row_ex(_("Quantities:"), 'qty_dec', 5, 5, '', user_qty_dec()); text_row_ex(_("Exchange Rates:"), 'rates_dec', 5, 5, '', user_exrate_dec()); text_row_ex(_("Percentages:"), 'percent_dec', 5, 5, '', user_percent_dec()); table_section_title(_("Dateformat and Separators")); dateformats_list_row(_("Dateformat:"), "date_format", user_date_format()); dateseps_list_row(_("Date Separator:"), "date_sep", user_date_sep()); /* The array $dateseps is set up in config.php for modifications possible separators can be added by modifying the array definition by editing that file */ thoseps_list_row(_("Thousand Separator:"), "tho_sep", user_tho_sep()); /* The array $thoseps is set up in config.php for modifications possible separators can be added by modifying the array definition by editing that file */ decseps_list_row(_("Decimal Separator:"), "dec_sep", user_dec_sep()); /* The array $decseps is set up in config.php for modifications possible separators can be added by modifying the array definition by editing that file */ if (!isset($_POST['language'])) { $_POST['language'] = $_SESSION['language']->code; } table_section_title(_("Language"));
function print_salesman_list() { global $path_to_root; include_once $path_to_root . "reporting/includes/pdf_report.inc"; $from = $_REQUEST['PARAM_0']; $to = $_REQUEST['PARAM_1']; $summary = $_REQUEST['PARAM_2']; $comments = $_REQUEST['PARAM_3']; if ($summary == 0) { $sum = tr("No"); } else { $sum = tr("Yes"); } $dec = user_qty_dec(); $cols = array(0, 60, 150, 220, 325, 385, 450, 515); $headers = array(tr('Invoice'), tr('Customer'), tr('Branch'), tr('Customer Ref'), tr('Inv Date'), tr('Total'), tr('Provision')); $aligns = array('left', 'left', 'left', 'left', 'left', 'right', 'right'); $headers2 = array(tr('Salesman'), " ", tr('Phone'), tr('Email'), tr('Provision'), tr('Break Pt.'), tr('Provision') . " 2"); $params = array(0 => $comments, 1 => array('text' => tr('Period'), 'from' => $from, 'to' => $to), 2 => array('text' => tr('Summary Only'), 'from' => $sum, 'to' => '')); $cols2 = $cols; $aligns2 = $aligns; $rep = new FrontReport(tr('Salesman Listing'), "SalesmanListing.pdf", user_pagesize()); $rep->Font(); $rep->Info($params, $cols, $headers, $aligns, $cols2, $headers2, $aligns2); $rep->Header(); $salesman = 0; $subtotal = $total = $subprov = $provtotal = 0; $result = GetSalesmanTrans($from, $to); while ($myrow = db_fetch($result)) { if ($rep->row < $rep->bottomMargin + 2 * $rep->lineHeight) { $salesman = 0; $rep->Header(); } $rep->NewLine(0, 2, false, $salesman); if ($salesman != $myrow['salesman_code']) { if ($salesman != 0) { $rep->Line($rep->row - 8); $rep->NewLine(2); $rep->TextCol(0, 3, tr('Total')); $rep->TextCol(5, 6, number_format2($subtotal, $dec)); $rep->TextCol(6, 7, number_format2($subprov, $dec)); $rep->Line($rep->row - 4); $rep->NewLine(2); //$rep->Line($rep->row); } $rep->TextCol(0, 2, $myrow['salesman_code'] . " " . $myrow['salesman_name']); $rep->TextCol(2, 3, $myrow['salesman_phone']); $rep->TextCol(3, 4, $myrow['salesman_email']); $rep->TextCol(4, 5, number_format2($myrow['provision'], user_percent_dec()) . " %"); $rep->TextCol(5, 6, number_format2($myrow['break_pt'], $dec)); $rep->TextCol(6, 7, number_format2($myrow['provision2'], user_percent_dec()) . " %"); $rep->NewLine(2); $salesman = $myrow['salesman_code']; $total += $subtotal; $provtotal += $subprov; $subtotal = 0; $subprov = 0; } $date = sql2date($myrow['tran_date']); $rate = get_exchange_rate_from_home_currency($myrow['curr_code'], $date); $amt = $myrow['InvoiceTotal'] * $rate; if ($subprov > $myrow['break_pt'] && $myrow['provision2'] != 0) { $prov = $myrow['provision2'] * $amt / 100; } else { $prov = $myrow['provision'] * $amt / 100; } if (!$summary) { $rep->TextCol(0, 1, $myrow['trans_no']); $rep->TextCol(1, 2, $myrow['DebtorName']); $rep->TextCol(2, 3, $myrow['br_name']); $rep->TextCol(3, 4, $myrow['contact_name']); $rep->TextCol(4, 5, $date); $rep->TextCol(5, 6, number_format2($amt, $dec)); $rep->TextCol(6, 7, number_format2($prov, $dec)); $rep->NewLine(); if ($rep->row < $rep->bottomMargin + 2 * $rep->lineHeight) { $salesman = 0; $rep->Header(); } } $subtotal += $amt; $subprov += $prov; } if ($salesman != 0) { $rep->Line($rep->row - 4); $rep->NewLine(2); $rep->TextCol(0, 3, tr('Total')); $rep->TextCol(5, 6, number_format2($subtotal, $dec)); $rep->TextCol(6, 7, number_format2($subprov, $dec)); $rep->Line($rep->row - 4); $rep->NewLine(2); //$rep->Line($rep->row); $total += $subtotal; $provtotal += $subprov; } $rep->fontSize += 2; $rep->TextCol(0, 3, tr('Grand Total')); $rep->fontSize -= 2; $rep->TextCol(5, 6, number_format2($total, $dec)); $rep->TextCol(6, 7, number_format2($provtotal, $dec)); $rep->Line($rep->row - 4); $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_profit_and_loss_statement() { global $path_to_root; $dim = get_company_pref('use_dimension'); $dimension = $dimension2 = 0; $from = $_POST['PARAM_0']; $to = $_POST['PARAM_1']; $compare = $_POST['PARAM_2']; if ($dim == 2) { $dimension = $_POST['PARAM_3']; $dimension2 = $_POST['PARAM_4']; $tags = isset($_POST['PARAM_5']) ? $_POST['PARAM_5'] : -1; $decimals = $_POST['PARAM_6']; $graphics = $_POST['PARAM_7']; $comments = $_POST['PARAM_8']; $orientation = $_POST['PARAM_9']; $destination = $_POST['PARAM_10']; } else { if ($dim == 1) { $dimension = $_POST['PARAM_3']; $tags = isset($_POST['PARAM_4']) ? $_POST['PARAM_4'] : -1; $decimals = $_POST['PARAM_5']; $graphics = $_POST['PARAM_6']; $comments = $_POST['PARAM_7']; $orientation = $_POST['PARAM_8']; $destination = $_POST['PARAM_9']; } else { $tags = isset($_POST['PARAM_3']) ? $_POST['PARAM_3'] : -1; $decimals = $_POST['PARAM_4']; $graphics = $_POST['PARAM_5']; $comments = $_POST['PARAM_6']; $orientation = $_POST['PARAM_7']; $destination = $_POST['PARAM_8']; } } if ($destination) { include_once $path_to_root . "/reporting/includes/excel_report.inc"; } else { include_once $path_to_root . "/reporting/includes/pdf_report.inc"; } $orientation = $orientation ? 'L' : 'P'; if ($graphics) { include_once $path_to_root . "/reporting/includes/class.graphic.inc"; $pg = new graph(); } if (!$decimals) { $dec = 0; } else { $dec = user_price_dec(); } $pdec = user_percent_dec(); $cols = array(0, 50, 200, 350, 425, 500); //------------0--1---2----3----4----5-- $headers = array(_('Account'), _('Account Name'), _('Period'), _('Accumulated'), _('Achieved %')); $aligns = array('left', 'left', 'right', 'right', 'right'); if ($dim == 2) { $params = array(0 => $comments, 1 => array('text' => _('Period'), 'from' => $from, 'to' => $to), 2 => array('text' => _('Dimension') . " 1", 'from' => get_dimension_string($dimension), 'to' => ''), 3 => array('text' => _('Dimension') . " 2", 'from' => get_dimension_string($dimension2), 'to' => ''), 4 => array('text' => _('Tags'), 'from' => get_tag_names($tags), 'to' => '')); } else { if ($dim == 1) { $params = array(0 => $comments, 1 => array('text' => _('Period'), 'from' => $from, 'to' => $to), 2 => array('text' => _('Dimension'), 'from' => get_dimension_string($dimension), 'to' => ''), 3 => array('text' => _('Tags'), 'from' => get_tag_names($tags), 'to' => '')); } else { $params = array(0 => $comments, 1 => array('text' => _('Period'), 'from' => $from, 'to' => $to), 2 => array('text' => _('Tags'), 'from' => get_tag_names($tags), 'to' => '')); } } if ($compare == 0 || $compare == 2) { $end = $to; if ($compare == 2) { $begin = $from; $headers[3] = _('Budget'); } else { $begin = begin_fiscalyear(); } } elseif ($compare == 1) { $begin = add_months($from, -12); $end = add_months($to, -12); $headers[3] = _('Period Y-1'); } $rep = new FrontReport(_('Profit and Loss Statement'), "ProfitAndLoss", user_pagesize(), 9, $orientation); if ($orientation == 'L') { recalculate_cols($cols); } $rep->Font(); $rep->Info($params, $cols, $headers, $aligns); $rep->NewPage(); $salesper = 0.0; $salesacc = 0.0; $classresult = get_account_classes(false, 0); while ($class = db_fetch($classresult)) { $class_per_total = 0; $class_acc_total = 0; $convert = get_class_type_convert($class["ctype"]); //Print Class Name $rep->Font('bold'); $rep->TextCol(0, 5, $class["class_name"]); $rep->Font(); $rep->NewLine(); //Get Account groups/types under this group/type with no parents $typeresult = get_account_types(false, $class['cid'], -1); while ($accounttype = db_fetch($typeresult)) { $classtotal = display_type($accounttype["id"], $accounttype["name"], $from, $to, $begin, $end, $compare, $convert, $dec, $pdec, $rep, $dimension, $dimension2, $tags, $pg, $graphics); $class_per_total += $classtotal[0]; $class_acc_total += $classtotal[1]; } //Print Class Summary $rep->row += 6; $rep->Line($rep->row); $rep->NewLine(); $rep->Font('bold'); $rep->TextCol(0, 2, _('Total') . " " . $class["class_name"]); $rep->AmountCol(2, 3, $class_per_total * $convert, $dec); $rep->AmountCol(3, 4, $class_acc_total * $convert, $dec); $rep->AmountCol(4, 5, Achieve($class_per_total, $class_acc_total), $pdec); $rep->Font(); $rep->NewLine(2); $salesper += $class_per_total; $salesacc += $class_acc_total; } $rep->Font('bold'); $rep->TextCol(0, 2, _('Calculated Return')); $rep->AmountCol(2, 3, $salesper * -1, $dec); // always convert $rep->AmountCol(3, 4, $salesacc * -1, $dec); $rep->AmountCol(4, 5, Achieve($salesper, $salesacc), $pdec); if ($graphics) { $pg->x[] = _('Calculated Return'); $pg->y[] = abs($salesper); $pg->z[] = abs($salesacc); } $rep->Font(); $rep->NewLine(); $rep->Line($rep->row); if ($graphics) { global $decseps, $graph_skin; $pg->title = $rep->title; $pg->axis_x = _("Group"); $pg->axis_y = _("Amount"); $pg->graphic_1 = $headers[2]; $pg->graphic_2 = $headers[3]; $pg->type = $graphics; $pg->skin = $graph_skin; $pg->built_in = false; $pg->latin_notation = $decseps[$_SESSION["wa_current_user"]->prefs->dec_sep()] != "."; $filename = company_path() . "/pdf_files/" . uniqid("") . ".png"; $pg->display($filename, true); $w = $pg->width / 1.5; $h = $pg->height / 1.5; $x = ($rep->pageWidth - $w) / 2; $rep->NewLine(2); if ($rep->row - $h < $rep->bottomMargin) { $rep->NewPage(); } $rep->AddImage($filename, $x, $rep->row - $h, $w, $h); } $rep->End(); }
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 = 2; $fno = explode("-", $from); $tno = explode("-", $to); $from = min($fno[0], $tno[0]); $to = max($fno[0], $tno[0]); $cols = array(-20, 15, 20, 100, 130, 200, 255, 285, 335, 385, 440, 480, 550, 600); // $headers in doctext.inc $aligns = array('left', 'left', 'left', 'left', 'left', 'left', 'left', 'right', '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); $credit_no = get_custom_no($myrow['trans_no'], ST_CUSTCREDIT); $imc = get_imc_name($branch['branch_code']); $rep->NewLine(9); $rep->TextCol(6, 8, $myrow['TranDate']); $rep->NewLine(1); $oldrow = $rep->row; $rep->TextColLines(0, 12, $branch['br_name'], -2); $newrow = $rep->row; $rep->row = $oldrow; $rep->NewLine(3); $rep->TextCol(0, 3, "Ref. Invoice # " . $invoice_no, -2); $rep->TextCol(3, 5, "Credit#" . $credit_no, -2); $rep->TextCol(5, 8, $imc, -2); $rep->NewLine(2); $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(2, 5, $myrow2['StockDescription'], -2); $newrow = $rep->row; $rep->row = $oldrow; $rep->TextCol(0, 1, $DisplayQty . " " . $myrow2['units'], -2); $rep->TextCol(6, 7, $DisplayPrice, -2); $rep->TextCol(7, 8, $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 = $SubTotal; $DisplayFreight = number_format2($sign * $myrow["ov_freight"], $dec); $DisplayTotal = $sign * ($myrow["ov_freight"] + $myrow["ov_gst"] + $myrow["ov_amount"] + $myrow["ov_freight_tax"]); $sub = $myrow["ov_freight"] + $myrow["ov_gst"] + $myrow["ov_amount"] + $myrow["ov_freight_tax"]; $Discount = abs($SubTotal) * ($myrow['bulk_discount'] / 100); //$rep->row = $rep->bottomMargin + (15 * $rep->lineHeight); $doctype = ST_CUSTCREDIT; $rep->NewLine(2); $rep->Font('bold'); $rep->TextCol(4, 7, _("Total Amount : "), -2); $rep->AmountCol(7, 8, $DisplaySubTot, 2); $rep->NewLine(); $rep->TextCol(4, 7, _("Volume Discount : "), -2); $rep->AmountCol(7, 8, $Discount, 2); $rep->NewLine(); $rep->TextCol(4, 7, _("Net Amount : "), -2); $rep->AmountCol(7, 8, $DisplayTotal, 2); $rep->Font(); if ($email == 1) { $myrow['dimension_id'] = $paylink; // helper for pmt link $rep->End($email); } } if ($email == 0) { $rep->End(); } }
function print_salesman_list() { global $path_to_root; $from = $_POST['PARAM_0']; $to = $_POST['PARAM_1']; $summary = $_POST['PARAM_2']; $comments = $_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_report.inc"; } $orientation = $orientation ? 'L' : 'P'; if ($summary == 0) { $sum = _("No"); } else { $sum = _("Yes"); } $dec = user_price_dec(); $cols = array(0, 60, 150, 220, 325, 385, 450, 515); $headers = array(_('Invoice'), _('Customer'), _('Branch'), _('Customer Ref'), _('Inv Date'), _('Total'), _('Provision')); $aligns = array('left', 'left', 'left', 'left', 'left', 'right', 'right'); $headers2 = array(_('Salesman'), " ", _('Phone'), _('Email'), _('Provision'), _('Break Pt.'), _('Provision') . " 2"); $params = array(0 => $comments, 1 => array('text' => _('Period'), 'from' => $from, 'to' => $to), 2 => array('text' => _('Summary Only'), 'from' => $sum, 'to' => '')); $aligns2 = $aligns; $rep = new FrontReport(_('Salesman Listing'), "SalesmanListing", user_pagesize(), 9, $orientation); if ($orientation == 'L') { recalculate_cols($cols); } $cols2 = $cols; $rep->Font(); $rep->Info($params, $cols, $headers, $aligns, $cols2, $headers2, $aligns2); $rep->NewPage(); $salesman = 0; $subtotal = $total = $subprov = $provtotal = 0; $result = GetSalesmanTrans($from, $to); while ($myrow = db_fetch($result)) { $rep->NewLine(0, 2, false, $salesman); if ($salesman != $myrow['salesman_code']) { if ($salesman != 0) { $rep->Line($rep->row - 8); $rep->NewLine(2); $rep->TextCol(0, 3, _('Total')); $rep->AmountCol(5, 6, $subtotal, $dec); $rep->AmountCol(6, 7, $subprov, $dec); $rep->Line($rep->row - 4); $rep->NewLine(2); } $rep->TextCol(0, 2, $myrow['salesman_code'] . " " . $myrow['salesman_name']); $rep->TextCol(2, 3, $myrow['salesman_phone']); $rep->TextCol(3, 4, $myrow['salesman_email']); $rep->TextCol(4, 5, number_format2($myrow['provision'], user_percent_dec()) . " %"); $rep->AmountCol(5, 6, $myrow['break_pt'], $dec); $rep->TextCol(6, 7, number_format2($myrow['provision2'], user_percent_dec()) . " %"); $rep->NewLine(2); $salesman = $myrow['salesman_code']; $total += $subtotal; $provtotal += $subprov; $subtotal = 0; $subprov = 0; } $rate = $myrow['rate']; $amt = $myrow['InvoiceTotal'] * $rate; if ($subprov > $myrow['break_pt'] && $myrow['provision2'] != 0) { $prov = $myrow['provision2'] * $amt / 100; } else { $prov = $myrow['provision'] * $amt / 100; } if (!$summary) { $rep->TextCol(0, 1, $myrow['trans_no']); $rep->TextCol(1, 2, $myrow['DebtorName']); $rep->TextCol(2, 3, $myrow['br_name']); $rep->TextCol(3, 4, $myrow['contact_name']); $rep->DateCol(4, 5, $myrow['tran_date'], true); $rep->AmountCol(5, 6, $amt, $dec); $rep->AmountCol(6, 7, $prov, $dec); $rep->NewLine(); } $subtotal += $amt; $subprov += $prov; } if ($salesman != 0) { $rep->Line($rep->row - 4); $rep->NewLine(2); $rep->TextCol(0, 3, _('Total')); $rep->AmountCol(5, 6, $subtotal, $dec); $rep->AmountCol(6, 7, $subprov, $dec); $rep->Line($rep->row - 4); $rep->NewLine(2); $total += $subtotal; $provtotal += $subprov; } $rep->fontSize += 2; $rep->TextCol(0, 3, _('Grand Total')); $rep->fontSize -= 2; $rep->AmountCol(5, 6, $total, $dec); $rep->AmountCol(6, 7, $provtotal, $dec); $rep->Line($rep->row - 4); $rep->NewLine(); $rep->End(); }
function print_price_listing() { global $comp_path, $path_to_root, $pic_height, $pic_width; include_once $path_to_root . "reporting/includes/pdf_report.inc"; $category = $_REQUEST['PARAM_0']; $salestype = $_REQUEST['PARAM_1']; $pictures = $_REQUEST['PARAM_2']; $showGP = $_REQUEST['PARAM_3']; $comments = $_REQUEST['PARAM_4']; $dec = user_price_dec(); if ($category == reserved_words::get_all_numeric()) { $category = 0; } if ($salestype == reserved_words::get_all_numeric()) { $salestype = 0; } if ($category == 0) { $cat = tr('All'); } else { $cat = get_category_name($category); } if ($salestype == 0) { $stype = tr('All'); } else { $stype = get_sales_type_name($salestype); } if ($showGP == 0) { $GP = tr('No'); } else { $GP = tr('Yes'); } $cols = array(0, 100, 385, 450, 515); $headers = array(tr('Category/Items'), tr('Description'), tr('Price'), tr('GP %')); $aligns = array('left', 'left', 'right', 'right'); $params = array(0 => $comments, 1 => array('text' => tr('Category'), 'from' => $cat, 'to' => ''), 2 => array('text' => tr('Sales Type'), 'from' => $stype, 'to' => ''), 3 => array('text' => tr('Show GP %'), 'from' => $GP, 'to' => '')); if ($pictures) { $user_comp = user_company(); } else { $user_comp = ""; } $rep = new FrontReport(tr('Price Listing'), "PriceListing.pdf", user_pagesize()); $rep->Font(); $rep->Info($params, $cols, $headers, $aligns); $rep->Header(); $result = fetch_prices($category, $salestype); $currcode = ''; $catgor = ''; while ($myrow = db_fetch($result)) { if ($currcode != $myrow['curr_abrev']) { $rep->NewLine(2); $rep->fontSize += 2; $rep->TextCol(0, 3, $myrow['curr_abrev'] . " " . tr('Prices')); $currcode = $myrow['curr_abrev']; $rep->fontSize -= 2; $rep->NewLine(); } if ($catgor != $myrow['description']) { $rep->Line($rep->row - $rep->lineHeight); $rep->NewLine(2); $rep->fontSize += 2; $rep->TextCol(0, 3, $myrow['category_id'] . " - " . $myrow['description']); $catgor = $myrow['description']; $rep->fontSize -= 2; $rep->NewLine(); } $rep->NewLine(); $rep->TextCol(0, 1, $myrow['stock_id']); $rep->TextCol(1, 2, $myrow['name']); $rep->TextCol(2, 3, number_format2($myrow['price'], $dec)); if ($showGP) { if ($myrow['price'] != 0.0) { $disp = ($myrow['price'] - $myrow['Standardcost']) * 100 / $myrow['price']; } else { $disp = 0.0; } $rep->TextCol(3, 4, number_format2($disp, user_percent_dec()) . " %"); } if ($pictures) { $image = $comp_path . '/' . $user_comp . "/images/" . $myrow['stock_id'] . ".jpg"; if (file_exists($image)) { $rep->NewLine(); if ($rep->row - $pic_height < $rep->bottomMargin) { $rep->Header(); } $rep->AddImage($image, $rep->cols[1], $rep->row - $pic_height, $pic_width, $pic_height); $rep->row -= $pic_height; $rep->NewLine(); } } else { $rep->NewLine(0, 1); } } $rep->Line($rep->row - 4); $rep->End(); }
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_deliveries() { global $path_to_root; include_once $path_to_root . "reporting/includes/pdf_report.inc"; $from = $_REQUEST['PARAM_0']; $to = $_REQUEST['PARAM_1']; $email = $_REQUEST['PARAM_2']; $comments = $_REQUEST['PARAM_3']; if ($from == null) { $from = 0; } if ($to == null) { $to = 0; } $dec = user_price_dec(); $fno = explode("-", $from); $tno = explode("-", $to); $cols = array(5, 70, 260, 340, 365, 420, 470, 520); // $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(tr('DELIVERY'), "DeliveryNoteBulk.pdf", user_pagesize()); $rep->currency = $cur; $rep->fontSize = 10; $rep->Font(); $rep->Info($params, $cols, null, $aligns); } for ($i = $fno[0]; $i <= $tno[0]; $i++) { if (!exists_customer_trans(13, $i)) { continue; } $myrow = get_customer_trans($i, 13); $sales_order = get_sales_order_header($myrow["order_"]); // ? $branch = get_branch($myrow["branch_code"]); $lang = $branch["lang_code"]; // get language from customer readstrings($lang); $tax_group_id = $branch['tax_group_id']; $tax_rate = 0; $tax_name = ''; $msg = "Error retrieving tax values"; $sql = "select rate from tax_group_items "; $sql = $sql . "where tax_group_id=" . $tax_group_id . " limit 1"; $result1 = db_query($sql, $msg); if (db_num_rows($result1) != 0) { $myrow1 = db_fetch_row($result1); $tax_rate = $myrow1[0]; } $sql = "select name from tax_groups "; $sql = $sql . "where id=" . $tax_group_id . " limit 1"; $result1 = db_query($sql, $msg); if (db_num_rows($result1) != 0) { $myrow1 = db_fetch_row($result1); $tax_name = $myrow1[0]; } $tax_included = 0; if ($email == 1) { $rep = new FrontReport("", "", user_pagesize()); $rep->currency = $cur; $rep->Font(); $rep->title = tr('DELIVERY NOTE'); $rep->filename = "Delivery" . $myrow['reference'] . ".pdf"; $rep->Info($params, $cols, null, $aligns); } else { $rep->title = tr('DELIVERY NOTE'); } $rep->Header2($myrow, $branch, $sales_order, '', 13); $result = get_customer_trans_details(13, $i); $SubTotal = 0; while ($myrow2 = db_fetch($result)) { $Net = round((1 - $myrow2["discount_percent"]) * $myrow2["unit_price"] * $myrow2["quantity"], user_price_dec()); $SubTotal += $Net; $DisplayPrice = number_format2($myrow2["unit_price"], $dec, 1); $DisplayQty = number_format2($myrow2["quantity"], user_qty_dec(), 1); $DisplayNet = number_format2($Net, $dec, 1); $DisplayDate = sql2date($myrow2["date_from"], 1); if ($myrow2["discount_percent"] == 0) { $DisplayDiscount = ""; } else { $DisplayDiscount = number_format2($myrow2["discount_percent"] * 100, user_percent_dec(), 1) . "%"; } $rep->TextCol(0, 1, $myrow2['stock_id'], -2); $rep->TextCol(1, 2, $DisplayDate . " " . $myrow2['description'], -2); $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->NewLine(1); if ($rep->row < $rep->bottomMargin + 15 * $rep->lineHeight) { $rep->Header2($myrow, $branch, $sales_order, '', 13); } } $comments = get_comments(13, $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, 1); $DisplayFreight = number_format2($myrow["ov_freight"], $dec, 1); $rep->row = $rep->bottomMargin + 15 * $rep->lineHeight; $linetype = true; $doctype = 13; if ($rep->currency != $myrow['curr_code']) { include $path_to_root . "reporting/includes/doctext.inc"; } else { include $path_to_root . "reporting/includes/doctext.inc"; } $amount = $myrow["ov_freight"] + $SubTotal; $subtotal3 = number_format2($amount, $dec, 1); $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(); $rep->TextCol(3, 6, $doc_Sub_total, -2); $rep->TextCol(6, 7, $subtotal3, -2); $rep->NewLine(); $amount_tax = $amount / 100 * $tax_rate; if ($rep->currency == 'CHF') { $val = $amount_tax; $val1 = floatval(intval(round($val * 20, 0)) / 20); $amount_tax = $val1; } $amount_tot = $amount + $amount_tax; $DisplayTax = number_format2($amount_tax, $dec, 1); $DisplayTotal = number_format2($amount_tot, $dec, 1); if ($tax_included) { $rep->TextCol(3, 7, $doc_Included . " " . $tax_nmae . " (" . $tax_rate . "%) " . $doc_Amount . ":" . $DisplayTax, -2); } else { $rep->TextCol(3, 6, $tax_name . " (" . $tax_rate . "%)", -2); $rep->TextCol(6, 7, $DisplayTax, -2); } $rep->NewLine(); $rep->Font('bold'); $rep->TextCol(3, 6, $doc_TOTAL_DELIVERY, -2); $rep->TextCol(6, 7, $DisplayTotal, -2); $rep->Font(); /* $tax_items = get_customer_trans_tax_details(13, $i); while ($tax_item = db_fetch($tax_items)) { $DisplayTax = number_format2($tax_item['amount'], $dec,1); if ($tax_item['included_in_price']) { $rep->TextCol(3, 7, $doc_Included . " " . $tax_item['tax_type_name'] . " (" . $tax_item['rate'] . "%) " . $doc_Amount . ":" . $DisplayTax, -2); } else { $rep->TextCol(3, 6, $tax_item['tax_type_name'] . " (" . $tax_item['rate'] . "%)", -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,1); $rep->Font('bold'); $rep->TextCol(3, 6, $doc_TOTAL_DELIVERY, - 2); $rep->TextCol(6, 7, $DisplayTotal, -2); $rep->Font(); */ if ($email == 1) { $myrow['dimension_id'] = $paylink; // helper for pmt link if ($myrow['email'] == '') { $myrow['email'] = $branch['email']; $myrow['DebtorName'] = $branch['br_name']; } $rep->End($email, $doc_Delivery_no . " " . $myrow['reference'], $myrow, 13); } } if ($email == 0) { $rep->End(); } }
$theme = user_theme(); set_user_prefs($_POST['prices'], $_POST['Quantities'], $_POST['Rates'], $_POST['Percent'], check_value('show_gl'), check_value('show_codes'), $_POST['date_format'], $_POST['date_sep'], $_POST['tho_sep'], $_POST['dec_sep'], $_POST['theme'], $_POST['page_size']); language::set_language($_POST['language']); flush_dir($comp_path . '/' . user_company() . '/js_cache'); if (user_theme() != $theme) { reload_page(""); } display_notification_centered(tr("Display settings have been updated.")); } start_form(); start_table($table_style2); table_section_title(tr("Decimal Places")); text_row_ex(tr("Prices/Amounts:"), 'prices', 5, 5, user_price_dec()); text_row_ex(tr("Quantities:"), 'Quantities', 5, 5, user_qty_dec()); text_row_ex(tr("Exchange Rates:"), 'Rates', 5, 5, user_exrate_dec()); text_row_ex(tr("Percentages:"), 'Percent', 5, 5, user_percent_dec()); table_section_title(tr("Dateformat and Separators")); dateformats_list_row(tr("Dateformat:"), "date_format", user_date_format()); dateseps_list_row(tr("Date Separator:"), "date_sep", user_date_sep()); /* The array $dateseps is set up in config.php for modifications possible separators can be added by modifying the array definition by editing that file */ thoseps_list_row(tr("Thousand Separator:"), "tho_sep", user_tho_sep()); /* The array $thoseps is set up in config.php for modifications possible separators can be added by modifying the array definition by editing that file */ decseps_list_row(tr("Decimal Separator:"), "dec_sep", user_dec_sep()); /* The array $decseps is set up in config.php for modifications possible separators can be added by modifying the array definition by editing that file */ table_section_title(tr("Miscellaneous")); check_row(tr("Show GL Information:"), 'show_gl', user_show_gl_info()); check_row(tr("Show Item Codes:"), 'show_codes', user_show_codes()); themes_list_row(tr("Theme:"), "theme", user_theme());
function percent_row($label, $name, $init = null) { if (!isset($_POST[$name]) || $_POST[$name] == "") { $_POST[$name] = $init == null ? '' : $init; } $this->small_amount_row($label, $name, $_POST[$name], null, "%", user_percent_dec()); }
function display_profit_and_loss() { global $path_to_root, $sel; if (!isset($_POST['Dimension'])) { $_POST['Dimension'] = 0; } if (!isset($_POST['Dimension2'])) { $_POST['Dimension2'] = 0; } $dimension = $_POST['Dimension']; $dimension2 = $_POST['Dimension2']; $from = $_POST['TransFromDate']; $to = $_POST['TransToDate']; $compare = $_POST['Compare']; if (isset($_POST["AccGrp"]) && strlen($_POST['AccGrp']) > 0) { $drilldown = 1; } else { $drilldown = 0; } // Root level $dec = 0; $pdec = user_percent_dec(); if ($compare == 0 || $compare == 2) { $end = $to; if ($compare == 2) { $begin = $from; } else { $begin = begin_fiscalyear(); } } elseif ($compare == 1) { $begin = add_months($from, -12); $end = add_months($to, -12); } div_start('pl_tbl'); start_table(TABLESTYLE, "width=50%"); $tableheader = "<tr>\n <td class='tableheader'>" . _("Group/Account Name") . "</td>\n <td class='tableheader'>" . _("Period") . "</td>\n\t\t<td class='tableheader'>" . $sel[$compare] . "</td>\n\t\t<td class='tableheader'>" . _("Achieved %") . "</td>\n </tr>"; if (!$drilldown) { $parent = -1; $classper = 0.0; $classacc = 0.0; $salesper = 0.0; $salesacc = 0.0; //Get classes for PL $classresult = get_account_classes(false, 0); while ($class = db_fetch($classresult)) { $class_per_total = 0; $class_acc_total = 0; $convert = get_class_type_convert($class["ctype"]); //Print Class Name table_section_title($class["class_name"], 4); echo $tableheader; //Get Account groups/types under this group/type $typeresult = get_account_types(false, $class['cid'], -1); while ($accounttype = db_fetch($typeresult)) { $TypeTotal = display_type($accounttype["id"], $accounttype["name"], $from, $to, $begin, $end, $compare, $convert, $dec, $pdec, $rep, $dimension, $dimension2, $drilldown, $path_to_root); $class_per_total += $TypeTotal[0]; $class_acc_total += $TypeTotal[1]; if ($TypeTotal[0] != 0 || $TypeTotal[1] != 0) { $url = "<a href='{$path_to_root}/gl/inquiry/profit_loss.php?TransFromDate=" . $from . "&TransToDate=" . $to . "&Compare=" . $compare . "&Dimension=" . $dimension . "&Dimension2=" . $dimension2 . "&AccGrp=" . $accounttype['id'] . "'>" . $accounttype['id'] . " " . $accounttype['name'] . "</a>"; alt_table_row_color($k); label_cell($url); amount_cell($TypeTotal[0] * $convert); amount_cell($TypeTotal[1] * $convert); amount_cell(Achieve($TypeTotal[0], $TypeTotal[1])); end_row(); } } //Print Class Summary start_row("class='inquirybg' style='font-weight:bold'"); label_cell(_('Total') . " " . $class["class_name"]); amount_cell($class_per_total * $convert); amount_cell($class_acc_total * $convert); amount_cell(Achieve($class_per_total, $class_acc_total)); end_row(); $salesper += $class_per_total; $salesacc += $class_acc_total; } start_row("class='inquirybg' style='font-weight:bold'"); label_cell(_('Calculated Return')); amount_cell($salesper * -1); amount_cell($salesacc * -1); amount_cell(achieve($salesper, $salesacc)); end_row(); } else { //Level Pointer : Global variable defined in order to control display of root global $levelptr; $levelptr = 0; $accounttype = get_account_type($_POST["AccGrp"]); $classid = $accounttype["class_id"]; $class = get_account_class($classid); $convert = get_class_type_convert($class["ctype"]); //Print Class Name table_section_title($_POST["AccGrp"] . " " . get_account_type_name($_POST["AccGrp"]), 4); echo $tableheader; $classtotal = display_type($accounttype["id"], $accounttype["name"], $from, $to, $begin, $end, $compare, $convert, $dec, $pdec, $rep, $dimension, $dimension2, $drilldown, $path_to_root); } end_table(1); // outer table div_end(); }
function print_price_listing() { global $path_to_root, $pic_height, $pic_width; $currency = $_POST['PARAM_0']; $category = $_POST['PARAM_1']; $salestype = $_POST['PARAM_2']; $pictures = $_POST['PARAM_3']; $showGP = $_POST['PARAM_4']; $comments = $_POST['PARAM_5']; $orientation = $_POST['PARAM_6']; $destination = $_POST['PARAM_7']; if ($destination) { include_once $path_to_root . "/reporting/includes/excel_report.inc"; } else { include_once $path_to_root . "/reporting/includes/pdf_report.inc"; } $orientation = $orientation ? 'L' : 'P'; $dec = user_price_dec(); $home_curr = get_company_pref('curr_default'); if ($currency == ALL_TEXT) { $currency = $home_curr; } $curr = get_currency($currency); $curr_sel = $currency . " - " . $curr['currency']; if ($category == ALL_NUMERIC) { $category = 0; } if ($salestype == ALL_NUMERIC) { $salestype = 0; } if ($category == 0) { $cat = _('All'); } else { $cat = get_category_name($category); } if ($salestype == 0) { $stype = _('All'); } else { $stype = get_sales_type_name($salestype); } if ($showGP == 0) { $GP = _('No'); } else { $GP = _('Yes'); } $cols = array(0, 100, 360, 385, 450, 515); $headers = array(_('Category/Items'), _('Description'), _('UOM'), _('Price'), _('GP %')); $aligns = array('left', 'left', 'left', 'right', 'right'); $params = array(0 => $comments, 1 => array('text' => _('Currency'), 'from' => $curr_sel, 'to' => ''), 2 => array('text' => _('Category'), 'from' => $cat, 'to' => ''), 3 => array('text' => _('Sales Type'), 'from' => $stype, 'to' => ''), 4 => array('text' => _('Show GP %'), 'from' => $GP, 'to' => '')); if ($pictures) { $user_comp = user_company(); } else { $user_comp = ""; } $rep = new FrontReport(_('Price Listing'), "PriceListing", user_pagesize(), 9, $orientation); if ($orientation == 'L') { recalculate_cols($cols); } $rep->Font(); $rep->Info($params, $cols, $headers, $aligns); $rep->NewPage(); $result = fetch_items($category); $catgor = ''; $_POST['sales_type_id'] = $salestype; while ($myrow = db_fetch($result)) { if ($catgor != $myrow['description']) { $rep->Line($rep->row - $rep->lineHeight); $rep->NewLine(2); $rep->fontSize += 2; $rep->TextCol(0, 3, $myrow['category_id'] . " - " . $myrow['description']); $catgor = $myrow['description']; $rep->fontSize -= 2; $rep->NewLine(); } $rep->NewLine(); $rep->TextCol(0, 1, $myrow['stock_id']); $rep->TextCol(1, 2, $myrow['name']); $rep->TextCol(2, 3, $myrow['units']); $price = get_price($myrow['stock_id'], $currency, $salestype); $rep->AmountCol(3, 4, $price, $dec); if ($showGP) { $price2 = get_price($myrow['stock_id'], $home_curr, $salestype); if ($price2 != 0.0) { $disp = ($price2 - $myrow['Standardcost']) * 100 / $price2; } else { $disp = 0.0; } $rep->TextCol(4, 5, number_format2($disp, user_percent_dec()) . " %"); } if ($pictures) { $image = company_path() . "/images/" . item_img_name($myrow['stock_id']) . ".jpg"; if (file_exists($image)) { $rep->NewLine(); if ($rep->row - $pic_height < $rep->bottomMargin) { $rep->NewPage(); } $rep->AddImage($image, $rep->cols[1], $rep->row - $pic_height, 0, $pic_height); $rep->row -= $pic_height; $rep->NewLine(); } } else { $rep->NewLine(0, 1); } } $rep->Line($rep->row - 4); $result = get_kits($category); $catgor = ''; while ($myrow = db_fetch($result)) { if ($catgor != $myrow['cat_name']) { if ($catgor == '') { $rep->NewLine(2); $rep->fontSize += 2; $rep->TextCol(0, 3, _("Sales Kits")); $rep->fontSize -= 2; } $rep->Line($rep->row - $rep->lineHeight); $rep->NewLine(2); $rep->fontSize += 2; $rep->TextCol(0, 3, $myrow['cat_id'] . " - " . $myrow['cat_name']); $catgor = $myrow['cat_name']; $rep->fontSize -= 2; $rep->NewLine(); } $rep->NewLine(); $rep->TextCol(0, 1, $myrow['kit_code']); $rep->TextCol(1, 3, $myrow['kit_name']); $price = get_kit_price($myrow['kit_code'], $currency, $salestype); $rep->AmountCol(3, 4, $price, $dec); $rep->NewLine(0, 1); } $rep->Line($rep->row - 4); $rep->NewLine(); $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']; $customer = $_POST['PARAM_6']; $orientation = $_POST['PARAM_7']; 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, 40, 60, 100, 200, 250, 300, 320, 400, 450); // $headers in doctext.inc $aligns = array('left', 'left', 'left', 'left', 'right', 'right', 'right', 'right', '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(0); $rep->currency = $cur; $rep->Font(); $rep->Info($null, $cols, null, $aligns); //$contacts = get_branch_contacts($branch['branch_code'], 'invoice', $branch['debtor_no'], true); //$baccount['payment_service'] = $pay_service; $salesman = get_imc_code($branch['branch_code']); $pay_term = get_payment_terms($myrow['payment_terms']); $rep->NewPage(); $result = get_customer_trans_details(ST_SALESINVOICE, $i); $SubTotal = 0; $rep->NewLine(12); $rep->TextCol(2, 7, _("Customer Name : " . $branch['br_name'])); $rep->TextCol(8, 9, _("Discount : ")); $rep->NewLine(); $rep->TextCol(2, 5, _("Customer Code : " . $branch['branch_ref'])); $rep->TextCol(7, 9, _("IMC Code : " . $salesman)); $rep->NewLine(); $rep->TextCol(2, 5, _("Contact Person : ")); $rep->TextCol(7, 9, _("Terms : " . $pay_term['terms'])); $rep->NewLine(); $rep->TextCol(2, 5, _("Address : " . $branch['br_address'])); $rep->NewLine(5); $rep->Font('bold'); $rep->Line($rep->row + 10); $rep->TextCol(2, 5, _("Item Description")); $rep->TextCol(5, 6, _("Quantity")); $rep->TextCol(7, 8, _("Unit Price")); $rep->TextCol(9, 10, _("Total Amount")); $rep->Line($rep->row - 4); $rep->NewLine(2); $rep->Font(); 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()); $Net2 = round2($sign * ($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); $dNet = number_format2($Net2, $dec); /*if ($myrow2["discount_percent"]==0) $DisplayDiscount =""; else $DisplayDiscount = number_format2($myrow2["discount_percent"]*100,user_percent_dec()) . "%";*/ if ($myrow["ov_discount"] == 0) { $DisplayDiscount = ""; } else { $DisplayDiscount = number_format2($myrow["ov_discount"] / $myrow["ov_amount"] * 100, user_percent_dec()) . "%"; } $rep->TextCol(0, 2, $myrow2['stock_id'], -2); $oldrow = $rep->row; $rep->TextColLines(2, 4, $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(5, 6, $DisplayQty . " " . $myrow2['units']); //$rep->TextCol(5, 6, $myrow2['units'], -2); $rep->TextCol(7, 8, $DisplayPrice, -2); //$rep->TextCol(5, 6, $DisplayDiscount, -2); $rep->TextCol(8, 10, $dNet, -2); } $rep->row = $newrow; //$rep->NewLine(1); if ($rep->row < $rep->bottomMargin + 15 * $rep->lineHeight) { $rep->NewPage(); } } $memo = get_comments_string(ST_SALESINVOICE, $i); if ($memo != "") { $rep->NewLine(); $rep->TextColLines(1, 5, $memo, -2); } $DisplayNet = number_format2($SubTotal - $myrow["ov_discount"], $dec); $DisplaySubTot = number_format2($SubTotal, $dec); $DisplayFreight = number_format2($sign * $myrow["ov_freight"], $dec); $rep->row = $rep->bottomMargin + 15 * $rep->lineHeight; $doctype = ST_SALESINVOICE; $rep->NewLine(); $rep->Font('bold'); $rep->TextCol(8, 9, _("Shipping : "), -2); $rep->TextCol(9, 10, $DisplayFreight, -2); $rep->NewLine(); $rep->TextCol(8, 9, _("Less : ")); $rep->TextCol(9, 10, $DisplayDiscount, -2); $rep->NewLine(); $rep->TextCol(8, 9, _("Net Amount : "), -2); $rep->TextCol(9, 10, $DisplayNet, -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(); } }
label_cell($myrow["name"]); label_cell(percent_format($myrow["rate"]), "align=right"); label_cell($myrow["sales_gl_code"] . " " . $myrow["SalesAccountName"]); label_cell($myrow["purchasing_gl_code"] . " " . $myrow["PurchasingAccountName"]); edit_link_cell("selected_id=" . $myrow["id"]); delete_link_cell("selected_id=" . $myrow["id"] . "&delete=1"); end_row(); } end_table(); //----------------------------------------------------------------------------------- hyperlink_no_params($_SERVER['PHP_SELF'], tr("New Tax Type")); //----------------------------------------------------------------------------------- start_form(); start_table($table_style2); if (isset($selected_id)) { //editing an existing status code $myrow = get_tax_type($selected_id); $_POST['name'] = $myrow["name"]; $_POST['rate'] = percent_format($myrow["rate"]); $_POST['sales_gl_code'] = $myrow["sales_gl_code"]; $_POST['purchasing_gl_code'] = $myrow["purchasing_gl_code"]; hidden('selected_id', $selected_id); } text_row_ex(tr("Description:"), 'name', 50); small_amount_row(tr("Default Rate:"), 'rate', '', "", "%", user_percent_dec()); gl_all_accounts_list_row(tr("Sales GL Account:"), 'sales_gl_code', null); gl_all_accounts_list_row(tr("Purchasing GL Account:"), 'purchasing_gl_code', null); end_table(1); submit_add_or_update_center(!isset($selected_id)); end_form(); end_page();
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(); } }
} hidden('selected_id', $selected_id); } text_row_ex(tr("Description:"), 'name', 40); yesno_list_row(tr("Tax Shipping:"), 'tax_shipping', null, "", "", true); end_table(); display_note(tr("Select the taxes that are included in this group."), 1); start_table($table_style2); $th = array(tr("Tax"), tr("Default Rate (%)"), tr("Rate (%)")); table_header($th); for ($i = 0; $i < 5; $i++) { start_row(); if (!isset($_POST['tax_type_id' . $i])) { $_POST['tax_type_id' . $i] = 0; } tax_types_list_cells(null, 'tax_type_id' . $i, $_POST['tax_type_id' . $i], true, tr("None"), true); if ($_POST['tax_type_id' . $i] != 0 && $_POST['tax_type_id' . $i] != reserved_words::get_all_numeric()) { $default_rate = get_tax_type_default_rate($_POST['tax_type_id' . $i]); label_cell(percent_format($default_rate), "nowrap align=right"); if (!isset($_POST['rate' . $i]) || $_POST['rate' . $i] == "") { $_POST['rate' . $i] = percent_format($default_rate); } small_amount_cells(null, 'rate' . $i, $_POST['rate' . $i], null, null, user_percent_dec()); } end_row(); } end_table(1); submit_add_or_update_center(!isset($selected_id)); end_form(); //------------------------------------------------------------------------------------ end_page();
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 printit($from, $to, $currency, $bank, $email, $quote, $comments, $file) { global $path_to_root; global $print_as_quote; include_once $path_to_root . "reporting/includes/pdf_report.inc"; $dec = user_price_dec(); $cols = array(5, 70, 260, 340, 365, 420, 470, 520); // $headers in doctext.inc $aligns = array('left', 'left', 'right', 'left', 'right', 'right', 'right'); $params = array('comments' => $comments, 'bankaccount' => $bankaccount); $baccount = get_bank_account($params['bankaccount']); $cur = get_company_Pref('curr_default'); if ($quote == 1) { $print_as_quote = 1; } if ($email == 0) { if ($quote == 1) { $rep = new FrontReport(tr("QUOTE"), "QuoteBulk.pdf", user_pagesize()); } else { $rep = new FrontReport(tr("SALES ORDER"), "SalesOrderBulk.pdf", user_pagesize()); } $rep->currency = $cur; $rep->fontSize = 10; $rep->Font(); $rep->Info($params, $cols, null, $aligns); } for ($i = $from; $i <= $to; $i++) { $myrow = get_sales_order_header($i); $branch = get_branch($myrow["branch_code"]); $lang = $branch["lang_code"]; // get language from customer readstrings($lang); $tax_group_id = $branch['tax_group_id']; $tax_rate = 0; $tax_name = ''; $msg = "Error retrieving tax values"; $sql = "select rate from tax_group_items "; $sql = $sql . "where tax_group_id=" . $tax_group_id . " limit 1"; $result1 = db_query($sql, $msg); if (db_num_rows($result1) != 0) { $myrow1 = db_fetch_row($result1); $tax_rate = $myrow1[0]; } $sql = "select name from tax_groups "; $sql = $sql . "where id=" . $tax_group_id . " limit 1"; $result1 = db_query($sql, $msg); if (db_num_rows($result1) != 0) { $myrow1 = db_fetch_row($result1); $tax_name = $myrow1[0]; } $tax_included = 0; if ($email == 1) { $rep = new FrontReport("", "", user_pagesize()); $rep->currency = $cur; $rep->Font(); if ($quote == 1) { $rep->title = tr("QUOTE"); $rep->filename = "Quote" . $i . ".pdf"; } else { $rep->title = tr("SALES ORDER"); $rep->filename = "SalesOrder" . $i . ".pdf"; } $rep->Info($params, $cols, null, $aligns); } else { $rep->title = $quote == 1 ? tr("QUOTE") : tr("SALES ORDER"); } $rep->Header2($myrow, $branch, $myrow, $baccount, 9); $result = get_sales_order_details($i); $SubTotal = 0; while ($myrow2 = db_fetch($result)) { $Net = round((1 - $myrow2["discount_percent"]) * $myrow2["unit_price"] * $myrow2["quantity"], user_price_dec()); $SubTotal += $Net; $DisplayPrice = number_format2($myrow2["unit_price"], $dec, 1); $DisplayQty = number_format2($myrow2["quantity"], user_qty_dec(), 1); $DisplayNet = number_format2($Net, $dec, 1); $DisplayDate = sql2date($myrow2["date_from"], 1); if ($myrow2["discount_percent"] == 0) { $DisplayDiscount = ""; } else { $DisplayDiscount = number_format2($myrow2["discount_percent"] * 100, user_percent_dec(), 1) . "%"; } $rep->TextCol(0, 1, $myrow2['stk_code'], -2); $rep->TextCol(1, 2, $DisplayDate . " " . $myrow2['description'], -2); $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->NewLine(1); if ($rep->row < $rep->bottomMargin + 15 * $rep->lineHeight) { $rep->Header2($myrow, $branch, $sales_order, $baccount); } if ($myrow2['notes'] != "") { $rep->TextColLines(1, 2, $myrow2['notes'], -2); } } if ($myrow['comments'] != "") { $rep->NewLine(); $rep->TextColLines(1, 5, $myrow['comments'], -2); } $DisplaySubTot = number_format2($SubTotal, $dec, 1); $DisplayFreight = number_format2($myrow["freight_cost"], $dec, 1); $rep->row = $rep->bottomMargin + 15 * $rep->lineHeight; $linetype = true; $doctype = 9; if ($rep->currency != $myrow['curr_code']) { include $path_to_root . "reporting/includes/doctext.inc"; } else { include $path_to_root . "reporting/includes/doctext.inc"; } $amount = $myrow["freight_cost"] + $SubTotal; $subtotal3 = number_format2($amount, $dec, 1); $rep->TextCol(3, 6, $doc_Sub_total, -4); $rep->TextCol(6, 7, $DisplaySubTot, -4); $rep->NewLine(); $rep->TextCol(3, 6, $doc_Shipping, -3); $rep->TextCol(6, 7, $DisplayFreight, -3); $rep->NewLine(); $rep->TextCol(3, 6, $doc_Sub_total, -2); $rep->TextCol(6, 7, $subtotal3, -2); $rep->NewLine(); $amount_tax = $amount / 100 * $tax_rate; if ($rep->currency == 'CHF') { $val = $amount_tax; $val1 = floatval(intval(round($val * 20, 0)) / 20); $amount_tax = $val1; } $amount_tot = $amount + $amount_tax; $DisplayTax = number_format2($amount_tax, $dec, 1); $DisplayTotal = number_format2($amount_tot, $dec, 1); if ($tax_included) { $rep->TextCol(3, 7, $doc_Included . " " . $tax_nmae . " (" . $tax_rate . "%) " . $doc_Amount . ":" . $DisplayTax, -2); } else { $rep->TextCol(3, 6, $tax_name . " (" . $tax_rate . "%)", -2); $rep->TextCol(6, 7, $DisplayTax, -2); } $rep->NewLine(); $rep->Font('bold'); $rep->TextCol(3, 6, $doc_TOTAL_ORDER_INCL, -2); $rep->TextCol(6, 7, $DisplayTotal, -2); $rep->Font(); if ($email == 1) { if ($myrow['contact_email'] == '') { $myrow['contact_email'] = $branch['email']; $myrow['DebtorName'] = $branch['br_name']; } $rep->End($file); } } if ($email == 0) { $rep->End($file); } }