Fastreport studio

Налаштування з'єднання з базою даних
Підключення звіту до програми

Fastreport studio

Зайве говорити, що бухгалтерії без звітів не буває. Який універсальна мова програмування не використовувався б при створенні бухгалтерських програм, майже завжди виникає потреба в окремому додатковому засобі - генераторі звітів. Генератор звітів може бути в більшій чи меншій мірі інтегрований з середовищем розробки основного додатки: він може поставлятися у вигляді окремого додатка або у вигляді набору компонентів. Правильний вибір генератора на етапі створення програми визначатиме не тільки важливі ергономічні якості додатку для кінцевого користувача, а й зручність створення, підключення нових звітів і оперативної модифікації існуючих. Якість програми тільки підвищиться, якщо ці дії можуть бути виконані не тільки розробником, а й силами служби супроводу замовника. У цій статті я хочу показати, як створювати звіти для будь-яких середовищ розробки, сумісних з технологією COM, за допомогою FastReport Studio.

Розглянемо це завдання на прикладі списку платежів абонентів за послуги ЖКГ. Нехай необхідно створити звіти «Список платежів за період» і «Розшифровка за видами платежів». Для того щоб кінцевий користувач побачив готовий звіт, розробник повинен виконати наступні кроки:

  • Створити новий звіт.
  • Підключити звіт до бази даних.
  • Підключити звіт до програми.

створення звітів

Традиційний шлях - для кожного зі звітів намалювати свій шаблон. Але навіщо робити зайву роботу, якщо є можливість використовувати спадкування звітів. Почнемо зі створення універсального базового звіту, на основі якого будемо будувати інші звіти-нащадки. Створюємо новий звіт і розставляємо на ньому компоненти, як показано на малюнку:

Fastreport studio

Користувач повинен мати можливість десь ставити обмеження, наприклад період приходу платежу. Для цього в FastReport Studio є діалогові форми. Натиснемо на кнопку «Додати форму в звіт», цим ми додамо до звіту сторінку з діалогової формою. На форму базового звіту помістимо тільки найважливіше - період, а решта обмеження будемо додавати в міру необхідності в звітах-нащадках.

Fastreport studio

Тепер для базового звіту створимо з'єднання з базою даних. Додамо на форму компоненти «База даних ADO» і «Запит ADO».


Зв'яжемо «Запит ADO» з «База даних ADO» через властивість ConnectionName. А властивості ConnectionString компонента «База даних ADO» дамо значення:

Залишається зберегти базовий звіт з ім'ям BaseRepSt.fr3. Тепер можна приступити до створення звітів-нащадків. Почну зі звіту «Список платежів за період».

Для того щоб створити звіт-спадкоємець базового звіту, його необхідно покласти в каталог. FastReport Studio \ Bin. Після цього, вибравши «файл» - «новий ...», побачимо наступне вікно:

Fastreport studio

Для звіту «Список платежів» на діалоговій формі досить вписати найменування звіту, яке будемо передавати в звіт при натисканні на кнопку «Друк».

У успадкованих звіт додамо елементи «заголовок сторінки» і «дані 1 рівня». Звіт буде виглядати наступним чином:

Fastreport studio

У властивості SQL «Запиту ADO» напишемо текст запиту, який з двох таблиць вибере нам список платежів абонентів за зазначений місяць;

У властивості Params опишемо значення параметрів таким чином, щоб запит отримував їх значення з діалогової форми звіту.

Fastreport studio

Тепер наш звіт готовий.

Другим звітом-спадкоємцем базового звіту BaseRepSt.fr3 буде «Розшифровка за видами платежів». Оскільки звіт буде формуватися за видами платежів, то на діалогову форму я добавілю два TfrxCheckBoxControl, які дозволять формувати звіт по кожному з виду платежів разом або окремо.

Fastreport studio

Додамо на наш звіт-нащадок наступні елементи: «заголовок сторінки» і «дані 1 рівня», «заголовок групи» і «підвал групи». Звіт буде мати наступний вигляд:

Fastreport studio

На відміну від прикладу №1, в даному випадку необхідно змінювати умова запиту в залежності від параметрів, вибраних на діалогової формі. Створимо оброблювач натискання на кнопку «Друк» і впишемо в нього такий код:

Налаштування з'єднання з базою даних

Для підключення до бази даних в FastReport Studio використовується технологія OLE DB. Щоб створити з'єднання, необхідний встановлений в системі OLE DB Provider для баз Interbase / Firebird. Для кращого розуміння суті виконуваних дій, я зроблю невеликий теоретичне відступ.

Технологія OLE DB допускає два варіанти підключення:

Повернемося до прикладу. Створимо і відкриємо файл test_fb.udl. На сторінці «Постачальник даних» виберемо OLE DB Provider for InterBase:

Fastreport studio

На сторінці «Підключення» введемо шлях до бази даних (можна вводити як абсолютний, так і відносний шлях), ім'я, пароль, кодову сторінку, рівень ізоляції, як показано на малюнку:

Fastreport studio

На сторінці «Додатково» введемо тип клієнта:

Fastreport studio

На цьому настройка завершена. Перед натисненням «Ok» є можливість протестувати з'єднання за допомогою кнопки «Перевірити підключення» на сторінці «Підключення».

Fastreport studio

Підключення звіту до програми

Для використання звітів на комп'ютерах кінцевих користувачів щодо реєстрації компонента. Документація пропонує два способи реєстрації: або за допомогою виклику функції, що експортується DllRegisterServer з бібліотеки Redist \ FastReport3.dll, або командним рядком:

У прикладі я використовувала спосіб з викликом функції, що експортується. Оброблювач bbRegisterServerClick - реєстрація компонента, обробник bbUnregisterServerClick - видалення компонента.

Мовою С ++ метод для друку звіту матиме вигляд:

Натиснувши на кнопку друку звіту «Список платежів», отримаємо наступний результат:

Fastreport studio

Вид готового звіту «Розшифровка за видами платежів»:

Fastreport studio

Як видно з прикладів, отримати необхідний результат зовсім не складно.

  • створення повністю готових до використання звітів дозволяє розробляти додаток на будь-якій мові програмування, сумісному з технологією COM;
  • використання технології Microsoft ADO дозволяє працювати з будь-якими базами даних, для яких є OLE DB Provider або ODBC-драйвер.
  • доступні всі переваги FastReport: спадкування, FastScript, діалогові форми і.пр. Для розробників, знайомих з FastReport, створення звітів в Studio не викличе практично серйозних проблем.

До статті додається архів example.zip з прикладами, описаними в статті.

Схожі статті