Проект "Звіт" - це інформаційна система, яка дозволяє організувати процес здавання, прийняття, зберігання та аналізу звітів. Будьяка ієрархічна структура звітуючих організацій може скористуватися системою "Звіт", для роботи із бланками у форматі Microsoft Excel. Система обробляє звіти, отримані електронною поштою, завантажені на сервер у вигляді файлу або заповнені користувачем у режимі on-line.
- {}-Створіть бланк Вашого звіту у вигляді таблиці Microsoft Excel (або OpenOffice Calc). До всіх рядків, які повинен заповнити извітуючий користувач, впишіть у фігурних дужках - {}- назви, які складаються із цифр та латинських букв. Наприклад, до поля A35 впишіть {A35}. У розділі "Бланки ношої організаціі" натисніть кнопку "Додати" та завантажте Ваш новий бланк на сервер.
Призначення іконок![]() | Відчиняє вікно для внесеннія нових значень до розділу "Словники" |
![]() |
Пошук інформації на сторінці |
![]() |
Додання нових значень |
![]() |
Здати відмічені звіти |
![]() |
Створення результуючого звіту |
![]() |
Друк сторінки |
Усі дані у таблицях можуть бути відсортовані. Для цього достатньо кликнути на потрібному заголовку.
Редагування данихДля того щоб відредагувати будьяку інформацію у базі даних (наприклад статтю, новину, найменування у списку тощо), кликніть на необхідній назві у списку. У новому вікні внесіть зміни та збережіть їх.
ЗвітиВ цьому розділі знахоядться бланки усіх звітів, які повинна здавати Ваша організація.
Варіанти здавання звітівСистема передбачає три способи здавання звітів:
Ім'я файлу повинно мати наступний формат:
ім'я файлу бланка звіту_Ваш логін у системі.xls
Наприклад. ім'я бланку було ../archive/blanks/zvit_2004-10-28.xls. Ваш логін - director.
Файл звіту повинен називатися: zvit_2004-10-28_director.xls
У цьому розділі Ви можете завантажити бланки, які повинні заповнити та здати підлеглі організації
Для того, щоб додати новий бланк:
кликніть на іконці | ![]() |
У цьому розділі Ви можете заповнити даними звіти, які Вам необхідно здати.
Введіть значення у порожні поля. Для того, щоб подивитися, як виглядає готовий звіт, натисніть на кнопку "Перевірити
звіт". Якщо немає помилок і Ви вважаєте, що звіт можна відправляти, натисніть на кнопку "Здати звіт".
Усі звіти, які Ваша організація та усі підлеглі організації.
У цьому розділі Ви можете відреагувати відправлені звіти, за умови, що їх не було заблоковано.
У цьому розділі знаходиться список підлеглих організацій, які затримують відправлення звіту або ж здали його невчасно. У колонці "Дата складання наступного звіту" вказана офіційна дата надсилання звіту, а у колонці "Дата внесення" - дата надходження звіту від підлеглоЇ організації (у тому віпадку, якщо звіт булв складений невчасно).
Анализ робиться за даними звітів, які надходять від підлеглих організацій. Для того, щоб отримати результати за складеними звітами, потрібно:
Наприклад, з усіх звітів "звіт 1" потрібно отримати результати у вигляді "звіт 1-результати".
Нехай бланк основного звіту буде задано excel файлом (мал.1), а результати ми отримаємо у вігляді мал.2
![]() |
Звіт "звіт 1 " мал.1 |
![]() |
Результуючий звіт "звіт 1 - результати" мал.2 |
У результуючому звіті у полі "B1" ({results_sum}) ми хочемо отримати суму усіх значень, які було вказано у складених звітах у полі "B1" ({field1}), а у полі "B2" ({results_count}) - число складених звітів.
Створимо глобальні змінні results_sum та results_count. Розглянувши структуру бази даних, можна написати SQL запит до основної бази даних.
results_sum | select sum(f1.field_value) from form_values f1 where f1.field='field1' |
results_count | select count(f1.field_value) from form_values f1 where f1.field='field1' |
Ці запити оберуть з бази даних суму(число) значень у полі "B1" ({field1}), які знаходяться в усіх бланках бланках "отчет 1", що надійшли від користувачив.
Тепер можна отримати результуючий звіт. Заходимо у розділ "Результати".
За допомогою фільтру | ![]() |
, обираємо складені звіти, за якими порібно |
Глобальні змінні (ГЗ) можна задати у відповідному розділі. Імена ГЗ повинні бути унікальними. У системі існують встановлені глобальні змінні. Інші ГЗ приймають значення, які є результатов виповнення SQL запиту до бази даних. Наприклад,
Константиselect '112233'
поверне строку 112233
select DATE_FORMAT(CURRENT_DATE(),'%d/%m/%Y')
поверне строку із теперешньою датою у форматі '%d/%m/%Y'
1. Кликніть на іконці | ![]() |
В разділі "Формули" ви можете створювати нові
змінні, значеннями яких є математичні дії між усіма внесеними в систему змінними (з бланків для підлеглих організацій,
глобальними, а також створеними в разділі "Формули").
Приклад
![]() |
Від підлеглих організацій отримано три звіти, заповнені значеннями на бланках "Small test" |
![]() |
У нас також є бланк результуючого звіту, в якому значенням глобальної змінної {results_sum} є сума всіх значень, указаних в складених звітах в рядку "B1" ({field1}), а змінна {results_count} вказує кількість сданих звітів |
Оскільки значення будьякої глобальної змінної є результатом SQL-запиту, то при використанні даних із одних звітів у інших, накладає певні обмеження на редагування "донорських" звітів. Звіт є доступним до редагування, доку його хдані не використовувались для отримання результуючого звіту. Якщо дані одного звіту увійшли у інший - "донорський" звіт блокується. Видалення звіту, в якому були використані дані з інших бланків, автоматично розблокує задіяні звіти.
Для того, щоб проаналізувати дані, отримані від звітуючих організацій, треба створити бланк для результатів. Бланк результатів нічим не відрізняється від звічайного бланку звітів. Єдине, що слід врахувати при його розробці - це використання глобальних змінних, описуються, як SQL запит до бази даних у відповідному розділі.
Збирання результатів зі складених звітівДля отримання результатів, які використовують складені звіти, треба написати запит до таблиці, у якій зберігаються отримані дані.Структура таблиці form_values
`id` int(10) NOT NULL auto_increment, - ключ. Номер запису
`id_form`
int(10) NOT NULL default '0', - ідентифікатор форми
`id_report` int(10) NOT NULL default '0', - ідентифікатор
звіту
`field` varchar(50) NOT NULL default '', - іим'я поля (у базовому бланку)
`field_value` varchar(250) NOT NULL default '', - значення поля (у результуючому звіті)
PRIMARY KEY (`id`)
т.о.
select sum(form_values.field_value) from form_values where
form_values.field='field1'
поверне нам суму усіх значень поля field1, в яких би звітах це поле не траплялось. Для фільтрації звітів використовуйте
розділ "Результати", в якому можна обрати звіти тільки однієї організації, певного періоду чи типу.
При інсталяції та впровадженні проекту краще виробити єдину систему надання імен змінним.
Наприклад, {zvit_2004-10-28_03_05} - для визначення поля 05 у розділі 3 звіту zvit_2004-10-28.it_2004-10-28.
Імена змінних можуть не бути унікальними. У такому випадку, Ви можете легко зібрати дані з декількох різних звітів. Але
не треба зловживати цією властивістю, бо таким чином можна отримати невірний результат.
У системі "Звiт" передбачена можливість
звернення до вже існуючих баз даних. Нижче приведений список баз даних, до яких можна підключатися:
postgresql,
mssql,interbase, informix, odbc, mysql, oracle, peardb, adodb
Для того, щоб мати можливість підключитися до
зовнішньої бази даних, треба у відповідному файлі каталогу /database вказати параметри підключення (як елементи масиву
$oArray)
Для того, щоб несанкціонований доступ до інформації був неможливий, розділ "Адміністрування" повинен керуватися окремим користувачем.
Система прав на сервері звітів будується відповідно до статусу організації, у якій працює користувач, у загальній ієраріхї організацій, які беруть участь у системі. Це означає, що два користувачі з однієї організації мають однакові права. Інформацїю, отриману від однієї організації, бачать усі батьківські, але не бачать підлеглі організації.
Структура підпорядкування одних організацій до інших є деревоподібною. Тобто у кожної організації може бути будьяка кількість підлеглих структур Така система дозволяє серверу звітів обслуговувати кілька "дерев" організацій, які не обов'язково пов'язані одним коренем.
Организація збирання звітів, які прийшли електроною поштою, проводиться за
допомогою системного демону Cron (чи будьякого іншого sheduler, який виконує системні задачи).
Усі файли PHP, які
треба виконувати періодично, зібрані у каталозі /cron
Нижче приведений опис файлів та періодичність
виконання.
Ім'я файлу | Функції | Періодичність виконання |
check_email.php |
1) Перевіряє поштову скриню 2) Обробляє окремі звіти 3) Веде log 4) Очищає поштову скриню |
2 рази на добу, наприклад об 11-00 та о 15-00 |
debtors.php |
1) Перевіряє строки складання звітів 2) Встановлює для усіх звітів наступний строк складення 3) Складає списки боржників |
2 рази на місяць, наприклад 10 та 20 числа |
mail_remainder.php | 1) Розсилає користувачам нагадування про наближення строку складання чергового звіту (за три дні) 2) Розсилає списки боржників до вищих організацій | 1 раз на добу |
Статистика обробки пошти та розсилання попереджень ведеться у розділі "Log поштової скрині". Тут, також, ведеться статистика приймання звітів (чи відмов у прийманні), розсилання попереджень та списків боржників.
У випадку, якщо Ви хочете розширити можливості системи, додати новий модуль, змінити текст до посилання, слід ско ристуватися розділом "Посилання/права".
![]() |
1)Якщо Ви хочете створити звичайне иекстове посилання (таке як "Звіти"), кликніть на іконці "додати" та заповніть усі поля у новому вікні. У полі "посиланя" вкажіть файл "../user/_about.php", а в полі "опис" - введіть текст у форматі html. |
![]() |
Для інсталяції серверу "Звiт" та його роботи Вам знадобиться:
ОС: Linux(Unix)Для того, щоб користувачи системи працювали у інтерфейсі рідною мовою, адміністратор може додати локализацію. Для цього потрібно: