Собственные отчеты
Для создания собственного отчета необходимо:
в папке /class/report создать файл отчета, содержащий одноименную функцию отчета; в таблице isp.ved_add создать запись, где naz — название отчета, funcname — имя файла отчета (без расширения), primech — описание отчета (не обязательно), разрешены html-тэги.
например файл proba.php:
<?php
/**
*
* $idrep - идентификатор отчета
* $nazrep - наименование отчета
* $nomrep - не используется
*/
ob_start();
if ($_GET['mode'] == 'otch') {
/*
Текст отчета
*/
echo HTML_ZAG_HEADER;
echo "отчет";
echo HTML_ZAG_FOOTER;
$res = ob_get_contents();
ob_end_clean();
if ($_GET['cont'] == 'name') {
$fileName = uniqid() . '.html';
$file = fopen_tmp($fileName, 'w');
fputs($file, $res);
fclose($file);
echo $fileName;
} else
echo $res;
exit();
} //</Генерация отчета>
else { //Форма запроса для отчета
?>
<script type="text/javascript">
function generate_otch() {
$.post('<? echo SITE_URL; ?>otchet.php?act=genRep&idrep=<? echo $idrep; ?>&mode=otch&cont=name',
{'dat_from': $("#dat_from").val(),
'dat_to': $("#dat_to").val()
},
function (data) {
unBlockBut('generate_otch');
window.open('<? echo SITE_URL; ?>tmp/' + data, 'otch');
});
}
</script>
<?
echo '<h1>' . $nazrep . '</h1>';
$dat = new datebox('dat_from'); //Ввод даты начала периода
$dat->setValue(date('d.m.Y'));
$dat1 = new datebox('dat_to'); //Ввод даты окончания периода
$dat1->setValue(date('d.m.Y'));
echo '<table border="0"><tr>';
echo '<td>установить период<td>' . Report::datePreset();
echo '<td align="right">с</td><td>' . $dat->draw() . '</td><td>по</td><td>' . $dat1->draw() . '</td></tr></table>';
echo Report::buttonGenerate(); //Кнопка вызова создания отчета
} //</Форма запроса для отчета>
$res = ob_get_contents();
ob_end_clean();
echo $res;
и запись в таблице isp.ved_add