X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Fincludes%2Freporting.inc;h=4f7f574a5c1f75862ed1b9cbc8f4b2d7798dd840;hb=d567a10b7925c8bb97c734e213d6651a979af29d;hp=75b8d76f30ebd6f389c00c072dd20d9bb6d96048;hpb=231b2de9031a927156a58998fdb5601447732b38;p=fa-stable.git diff --git a/reporting/includes/reporting.inc b/reporting/includes/reporting.inc index 75b8d76f..4f7f574a 100644 --- a/reporting/includes/reporting.inc +++ b/reporting/includes/reporting.inc @@ -1,101 +1,103 @@ . +***********************************************************************/ +// 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 an outside a form, e.g. print_hidden_script(systypes::sales_order()); -// If you have both invoices and credit notes on the same page use 10 or 11. Is doesn't matter which. - -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 = ""; + + $url = $path_to_root.'/reporting/prn_redirect.php?'; switch ($type_no) { case systypes::sales_order() : - $action = "$path_to_root/reporting/rep109.php"; + $rep = 109; + // from, to, currency, bank acc, email, quote, comments $ar = array( - 'PARAM_0' => 0, // from - these values are updated in print_document_link() - 'PARAM_1' => 0, // to - 'PARAM_2' => "", // currency - 'PARAM_3' => get_first_bank_account(), // bank account - 'PARAM_4' => 0, // email - 'PARAM_5' => 0, // quote - 'PARAM_6' => ""); // comments + '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"; + $rep = 110; + // from, to, email, comments $ar = array( - 'PARAM_0' => 0, // from - these values are updated in print_document_link() - 'PARAM_1' => 0, // to - 'PARAM_2' => 0, // email - 'PARAM_3' => ""); // comments + '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"; + $rep = 107; + // from, to, currency, bank acc, email, paylink, comments, type $ar = array( - 'PARAM_0' => 0, // from - these values are updated in print_document_link() - 'PARAM_1' => 0, // to - 'PARAM_2' => "", // currency - 'PARAM_3' => get_first_bank_account(), // bank account - 'PARAM_4' => 0, // email - 'PARAM_5' => "", // paylink - 'PARAM_6' => "", // comments - 'PARAM_7' => 0); // IV or CN + '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"; + $rep = 209; + // from, to, currency, bank acc, email, comments $ar = array( - 'PARAM_0' => 0, // from - these values are updated in print_document_link() - 'PARAM_1' => 0, // to - 'PARAM_2' => "", // currency - 'PARAM_3' => get_first_bank_account(), // bank account - 'PARAM_4' => 0, // email - 'PARAM_5' => ""); // comments + '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 = "
"; - foreach ($ar as $key => $value) - { - $st .= ""; - } - $st .= "
\n"; - $st .= "\n"; - - echo $st; + + return print_link($link_text, $rep, $ar, "", $icon); } - -// 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 -// button("button", _("Print this order"), print_document_link($order_no, "", false))"; -// or if a button inside a TD -// button_cell("button", _("Print this order"), print_document_link($order_no, "", false))"; // -// You only need full parameter list for invoices/credit notes - -function print_document_link($doc_no, $link_text, $link=true, $type_no=0) +// Universal link to any kind of report. +// +function print_link($link_text, $rep, $pars = array(), $dir = '', $icon=false) { - if ($link) - return "$link_text"; - else - return "javascript:printDocument('$doc_no', '$type_no');"; + global $path_to_root, $pdf_debug; + + $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 get_first_bank_account() { - $sql = "SELECT ".TB_PREF."bank_accounts.account_code FROM ".TB_PREF."bank_accounts, ".TB_PREF."company + $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);