define('RC_DIMENSIONS', 4);
define('RC_BANKING', 5);
define('RC_GL', 6);
+define('RC_FIXEDASSETS', 7);
class BoxReports
{
var $ar_reports;
var $ctrl_handlers = array();
- function ReportClasses()
+ function __construct()
{
$this->ar_classes = array();
}
function addReportClass($class_name, $class_id=null)
{
if (!$class_id)
- $class_id = count($this->ar_classes);
+ $class_id = count_array($this->ar_classes);
$this->ar_classes[$class_id] = $class_name;
return $class_id;
. "<form method='POST' action='$action' target='_blank'>\n";
$st_params .= submit('Rep'.$report->id,
_("Display: ") . access_string($report->name, true),
- false, '', $SysPrefs->pdf_debug ? false : 'default process') . hidden('REP_ID', $report->id, false).'<br><br>';
+ false, '', $SysPrefs->pdf_debug ? false : 'default process popup') . hidden('REP_ID', $report->id, false).'<br><br>';
$st_params .= $this->getOptions($report->get_controls(), $report->id);
$st_params .= "\n<input type=hidden name='Class' value=".$cur_class.">"
."\n</form></td></tr></table>\n";
{
global $path_to_root, $SysPrefs,
$type_shortcuts;
-
+ $day_range = get_company_pref("max_days_in_docs");
+ if (!$day_range)
+ $day_range = 180;
$st = '';
switch ($type)
{
$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 .= "<a href=\"javascript:date_picker(document.forms[0].$name);\">"
- . " <img src='$calc_image' width='16' height='16' border='0' alt='"._('Click Here to Pick up the date')."'></a>\n";
+ . " <img src='$calc_image' style='vertical-align:middle;padding-bottom:4px;width:16px;height:16px;border:0;' alt='"._('Click Here to Pick up the date')."'></a>\n";
}
return $st;
break;
case 'GRAPHIC':
$sel = array(_("No Graphics"), _("Vertical bars"), _("Horizontal bars"),
- _("Dots"), _("Lines"), _("Pie"), _("Donut"));
+ _("Dots"), _("Lines"), _("Pie"), _("Donut"), _("Half Donut"), _("Splines"));
return array_selector($name, null, $sel);
case 'SYS_TYPES':
case 'TEXTBOX':
$value = (isset($_POST[$name]) ? $_POST[$name] : "");
- return "<textarea rows=4 cols=30 name='$name'>$value</textarea>";
+ return "<textarea rows=4 cols=30 maxlength=130 name='$name'>$value</textarea>";
case 'ACCOUNTS': // not used
return gl_account_types_list($name, null, _("No Account Group Filter"), true);
case 'GL_ACCOUNTS':
return gl_all_accounts_list($name);
+ case 'BANK_ACCOUNTS_NO_FILTER':
case 'BANK_ACCOUNTS':
- return bank_accounts_list($name);
-
+ if ($type == 'BANK_ACCOUNTS_NO_FILTER')
+ return bank_accounts_list($name, null, false, _("All"));
+ else
+ return bank_accounts_list($name);
+
case 'DIMENSION':
return dimensions_list($name, null, false, ' ', false, true, 0);
case 'CUSTOMERS_NO_FILTER':
case 'CUSTOMERS':
- $sql = "SELECT debtor_no, name FROM ".TB_PREF."debtors_master";
if ($type == 'CUSTOMERS_NO_FILTER')
return customer_list($name, null, _("No Customer Filter"));
else
case 'SUPPLIERS_NO_FILTER':
case 'SUPPLIERS':
- $sql = "SELECT supplier_id, supp_name FROM ".TB_PREF."suppliers";
if ($type == 'SUPPLIERS_NO_FILTER')
return supplier_list($name, null, _("No Supplier Filter"));
else
$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
+ .TB_PREF."debtor_trans debtor_trans LEFT JOIN ".TB_PREF."voided AS vd ON debtor_trans.type=vd.type AND
+ debtor_trans.trans_no=vd.id
+ WHERE debtor_trans.type=".ST_SALESINVOICE." AND debtor.debtor_no=debtor_trans.debtor_no AND ISNULL(vd.id)
+ AND debtor_trans.tran_date > SUBDATE(CURRENT_DATE, INTERVAL $day_range DAY)
ORDER BY debtor_trans.trans_no DESC";
return combo_input($name, '', $sql, 'TNO', 'IName',array('order'=>false));
$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
+ .TB_PREF."debtor_trans debtor_trans LEFT JOIN ".TB_PREF."voided AS vd ON debtor_trans.type=vd.type AND
+ debtor_trans.trans_no=vd.id
+ WHERE debtor_trans.type=".ST_CUSTCREDIT." AND debtor.debtor_no=debtor_trans.debtor_no AND ISNULL(vd.id)
+ AND debtor_trans.tran_date > SUBDATE(CURRENT_DATE, INTERVAL $day_range DAY)
ORDER BY debtor_trans.trans_no DESC";
return combo_input($name, '', $sql, 'TNO', 'IName',array('order'=>false));
case 'DELIVERY':
$DN = $type_shortcuts[ST_CUSTDELIVERY];
- $sql = "SELECT concat(debtor_trans.trans_no, '-', debtor_trans.type) AS TNO,
+ $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
+ .TB_PREF."debtor_trans debtor_trans LEFT JOIN ".TB_PREF."voided AS vd ON debtor_trans.type=vd.type AND
+ debtor_trans.trans_no=vd.id
+ WHERE debtor_trans.type=".ST_CUSTDELIVERY." AND debtor.debtor_no=debtor_trans.debtor_no AND ISNULL(vd.id)
+ AND debtor_trans.tran_date > SUBDATE(CURRENT_DATE, INTERVAL $day_range DAY)
ORDER BY debtor_trans.trans_no DESC";
return combo_input($name, '', $sql, 'TNO', 'IName',array('order'=>false));
$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";
+ WHERE debtor.debtor_no=sorder.debtor_no AND sorder.trans_type=".ST_SALESORDER."
+ AND sorder.ord_date > SUBDATE(CURRENT_DATE, INTERVAL $day_range DAY)
+ ORDER BY sorder.order_no DESC";
return combo_input($name, '', $sql, 'order_no', 'IName',array('order'=>false));
case 'QUOTATIONS':
$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";
+ WHERE debtor.debtor_no=sorder.debtor_no AND sorder.trans_type=".ST_SALESQUOTE."
+ AND sorder.ord_date > SUBDATE(CURRENT_DATE, INTERVAL $day_range DAY)
+ ORDER BY sorder.order_no DESC";
return combo_input($name, '', $sql, 'order_no', 'IName',array('order'=>false));
case 'PO':
FROM ".TB_PREF."suppliers supplier,"
.TB_PREF."purch_orders po
WHERE supplier.supplier_id=po.supplier_id
+ AND po.ord_date > SUBDATE(CURRENT_DATE, INTERVAL $day_range DAY)
ORDER BY po.order_no DESC";
return combo_input($name, '', $sql, 'order_no', 'IName',array('order'=>false));
$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";
+ concat(trans.$ref, IF(trans.type=".ST_BANKPAYMENT.", ' $BP ', IF(trans.type=".ST_SUPPAYMENT.", ' $SP ',
+ ' $CN ')),
+ supplier.supp_name) as IName
+ FROM ".TB_PREF."suppliers supplier, "
+ .TB_PREF."supp_trans trans LEFT JOIN ".TB_PREF."voided AS vd ON trans.type=vd.type AND trans.trans_no=vd.id
+ WHERE trans.type IN(".ST_BANKPAYMENT.",".ST_SUPPAYMENT.",".ST_SUPPCREDIT.") AND
+ supplier.supplier_id=trans.supplier_id AND ISNULL(vd.id)
+ AND trans.tran_date > SUBDATE(CURRENT_DATE, INTERVAL $day_range DAY)
+ ORDER BY trans.trans_no DESC";
return combo_input($name, '', $sql, 'TNO', 'IName',array('order'=>false));
case 'RECEIPT':
$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
+ concat(trans.$ref, IF(trans.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
+ .TB_PREF."debtor_trans trans LEFT JOIN ".TB_PREF."voided AS vd ON trans.type=vd.type AND trans.trans_no=vd.id
+ WHERE trans.type IN(".ST_BANKDEPOSIT.",".ST_CUSTPAYMENT.",".ST_CUSTCREDIT.") AND
+ debtor.debtor_no=trans.debtor_no AND ISNULL(vd.id)
+ AND trans.tran_date > SUBDATE(CURRENT_DATE, INTERVAL $day_range DAY)
ORDER BY trans.trans_no DESC";
return combo_input($name, '', $sql, 'TNO', 'IName',array('order'=>false));
case 'WORKORDER':
$sql = "SELECT wo.id, concat(wo.id, '-', item.description) as IName
FROM ".TB_PREF."stock_master item,"
- .TB_PREF."workorders wo
- WHERE item.stock_id=wo.stock_id
+ .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':
return locations_list($name, null, _("No Location Filter"));
+ case 'FLOCATIONS':
+ return locations_list($name, null, _("No Location Filter"), false, true);
case 'CATEGORIES':
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':
return sales_types_list($name);
case 'AREAS':
- return sales_areas_list($name);
+ return sales_areas_list($name, null, _("No Areas Filter"));
case 'SALESMEN':
return sales_persons_list($name, null, _("No Sales Folk Filter"));
var $ar_params;
var $controls;
- function Report($id, $name, $ar_params = null)
+ function __construct($id, $name, $ar_params = null)
{
$this->id = $id;
$this->name = $name;