X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Fincludes%2Freporting.inc;h=e514d769244c531b3eaad204b4d07c290fd0f098;hb=b6af4ea4c99734cfd051395289107bbba5a405e9;hp=f1da464eaabb1e333b21d9a8ea0d2d94d97b317a;hpb=c9190b6913691b997ba27e0804e329ee7a3d6f53;p=fa-stable.git diff --git a/reporting/includes/reporting.inc b/reporting/includes/reporting.inc index f1da464e..e514d769 100644 --- a/reporting/includes/reporting.inc +++ b/reporting/includes/reporting.inc @@ -1,75 +1,106 @@ . +***********************************************************************/ +// Link to printing single document with bulk report template file. +// Ex. label_cell(print_document_link($myrow['order_no'], _("Print")), $type); +// or display_note(print_document_link($order_no, _("Print this order"))); +// You only need full parameter list for invoices/credit notes -// Put this on the page only once, e.g. print_hidden_script(systypes::sales_order()); - -function print_hidden_script($type_no) +function print_document_link($doc_no, $link_text, $link=true, $type_no, $icon=false) { global $path_to_root; include_once($path_to_root . "/includes/types.inc"); - $action = ""; - $_POST['PARAM_0'] = $_POST['PARAM_1'] = 0; // the document no. is updated in print_document_link(). + + $url = $path_to_root.'/reporting/prn_redirect.php?'; switch ($type_no) { case systypes::sales_order() : - $action = "$path_to_root/reporting/rep109.php"; - $_POST['PARAM_2'] = ""; // currency - $_POST['PARAM_3'] = ""; // bank account - $_POST['PARAM_4'] = 0; // email - $_POST['PARAM_5'] = 0; // quote - $_POST['PARAM_6'] = ""; // comments - $params = 7; + $rep = 109; + // from, to, currency, bank acc, email, quote, comments + $ar = array( + 'PARAM_0' => $doc_no, + 'PARAM_1' => $doc_no, + 'PARAM_2' => "", + 'PARAM_3' => get_first_bank_account(), + 'PARAM_4' => 0, + 'PARAM_5' => 0, + 'PARAM_6' => ""); break; case systypes::cust_dispatch() : - $action = "$path_to_root/reporting/rep110.php"; - $_POST['PARAM_2'] = 0; // email - $_POST['PARAM_3'] = ""; // comments - $params = 4; + $rep = 110; + // from, to, email, comments + $ar = array( + 'PARAM_0' => $doc_no, + 'PARAM_1' => $doc_no, + 'PARAM_2' => 0, + 'PARAM_3' => ""); break; case 10 : // Sales Invoice case 11 : // Customer Credit Note - $action = "$path_to_root/reporting/rep107.php"; - $_POST['PARAM_2'] = ""; // currency - $_POST['PARAM_3'] = ""; // bank account - $_POST['PARAM_4'] = 0; // email - $_POST['PARAM_5'] = ""; // paylink - $_POST['PARAM_6'] = ""; // comments - $params = 7; + $rep = 107; + // from, to, currency, bank acc, email, paylink, comments, type + $ar = array( + 'PARAM_0' => $doc_no, + 'PARAM_1' => $doc_no, + 'PARAM_2' => "", + 'PARAM_3' => get_first_bank_account(), + 'PARAM_4' => 0, + 'PARAM_5' => "", + 'PARAM_6' => "", + 'PARAM_7' => $type_no); break; case systypes::po() : - $action = "$path_to_root/reporting/rep209.php"; - $_POST['PARAM_2'] = ""; // currency - $_POST['PARAM_3'] = ""; // bank account - $_POST['PARAM_4'] = 0; // email - $_POST['PARAM_5'] = ""; // comments - $params = 6; + $rep = 209; + // from, to, currency, bank acc, email, comments + $ar = array( + 'PARAM_0' => $doc_no, + 'PARAM_1' => $doc_no, + 'PARAM_2' => "", + 'PARAM_3' => get_first_bank_account(), + 'PARAM_4' => 0, + 'PARAM_5' => ""); break; +// default: $ar = array(); } - $st = ""; - for ($i = 0; $i < $params; $i++) - { - $st .= ""; - } - $st = "
" . $st . "
\n"; - echo $st; + + return print_link($link_text, $rep, $ar, "", $icon); } +// +// Universal link to any kind of report. +// +function print_link($link_text, $rep, $pars = array(), $dir = '', $icon=false) +{ + global $path_to_root, $pdf_debug; -// Ex. label_cell(print_document_link($myrow['order_no'], _("Print"))); -// or display_note(print_document_link($order_no, _("Print this order"))); -// or if a button -// echo "\n"; + $url = $dir == '' ? $path_to_root.'/reporting/prn_redirect.php?' : $dir; + + foreach($pars as $par => $val) { + $pars[$par] = "$par=".urlencode($val); + } + $pars[] = 'REP_ID='.urlencode($rep); + $url .= implode ('&', $pars); + $class = $pdf_debug ? '' : "class='printlink'"; + $pars = access_string($link_text); + if (user_graphic_links() && $icon) + $pars[0] = set_icon($icon, $pars[0]); + return "$pars[0]"; +} -function print_document_link($doc_no, $link_text, $link=true) +function get_first_bank_account() { - $st = "document.pdf_form.PARAM_0.value = '$doc_no';"; - $st .= "document.pdf_form.PARAM_1.value = '$doc_no';"; - $st .= "window.open('','REP_WINDOW','toolbar=no,scrollbar=no,resizable=yes,menubar=no'); - document.pdf_form.target='REP_WINDOW'; - document.pdf_form.submit();\n"; - if ($link) - return "" . $link_text . ""; - else - return "javascript:$st"; + $sql = "SELECT ".TB_PREF."bank_accounts.id FROM ".TB_PREF."bank_accounts, ".TB_PREF."company + WHERE bank_curr_code=curr_default LIMIT 0, 1"; + $result = db_query($sql); + $row = db_fetch_row($result); + return $row[0]; } ?> \ No newline at end of file