X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Fincludes%2Freporting.inc;h=4bcdad8397257c95ac4e3b6eeaf6f9d32839fcb5;hb=cc8de041156232390357cccd84da712f178b6d87;hp=c79aee7e33e6f23a9edc1fed1b2f358408571139;hpb=37da0ea920fdff712ccef4e1324aa822e981c8fc;p=fa-stable.git diff --git a/reporting/includes/reporting.inc b/reporting/includes/reporting.inc index c79aee7e..4bcdad83 100644 --- a/reporting/includes/reporting.inc +++ b/reporting/includes/reporting.inc @@ -1,93 +1,201 @@ . +***********************************************************************/ // 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 -function print_document_link($doc_no, $link_text, $link=true, $type_no) +function print_document_link($doc_no, $link_text, $link, $type_no, + $icon=false, $class='printlink', $id='', $email=0, $extra=0) { global $path_to_root; include_once($path_to_root . "/includes/types.inc"); $url = $path_to_root.'/reporting/prn_redirect.php?'; + $def_orientation = (user_def_print_orientation() == 1 ? 1 : 0); switch ($type_no) { - case systypes::sales_order() : + case ST_SALESQUOTE : + $rep = 111; + // 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_SALESORDER : $rep = 109; - // from, to, currency, bank acc, email, quote, comments + // from, to, currency, email, quote, comments, orientation $ar = array( 'PARAM_0' => $doc_no, 'PARAM_1' => $doc_no, - 'PARAM_2' => "", - 'PARAM_3' => get_first_bank_account(), + 'PARAM_2' => '', + 'PARAM_3' => $email, 'PARAM_4' => 0, - 'PARAM_5' => 0, - 'PARAM_6' => ""); + 'PARAM_5' => '', + 'PARAM_6' => $def_orientation); break; - case systypes::cust_dispatch() : + case ST_CUSTDELIVERY : $rep = 110; - // from, to, email, comments + // from, to, email, packing slip, comments, orientation $ar = array( 'PARAM_0' => $doc_no, 'PARAM_1' => $doc_no, - 'PARAM_2' => 0, - 'PARAM_3' => ""); + 'PARAM_2' => $email, + 'PARAM_3' => $extra, + 'PARAM_4' => '', + 'PARAM_5' => $def_orientation); break; - case 10 : // Sales Invoice - case 11 : // Customer Credit Note - $rep = 107; - // from, to, currency, bank acc, email, paylink, comments, type + 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' => $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); + '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 systypes::po() : + case ST_PURCHORDER : $rep = 209; - // from, to, currency, bank acc, email, comments + // from, to, currency, email, comments, orientation $ar = array( 'PARAM_0' => $doc_no, 'PARAM_1' => $doc_no, - 'PARAM_2' => "", - 'PARAM_3' => get_first_bank_account(), - 'PARAM_4' => 0, - 'PARAM_5' => ""); + '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' => $email, + 'PARAM_4' => '', + 'PARAM_5' => $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; -// default: $ar = array(); + 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; + case ST_DIMENSION : + $rep = 501; + // from, to, email, comments, orientation + $ar = array( + 'PARAM_0' => $doc_no, + 'PARAM_1' => $doc_no, + 'PARAM_2' => 1, + 'PARAM_3' => '', + 'PARAM_4' => $def_orientation); + break; + default: + return null; } - - return print_link($link_text, $rep, $ar); + + return print_link($link_text, $rep, $ar, "", $icon, $class, $id); } // // Universal link to any kind of report. // -function print_link($link_text, $rep, $pars = array(), $dir = '') +function print_link($link_text, $rep, $pars = array(), $dir = '', + $icon=false, $class='printlink', $id='') { - global $path_to_root; - + global $path_to_root, $SysPrefs; $url = $dir == '' ? $path_to_root.'/reporting/prn_redirect.php?' : $dir; + $id = default_focus($id); + $parm = array(); foreach($pars as $par => $val) { - $pars[$par] = "$par=".urlencode($val); + if ($val != "") + $parm[] = "$par=".urlencode($val); } - $pars[] = 'REP_ID='.urlencode($rep); - $url .= implode ('&', $pars); - - return "$link_text"; + $parm[] = 'REP_ID='.urlencode($rep); + $url .= implode ('&', $parm); + 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]"; } -function get_first_bank_account() -{ - $sql = "SELECT ".TB_PREF."bank_accounts.account_code 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]; +/* +// 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); + +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 +