Отчет с параметрами – это динамически создаваемый отчет. Перед отображением данных необходимо в соответствующих полях выбрать параметры выбора и далее нажать на одну из трех кнопок в правом углу страницы:
Пример построения отчета с параметрами (фильтрами):
$parser->addCss('main/styles/wad-er.css'); include_once(SYS_BASE_PATH.'main/classes/wreport.class.php'); $w = new wReport(); if($w->mode != 'print') { // Show report filters $sec = $w->addSection($parser->gt('main')); $w->addReportPar($sec, 'period', $parser->gt('period'), 'period', 0); $w->addReportPar($sec, 'grouping', $parser->gt('grouping'), 'select', 1, $parser->gt('sel_no', SYS_BASE_PATH.'main/classes').','.$parser->gt('grobjtype', __FILE__)); $sec = $w->addSection($parser->gt('more')); $w->addSearchField($sec, 'o.name', $parser->gt('name'), array('lang' => 1, 'type' => 'C')); $w->addSearchField($sec, 'o.objtype', $parser->gt('objtype'), 'sys_objtypes'); $w->addSearchField($sec, 'o.isprivate', $parser->gt('isprivate'), 'L'); $w->addSearchField($sec, 'o.flt1', $parser->gt('total'), 'F'); $w->show(); return; } // Print report $pars = $w->getParams(); $from = ($pars['period1']) ? $parser->conn->DBDate($parser->utils->dateToISOformat($pars['period1'])) : ''; $to = ($pars['period2']) ? $parser->conn->DBDate($parser->utils->dateToISOformat($pars['period2'])) : ''; $w->q->select('o.objid', $parser->gt('id')); $w->q->lselect('o.name AS oname', $parser->gt('name')); $w->q->lselect('t.name AS tname', $parser->gt('objtype')); $w->q->select('o.avatar', $parser->gt('avatar')); $w->q->select('o.flt1', $parser->gt('total')); $w->q->from('sys_objects o'); $w->q->from('sys_objtypes t'); $w->q->where("o.objid<>'0'"); $w->q->where("o.objtype=t.objtype"); $w->q->extra_where($w->getFilters()); if($from) $w->q->where("o.creaton>=".$from); if($to) $w->q->where("o.creaton<=".$to); switch($pars['grouping']) { case 0: break; case 1: $w->template = SYS_BASE_PATH.'main/styles/reporter_tpl/tbsgroup1.htm'; $w->q->orderby('tname'); $w->pagelen = 30; $w->grupfield= 'tname'; break; } $w->q->orderby('oname'); $w->show();