X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Fincludes%2Freporting.inc;h=80632db211e2b2645413846bbad7ec37ef0d746d;hb=6bcd87642330092910f5d6977845a76ac59350ac;hp=c3fbc5bdd712cabd769fc6746ace383ae2bdf1c3;hpb=5795bbdeec703728e37a4ff3a5b00f90afe4365f;p=fa-stable.git diff --git a/reporting/includes/reporting.inc b/reporting/includes/reporting.inc index c3fbc5bd..80632db2 100644 --- a/reporting/includes/reporting.inc +++ b/reporting/includes/reporting.inc @@ -1,88 +1,190 @@ . +***********************************************************************/ +// 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, $class='printlink', $id='', $email=0, $extra=0) { global $path_to_root; include_once($path_to_root . "/includes/types.inc"); - $action = ""; + + $url = $path_to_root.'/reporting/prn_redirect.php?'; + $def_orientation = (user_def_print_orientation() == 1 ? 1 : 0); switch ($type_no) { - case systypes::sales_order() : - $action = "$path_to_root/reporting/rep109.php"; + case ST_SALESQUOTE : + $rep = 111; + // from, to, currency, email, comments, orientation $ar = array( - 'PARAM_0' => 0, // from - these values are updated in print_document_link() - 'PARAM_1' => 0, // to - 'PARAM_2' => "", // currency - 'PARAM_3' => "", // 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' => $email, + 'PARAM_4' => '', + 'PARAM_5' => $def_orientation); break; - case systypes::cust_dispatch() : - $action = "$path_to_root/reporting/rep110.php"; + case ST_SALESORDER : + $rep = 109; + // from, to, currency, email, quote, comments, orientation $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' => '', + 'PARAM_3' => $email, + 'PARAM_4' => 0, + 'PARAM_5' => '', + 'PARAM_6' => $def_orientation); break; - case 10 : // Sales Invoice - case 11 : // Customer Credit Note - $action = "$path_to_root/reporting/rep107.php"; + case ST_CUSTDELIVERY : + $rep = 110; + // from, to, email, packing slip, comments, orientation $ar = array( - 'PARAM_0' => 0, // from - these values are updated in print_document_link() - 'PARAM_1' => 0, // to - 'PARAM_2' => "", // currency - 'PARAM_3' => "", // bank account - 'PARAM_4' => 0, // email - 'PARAM_5' => "", // paylink - 'PARAM_6' => ""); // comments + 'PARAM_0' => $doc_no, + 'PARAM_1' => $doc_no, + 'PARAM_2' => $email, + 'PARAM_3' => $extra, + 'PARAM_4' => '', + 'PARAM_5' => $def_orientation); break; - case systypes::po() : - $action = "$path_to_root/reporting/rep209.php"; + case ST_SALESINVOICE : // Sales Invoice + case ST_CUSTCREDIT : // Customer Credit Note + $rep = $type_no==ST_CUSTCREDIT ? 113 : 107; + // from, to, currency, email, paylink, comments, orientation $ar = array( - 'PARAM_0' => 0, // from - these values are updated in print_document_link() - 'PARAM_1' => 0, // to - 'PARAM_2' => "", // currency - 'PARAM_3' => "", // bank account - 'PARAM_4' => 0, // email - 'PARAM_5' => ""); // comments + 'PARAM_0' => $doc_no, + 'PARAM_1' => $doc_no, + 'PARAM_2' => '', + 'PARAM_3' => $email, + 'PARAM_4' => '', + 'PARAM_5' => '', + 'PARAM_6' => $rep == 107 ? '' : $def_orientation); + if ($rep == 107) + $ar['PARAM_7'] = $def_orientation; break; + case ST_PURCHORDER : + $rep = 209; + // from, to, currency, email, comments, orientation + $ar = array( + 'PARAM_0' => $doc_no, + 'PARAM_1' => $doc_no, + 'PARAM_2' => '', + 'PARAM_3' => $email, + 'PARAM_4' => '', + 'PARAM_5' => $def_orientation); + break; + case ST_CUSTPAYMENT : + $rep = 112; + // from, to, currency, comments, orientation + $ar = array( + 'PARAM_0' => $doc_no, + 'PARAM_1' => $doc_no, + 'PARAM_2' => '', + 'PARAM_3' => '', + 'PARAM_4' => $def_orientation); + break; + case ST_SUPPAYMENT : + $rep = 210; + // from, to, currency, email, comments, orientation + $ar = array( + 'PARAM_0' => $doc_no, + 'PARAM_1' => $doc_no, + 'PARAM_2' => '', + 'PARAM_3' => $email, + 'PARAM_4' => '', + 'PARAM_5' => $def_orientation); + break; + case ST_WORKORDER : + $rep = 409; + // from, to, email, comments, orientation + $ar = array( + 'PARAM_0' => $doc_no, + 'PARAM_1' => $doc_no, + 'PARAM_2' => $email, + 'PARAM_3' => '', + 'PARAM_4' => $def_orientation); + break; + default: + return null; } - $st = "
"; - foreach ($ar as $key => $value) - { - $st .= ""; - } - $st .= "
\n"; - $st .= "\n"; +// +// Universal link to any kind of report. +// +function print_link($link_text, $rep, $pars = array(), $dir = '', + $icon=false, $class='printlink', $id='') +{ + global $path_to_root, $SysPrefs; + + $url = $dir == '' ? $path_to_root.'/reporting/prn_redirect.php?' : $dir; + + $id = default_focus($id); + foreach($pars as $par => $val) { + $pars[$par] = "$par=".urlencode($val); + } + $pars[] = 'REP_ID='.urlencode($rep); + $url .= implode ('&', $pars); - echo $st; + if ($class != '') + $class = $SysPrefs->pdf_debug ? '' : " class='$class'"; + if ($id != '') + $id = " id='$id'"; + $pars = access_string($link_text); + if (user_graphic_links() && $icon) + $pars[0] = set_icon($icon, $pars[0]); + return "$pars[0]"; } -// 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"; +/* +// Purpose: Function to parse a string into parameters +// Release Date: 2014-12-26 +// Author: ApMuthu +// Usage: +$str = "PPFrt#2000 CID#6378465 TaxEx#2345-038 abcde ertrgdert COD#4253 jdegtd PIN#6473654"; +$p = parse_notes_params($str); +echo print_r($p, true); -function print_document_link($doc_no, $link_text, $link=true) -{ - if ($link) - return "$link_text"; - else - return "javascript:printDocument('$doc_no');"; +An example of usage will be in the reporting/rep110.php file at near the end just before the last $rep-Font(); statement: + + + $notes_params = parse_notes_params($branch['notes']); + if ($packing_slip == 0 && array_key_exists('CID', $notes_params)) { + $rep->NewLine(1); + $rep->TextCol(1, 7, "Old Customer# : " . $notes_params['CID'], - 2); + } +*/ + +function parse_notes_params($str, $sep=" ", $delim="#") { + $str_params = explode($sep, $str); + $param_array=Array('notes' => ''); + foreach ($str_params AS $str_param) { + $param_set=explode($delim, trim($str_param)); + $key = (array_key_exists(0, $param_set) ? trim($param_set[0]) : ''); + $val = (array_key_exists(1, $param_set) ? trim($param_set[1]) : ''); + if (strlen($key) > 0 && strlen($val) > 0) { + $param_array[$key]=$val; + } else { + // stop at first missing parameter set + // break; + // Collect the rest into notes + $param_array['notes'] .= (" " . $str_param); + } + } + $param_array['notes'] = trim($param_array['notes']); + return $param_array; } -?> \ No newline at end of file +