X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=reporting%2Fincludes%2Freports_classes.inc;h=0d150930760c79f8c096e1599f1561f73c161a5a;hb=c82cbc67f22454e4afd30e53c40043b54a732be3;hp=e244b8ff89c0cbaa9e1e230571668212167b6092;hpb=099878cda61f8c47371f6f5f31b4fcf6acd3e27c;p=fa-stable.git
diff --git a/reporting/includes/reports_classes.inc b/reporting/includes/reports_classes.inc
index e244b8ff..0d150930 100644
--- a/reporting/includes/reports_classes.inc
+++ b/reporting/includes/reports_classes.inc
@@ -1,126 +1,183 @@
.
+***********************************************************************/
+
+// Standard report classess
+define('RC_CUSTOMER', 0);
+define('RC_SUPPLIER', 1);
+define('RC_INVENTORY', 2);
+define('RC_MANUFACTURE', 3);
+define('RC_DIMENSIONS', 4);
+define('RC_BANKING', 5);
+define('RC_GL', 6);
+define('RC_FIXEDASSETS', 7);
+
class BoxReports
{
- var $ar_classes;
+ var $ar_classes; // report class names
+ var $ar_reports;
+ var $ctrl_handlers = array();
- function ReportClasses()
+ function __construct()
{
$this->ar_classes = array();
}
- function addReportClass($class_name)
+ function addReportClass($class_name, $class_id=null)
{
- $this->ar_classes[$class_name] = array();
+ if (!$class_id)
+ $class_id = count_array($this->ar_classes);
+ $this->ar_classes[$class_id] = $class_name;
+
+ return $class_id;
}
- function addReport($class_name, $id, $rep_name, $params=null)
+ function addReport($class, $id, $rep_name, $params=null)
{
- $this->ar_classes[$class_name][] = new Report($id,$rep_name,$params);
+ unset($this->ar_reports[$class][$id]); // unset std report if any
+ $this->ar_reports[$class][$id] = new Report($id, $rep_name, $params);
}
function getDisplay($class=null)
{
- global $table_style2, $comp_path, $path_to_root;
+ global $path_to_root, $SysPrefs, $Ajax;
+
+ if (find_submit('Rep') != -1) {
+ include($path_to_root.'/reporting/prn_redirect.php');
+ return;
+ }
$temp = array_values($this->ar_classes);
$display_class = $class==null ? $temp[0] : $this->ar_classes[$class];
- $class_counter = 0;
- $rep_counter = 0;
$st_reports = "";
$st_params = "";
$st_classes = "" . _("Report Classes:") . "
";
- foreach($this->ar_classes as $key=>$value)
- {
- $style = $class_counter==0 ? '' : $style = "style='display:none'";
- $acc = access_string($key);
- $st_classes .= "$acc[0]
";
- $st_reports .= "
" . _("Reports For Class: ") . " $key |
";
- foreach($value as $report)
- { $acc = access_string($report->name);
- $st_reports .= "$acc[0] |
";
-
- $action = $path_to_root.'/reporting/prn_redirect.php';
-
- $st_params .= "";
+ if (isset($_GET['Class']))
+ set_focus('class'.$_GET['Class']);
+
+ $cur_class = $_REQUEST['Class'];
+
+ foreach($this->ar_classes as $class_id => $name)
+ {
+ if (!isset($this->ar_reports[$class_id]))
+ continue; // e.g. no dimensions
+
+ $acc = access_string($name);
+ $st_classes .= "$acc[0]
";
+
+ $style = $class_id==$cur_class ? '' : "style='display:none'";
+ $st_reports .= "";
}
- $st = "
- ";
- $st .= "";
+ $st_params = "".
+ "$st_params
";
+
+ $st = "";
$st .= "$st_classes | ";
- $st .= "$st_reports | ";
+ $st .= "$st_reports | ";
$st .= "$st_params | ";
$st .= "
";
return $st;
}
-}
-class Report
-{
- var $id;
- var $name;
- var $ar_params;
-
- function Report($id, $name, $ar_params)
+ function getOptions($controls, $id = 0)
{
- $this->id = $id;
- $this->name = $name;
- $this->ar_params = $ar_params;
- }
-
- function getDisplay()
- {
- global $path_to_root, $use_date_picker, $pdf_debug;
-
- $st = hidden('REP_ID', $this->id, false);
- $st .= submit('Rep'.$this->id,
- _("Display: ") . access_string($this->name,true),
- false, '', $pdf_debug==0) . '
';
- $dummy = "";
- if ($this->ar_params==null)
+ $st = '';
+ if ($controls == null)
return "";
- foreach($this->ar_params as $index=>$param)
+
+ $cnt = 0;
+ foreach($controls as $title => $type)
{
- $st .= $param->param_name . ':
';
- switch ($param->param_type)
+ $ctrl = '';
+ foreach($this->ctrl_handlers as $fun) { // first check for non-standard controls
+ $ctrl = $fun('PARAM_'.$cnt, $type);
+ if ($ctrl) break;
+ }
+ if ($ctrl == '') {
+ if (($id == 102 || $id == 202) && $cnt == 3) // set default Show Also Allocated to Yes in aged reports 2014-09-19 Joe Hunt
+ $_POST['PARAM_'.$cnt] = 1;
+
+ if (isset($_COOKIE['select'][$id][$cnt])) // saved parameters 2010-10-06 Joe Hunt
+ $_POST['PARAM_'.$cnt] = $_COOKIE['select'][$id][$cnt];
+ $ctrl = $this->get_ctrl('PARAM_'.$cnt, $type);
+ }
+ if ($ctrl != '') {
+ $st .= $title . ':
';
+ $st .= $ctrl;
+ $st .= "
";
+ } else {
+ display_error(_('Unknown report parameter type:').$type);
+ }
+ $cnt++;
+ }
+ return $st;
+ }
+
+ //
+ // Register additional control handler
+ // $handle - name of global function f($name, $type) returning html code for control
+ function register_controls($handler) {
+ $this->ctrl_handlers[] = $handler;
+ }
+ //
+ // Returns html code for input control $name of type $type
+ //
+ function get_ctrl($name, $type)
+ {
+ global $path_to_root, $SysPrefs,
+ $type_shortcuts;
+
+ $st = '';
+ switch ($type)
{
case 'CURRENCY':
- $sql = "SELECT curr_abrev, concat(curr_abrev,' - ', currency) FROM ".TB_PREF."currencies";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy, true, _("No Currency Filter"));
- break;
+ $sql = "SELECT curr_abrev, concat(curr_abrev,' - ', currency) AS name FROM ".TB_PREF."currencies";
+ return combo_input($name, '', $sql, 'curr_abrev', 'name',array('spec_option'=>_("No Currency Filter"),'spec_id'=>ALL_TEXT,'order'=>false));
+
case 'DATE':
case 'DATEBEGIN':
case 'DATEEND':
@@ -128,289 +185,342 @@ class Report
case 'DATEENDM':
case 'DATEBEGINTAX':
case 'DATEENDTAX':
- if ($param->param_type == 'DATEBEGIN')
- $date = begin_fiscalyear();
- elseif ($param->param_type == 'DATEEND')
- $date = end_fiscalyear();
- else
- $date = Today();
- if ($param->param_type == 'DATEBEGINM')
- $date = begin_month($date);
- elseif ($param->param_type == 'DATEENDM')
- $date = end_month($date);
- elseif ($param->param_type == 'DATEBEGINTAX' || $param->param_type == 'DATEENDTAX')
+ if (!isset($_POST[$name]))
{
- $row = get_company_prefs();
- $edate = add_months($date, -$row['tax_last']);
- $edate = end_month($edate);
- if ($param->param_type == 'DATEENDTAX')
- $date = $edate;
+ if ($type == 'DATEBEGIN')
+ $date = begin_fiscalyear();
+ elseif ($type == 'DATEEND')
+ $date = end_fiscalyear();
else
+ $date = Today();
+ if ($type == 'DATEBEGINM')
+ $date = begin_month($date);
+ elseif ($type == 'DATEENDM')
+ $date = end_month($date);
+ elseif ($type == 'DATEBEGINTAX' || $type == 'DATEENDTAX')
{
- $bdate = add_months($edate, -$row['tax_prd'] + 1);
- $date = begin_month($bdate);
+ $row = get_company_prefs();
+ $edate = add_months($date, -$row['tax_last']);
+ $edate = end_month($edate);
+ if ($type == 'DATEENDTAX')
+ $date = $edate;
+ else
+ {
+ $bdate = begin_month($edate);
+ $bdate = add_months($bdate, -$row['tax_prd'] + 1);
+ $date = $bdate;
+ }
}
}
- $name = "PARAM_$index";
-
- $st .= "";
- if ($use_date_picker)
+ else // saved parameters
+ $date = $_POST[$name];
+ $st = "";
+ if (user_use_date_picker())
+ {
+ $calc_image = (file_exists("$path_to_root/themes/".user_theme()."/images/cal.gif")) ?
+ "$path_to_root/themes/".user_theme()."/images/cal.gif" : "$path_to_root/themes/default/images/cal.gif";
$st .= ""
- . " \n";
-
+ . " \n";
+ }
+ return $st;
break;
+
case 'YES_NO':
- $sel = array(_('No'), _("Yes"));
- $st .= dup_simple_name_list("PARAM_$index", $sel);
- break;
+ return yesno_list($name);
+
case 'PAYMENT_LINK':
- $sel = array(_("No Payment Link"), "PayPal");
- $st .= dup_simple_name_list("PARAM_$index", $sel);
- break;
+ return payment_services($name, null);
+
+ case 'DESTINATION':
+ $sel = array(_("PDF/Printer"), "Excel");
+ $def = 0;
+ if (user_def_print_destination() == 1)
+ $def = 1;
+ return array_selector($name, $def, $sel);
+
+ case 'ORIENTATION':
+ $sel = array(_("Portrait"), _("Landscape"));
+ $def = 0;
+ if (user_def_print_orientation() == 1)
+ $def = 1;
+ return array_selector($name, $def, $sel);
+
case 'COMPARE':
$sel = array(_("Accumulated"), _("Period Y-1"), _("Budget"));
- $st .= dup_simple_name_list("PARAM_$index", $sel);
- break;
+ return array_selector($name, null, $sel);
+
case 'GRAPHIC':
- $sel = array(_("No Graphics"), _("Vertical bars"), _("Horizontal bars"), _("Dots"), _("Lines"), _("Pie"), _("Donut"));
- $st .= dup_simple_name_list("PARAM_$index", $sel);
- break;
+ $sel = array(_("No Graphics"), _("Vertical bars"), _("Horizontal bars"),
+ _("Dots"), _("Lines"), _("Pie"), _("Donut"));
+ return array_selector($name, null, $sel);
+
case 'SYS_TYPES':
- $st .= dup_systypes_list("PARAM_$index", $dummy, true, _("No Type Filter"), true);
- break;
+ return gl_systypes_list($name, null, _("No Type Filter"));
+
+ case 'SYS_TYPES_ALL':
+ return systypes_list($name, null, _("No Type Filter"));
+
case 'TEXT':
- $st .= "";
- break;
+ return "";
+
case 'TEXTBOX':
- $st .= "";
- break;
- case 'ACCOUNTS':
- $sql = "SELECT id, name FROM ".TB_PREF."chart_types ORDER BY name";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy, true, _("No Account Group Filter"), true);
- break;
+ $value = (isset($_POST[$name]) ? $_POST[$name] : "");
+ return "";
+
+ case 'ACCOUNTS': // not used
+ return gl_account_types_list($name, null, _("No Account Group Filter"), true);
+
+ case 'ACCOUNTS_NO_FILTER': // not used
+ return gl_account_types_list($name);
+
case 'GL_ACCOUNTS':
- $sql = "SELECT account_code, concat(account_code, ' - ', account_name) as account_name FROM ".TB_PREF."chart_master ORDER BY account_code";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy);
- break;
+ return gl_all_accounts_list($name);
+
case 'BANK_ACCOUNTS':
- $sql = "SELECT ".TB_PREF."bank_accounts.account_code, concat(bank_account_name, if (bank_curr_code=curr_default,'', concat(' - ', bank_curr_code))) FROM ".TB_PREF."bank_accounts, ".TB_PREF."chart_master, ".TB_PREF."company
- WHERE ".TB_PREF."bank_accounts.account_code=".TB_PREF."chart_master.account_code";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy);
- break;
+ return bank_accounts_list($name);
+
case 'DIMENSION':
- $sql = "SELECT reference, concat(reference, ' - ', name) AS DimName FROM ".TB_PREF."dimensions ORDER BY reference";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy);
- break;
+ return dimensions_list($name, null, false, ' ', false, true, 0);
+
case 'DIMENSIONS':
- $sql = "SELECT reference, concat(reference, ' - ', name) as DimName FROM ".TB_PREF."dimensions ORDER BY reference";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy, true, _("No Dimension Filter"), true);
- break;
+ return dimensions_list($name, null, true, _("No Dimension Filter"), false, true, 0);
+
case 'DIMENSION1':
- $sql = "SELECT reference, concat(reference, ' - ', name) AS DimName FROM ".TB_PREF."dimensions WHERE type_=1 ORDER BY reference";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index". "_$index", $dummy);
- break;
+ return dimensions_list($name, null, false, ' ', false, true, 1);
+
case 'DIMENSIONS1':
- $sql = "SELECT reference, concat(reference, ' - ', name) as DimName FROM ".TB_PREF."dimensions WHERE type_=1 ORDER BY reference";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy, true, _("No Dimension Filter"), true);
- break;
+ return dimensions_list($name, null, true, _("No Dimension Filter"), false, true, 1);
+
case 'DIMENSION2':
- $sql = "SELECT reference, concat(reference, ' - ', name) AS DimName FROM ".TB_PREF."dimensions WHERE type_=2 ORDER BY reference";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy);
- break;
+ return dimensions_list($name, null, false, ' ', false, true, 2);
+
case 'DIMENSIONS2':
- $sql = "SELECT reference, concat(reference, ' - ', name) as DimName FROM ".TB_PREF."dimensions WHERE type_=2 ORDER BY reference";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy, true, _("No Dimension Filter"), true);
- break;
+ return dimensions_list($name, null, true, _("No Dimension Filter"), false, true, 2);
+
case 'CUSTOMERS_NO_FILTER':
case 'CUSTOMERS':
- $sql = "SELECT debtor_no, name FROM ".TB_PREF."debtors_master ORDER BY name";
- if ($param->param_type == 'CUSTOMERS_NO_FILTER')
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy, true, _("No Customer Filter"), true);
+ if ($type == 'CUSTOMERS_NO_FILTER')
+ return customer_list($name, null, _("No Customer Filter"));
else
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy);
- break;
+ return customer_list($name);
+
case 'SUPPLIERS_NO_FILTER':
case 'SUPPLIERS':
- $sql = "SELECT supplier_id, supp_name FROM ".TB_PREF."suppliers ORDER BY supp_name";
- if ($param->param_type == 'SUPPLIERS_NO_FILTER')
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy, true, _("No Supplier Filter"), true);
+ if ($type == 'SUPPLIERS_NO_FILTER')
+ return supplier_list($name, null, _("No Supplier Filter"));
else
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy);
- break;
+ return supplier_list($name);
+
case 'INVOICE':
- $IV = _("IV");
- $CN = _("CN");
- $sql = "SELECT concat(".TB_PREF."debtor_trans.trans_no, '-',
- ".TB_PREF."debtor_trans.type) AS TNO, concat(".TB_PREF."debtor_trans.trans_no, if (type=10, ' $IV ', ' $CN '), ".TB_PREF."debtors_master.name) as IName
- FROM ".TB_PREF."debtors_master, ".TB_PREF."debtor_trans WHERE (type=10 OR type=11) AND ".TB_PREF."debtors_master.debtor_no=".TB_PREF."debtor_trans.debtor_no ORDER BY ".TB_PREF."debtor_trans.trans_no DESC";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy);
- break;
+ $IV = $type_shortcuts[ST_SALESINVOICE];
+ $ref = ($SysPrefs->print_invoice_no() == 1 ? "trans_no" : "reference");
+ $sql = "SELECT concat(debtor_trans.trans_no, '-', debtor_trans.type) AS TNO,
+ concat('$IV ', debtor_trans.$ref,' ', debtor.name) as IName
+ FROM ".TB_PREF."debtors_master debtor,"
+ .TB_PREF."debtor_trans debtor_trans
+ WHERE type=".ST_SALESINVOICE." AND debtor.debtor_no=debtor_trans.debtor_no
+ ORDER BY debtor_trans.trans_no DESC";
+ return combo_input($name, '', $sql, 'TNO', 'IName',array('order'=>false));
+
+ case 'CREDIT':
+ $CN = $type_shortcuts[ST_CUSTCREDIT];
+ $ref = ($SysPrefs->print_invoice_no() == 1 ? "trans_no" : "reference");
+ $sql = "SELECT concat(debtor_trans.trans_no, '-', debtor_trans.type) AS TNO,
+ concat('$CN ', debtor_trans.$ref,' ', debtor.name) as IName
+ FROM ".TB_PREF."debtors_master debtor,"
+ .TB_PREF."debtor_trans debtor_trans
+ WHERE type=".ST_CUSTCREDIT." AND debtor.debtor_no=debtor_trans.debtor_no
+ ORDER BY debtor_trans.trans_no DESC";
+ return combo_input($name, '', $sql, 'TNO', 'IName',array('order'=>false));
+
case 'DELIVERY':
- $DN = _("DN");
- $sql = "SELECT
- concat(".TB_PREF."debtor_trans.trans_no, '-', ".TB_PREF."debtor_trans.type) AS TNO, concat(".TB_PREF."debtor_trans.trans_no, ' $DN ',
- ".TB_PREF."debtors_master.name) as IName
- FROM ".TB_PREF."debtors_master, ".TB_PREF."debtor_trans
- WHERE type=13 AND ".TB_PREF."debtors_master.debtor_no=".
- TB_PREF."debtor_trans.debtor_no ORDER BY ".TB_PREF."debtor_trans.trans_no DESC";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy);
- break;
+ $DN = $type_shortcuts[ST_CUSTDELIVERY];
+ $sql = "SELECT concat(debtor_trans.trans_no, '-', debtor_trans.type) AS TNO,
+ concat(debtor_trans.trans_no, ' $DN ', debtor.name) as IName
+ FROM ".TB_PREF."debtors_master debtor,"
+ .TB_PREF."debtor_trans debtor_trans
+ WHERE type=".ST_CUSTDELIVERY." AND debtor.debtor_no=debtor_trans.debtor_no
+ ORDER BY debtor_trans.trans_no DESC";
+ return combo_input($name, '', $sql, 'TNO', 'IName',array('order'=>false));
+
case 'ORDERS':
- $sql = "SELECT ".TB_PREF."sales_orders.order_no, concat(".TB_PREF."sales_orders.order_no, '-',
- ".TB_PREF."debtors_master.name) as IName
- FROM ".TB_PREF."debtors_master, ".TB_PREF."sales_orders WHERE ".TB_PREF."debtors_master.debtor_no=".TB_PREF."sales_orders.debtor_no ORDER BY ".TB_PREF."sales_orders.order_no DESC";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy);
- break;
+ $ref = ($SysPrefs->print_invoice_no() == 1 ? "order_no" : "reference");
+ $sql = "SELECT sorder.order_no, concat(sorder.$ref, '-', debtor.name) as IName
+ FROM ".TB_PREF."debtors_master debtor,"
+ .TB_PREF."sales_orders sorder
+ WHERE debtor.debtor_no=sorder.debtor_no AND sorder.trans_type=".ST_SALESORDER
+ ." ORDER BY sorder.order_no DESC";
+ return combo_input($name, '', $sql, 'order_no', 'IName',array('order'=>false));
+
+ case 'QUOTATIONS':
+ $ref = ($SysPrefs->print_invoice_no() == 1 ? "order_no" : "reference");
+ $sql = "SELECT sorder.order_no, concat(sorder.$ref, '-', debtor.name) as IName
+ FROM ".TB_PREF."debtors_master debtor,"
+ .TB_PREF."sales_orders sorder
+ WHERE debtor.debtor_no=sorder.debtor_no AND sorder.trans_type=".ST_SALESQUOTE
+ ." ORDER BY sorder.order_no DESC";
+ return combo_input($name, '', $sql, 'order_no', 'IName',array('order'=>false));
+
case 'PO':
- $sql = "SELECT ".TB_PREF."purch_orders.order_no, concat(".TB_PREF."purch_orders.order_no, '-',
- ".TB_PREF."suppliers.supp_name) as IName
- FROM ".TB_PREF."suppliers, ".TB_PREF."purch_orders WHERE ".TB_PREF."suppliers.supplier_id=".TB_PREF."purch_orders.supplier_id ORDER BY ".TB_PREF."purch_orders.order_no DESC";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy);
- break;
+ $ref = ($SysPrefs->print_invoice_no() == 1 ? "order_no" : "reference");
+ $sql = "SELECT po.order_no, concat(po.$ref, '-', supplier.supp_name) as IName
+ FROM ".TB_PREF."suppliers supplier,"
+ .TB_PREF."purch_orders po
+ WHERE supplier.supplier_id=po.supplier_id
+ ORDER BY po.order_no DESC";
+ return combo_input($name, '', $sql, 'order_no', 'IName',array('order'=>false));
+
+ case 'REMITTANCE':
+ $BP = $type_shortcuts[ST_BANKPAYMENT];
+ $SP = $type_shortcuts[ST_SUPPAYMENT];
+ $CN = $type_shortcuts[ST_SUPPCREDIT];
+ $ref = ($SysPrefs->print_invoice_no() == 1 ? "trans_no" : "reference");
+ $sql = "SELECT concat(trans.trans_no, '-',trans.type) AS TNO,
+ concat(trans.$ref, IF(type=".ST_BANKPAYMENT.", ' $BP ', IF(type=".ST_SUPPAYMENT.", ' $SP ', ' $CN ')), supplier.supp_name) as IName
+ FROM ".TB_PREF."suppliers supplier, "
+ .TB_PREF."supp_trans trans
+ WHERE type IN(".ST_BANKPAYMENT.",".ST_SUPPAYMENT.",".ST_SUPPCREDIT.")
+ AND supplier.supplier_id=trans.supplier_id
+ ORDER BY trans.trans_no DESC";
+ return combo_input($name, '', $sql, 'TNO', 'IName',array('order'=>false));
+
+ case 'RECEIPT':
+ $BD = $type_shortcuts[ST_BANKDEPOSIT];
+ $CP = $type_shortcuts[ST_CUSTPAYMENT];
+ $ref = ($SysPrefs->print_invoice_no() == 1 ? "trans_no" : "reference");
+ $sql = "SELECT concat(trans.trans_no, '-', trans.type) AS TNO,
+ concat(trans.$ref, IF(type=".ST_BANKDEPOSIT.", ' $BD ', ' $CP '), debtor.name) as IName
+ FROM ".TB_PREF."debtors_master debtor,"
+ .TB_PREF."debtor_trans trans
+ WHERE type IN(".ST_BANKDEPOSIT.",".ST_CUSTPAYMENT.",".ST_CUSTCREDIT.") AND debtor.debtor_no=trans.debtor_no
+ ORDER BY trans.trans_no DESC";
+ return combo_input($name, '', $sql, 'TNO', 'IName',array('order'=>false));
+
case 'ITEMS':
- $sql = "SELECT stock_id, concat(stock_id, '-', description) as name FROM ".TB_PREF."stock_master WHERE (mb_flag='A' OR mb_flag='M') ORDER BY stock_id";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy);
- break;
+ return stock_manufactured_items_list($name);
+
+ case 'ITEMS_ALL':
+ return stock_manufactured_items_list($name, null, true);
+
+ case 'ITEMS_P':
+ return stock_purchasable_items_list($name, null, true);
+
+ case 'WORKORDER':
+ $sql = "SELECT wo.id, concat(wo.id, '-', item.description) as IName
+ FROM ".TB_PREF."stock_master item,"
+ .TB_PREF."workorders wo
+ LEFT JOIN ".TB_PREF."voided v ON wo.id=v.id and v.type=".ST_WORKORDER."
+ WHERE ISNULL(v.id)
+ AND item.stock_id=wo.stock_id
+ ORDER BY wo.id DESC";
+ return combo_input($name, '', $sql, 'id', 'IName',array('order'=>false));
+
case 'LOCATIONS':
- $sql = "SELECT loc_code, location_name FROM ".TB_PREF."locations ORDER BY location_name";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy, true, _("No Location Filter"), false);
- break;
+ return locations_list($name, null, _("No Location Filter"));
+ case 'FLOCATIONS':
+ return locations_list($name, null, _("No Location Filter"), false, true);
+
case 'CATEGORIES':
- $sql = "SELECT category_id, description FROM ".TB_PREF."stock_category ORDER BY description";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy, true, _("No Category Filter"), true);
- break;
+ return stock_categories_list($name, null, _("No Category Filter"));
+ case 'FCATEGORIES':
+ return stock_categories_list($name, null, _("No Category Filter"), false, true);
+ case 'FCLASS':
+ return fixed_asset_classes_list($name, null, _("No Class Filter"), false);
case 'SALESTYPES':
- $sql = "SELECT id, sales_type FROM ".TB_PREF."sales_types ORDER BY sales_type";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy);
- break;
+ return sales_types_list($name);
+
case 'AREAS':
- $sql = "SELECT area_code, description FROM ".TB_PREF."areas ORDER BY description";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy, true, _("No Area Filter"), true);
- break;
+ return sales_areas_list($name, null, _("No Areas Filter"));
+
case 'SALESMEN':
- $sql = "SELECT salesman_code, salesman_name FROM ".TB_PREF."salesman ORDER BY salesman_name";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy, true, _("No Sales Folk Filter"), true);
- break;
+ return sales_persons_list($name, null, _("No Sales Folk Filter"));
+
case 'TRANS_YEARS':
- $sql = "SELECT DISTINCT YEAR(tran_date), YEAR(tran_date) FROM ".TB_PREF."gl_trans";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy);
- break;
- case 'ACCOUNTS_NO_FILTER':
- $sql = "SELECT id, name FROM ".TB_PREF."chart_types ORDER BY name";
- $st .= dup_simple_codeandname_list($sql, "PARAM_$index", $dummy);
- break;
+ return fiscalyears_list($name);
- }
- $st .= "
";
- }
- return $st;
- }
-}
+ case 'USERS':
+ $sql = "SELECT id, user_id FROM ".TB_PREF."users";
+ return combo_input($name, '', $sql, 'id', 'user_id',array('spec_option'=>_("No Users Filter"),'spec_id'=>ALL_NUMERIC));
-class ReportParam
-{
- var $param_name;
- var $param_type;
+ case 'ACCOUNTTAGS':
+ case 'DIMENSIONTAGS':
+ if ($type == 'ACCOUNTTAGS')
+ $tag_type = TAG_ACCOUNT;
+ else
+ $tag_type = TAG_DIMENSION;
+ return tag_list($name, 5, $tag_type, true);
- function ReportParam($param_name, $param_type)
- {
- $this->param_name = $param_name;
- $this->param_type = $param_type;
+ }
+ return '';
}
}
-function dup_simple_codeandname_list($sql, $name, &$selected_id,
- $all_option=false, $all_option_name=null, $all_option_numeric=false,
- $submit_on_change=false)
+class Report
{
- if ($submit_on_change == true)
- $st = "