Конструктор звітів ТЦУ. Створення простого звіту.

Автор:   Алімова Олена, elena@andriy.co

У системі ТЦУ є більше ста звітів у різних варіантах. Не дивлячись на це, задовольнити різноманітні потреби користувачів здатний тільки Конструктор звітів ТЦУ. Він дозволяє створювати звіти під свої специфічні вимоги.

Компанія СофтКБ постаралася реалізувати інтерфейс конструктора за подобою конструктора звітів Microsoft Access. Таке рішення має ряд переваг:

  1. Конструктор звітів MS Access знайомий великій кількості користувачів, оскільки є частиною пакету MS Office.
  2. Наявність великої кількості літератури з конструктору MS Access дає можливість отримати інформацію про роботу конструктора ТЦУ.

Для вилучення необхідної інформації з бази даних в конструкторі звітів ТЦУ використовуються запити на мові SQL (Structured Query Language - мова структурованих запитів). У програмі є спеціальний інструмент для створення SQL-запитів.

Розглянемо, як створити найпростіший звіт Прайс-лист. Наша мета - показати, як легко і швидко можна створювати власні звіти в ТЦУ.

Відкриваємо Майстер звітів і створюємо новий звіт.

Відкриється вікно конструктора з макетом порожнього звіту. Праворуч від нього розташоване вікно властивостей для об'єкта TCU Report. У розділі Report Wizard (Майстер звітів) звернемо увагу на властивості ReportWizardName і ReportVariantName.

ReportWizardName (Ім'я звіту в Майстрі) - вид звіту з переліку доступних звітів. У нашому випадку це Price List, так як цей вид звіту був обраний на момент створення нового звіту.

ReportVariantName зберігає назву варіанту звіту для поточного виду звіту. У цей рядок запишемо назва нашого звіту Прайс-лист.

У макеті нового звіту спочатку є елемент DataControl (Управління даними), розташований в області даних. Саме через цей елемент здійснюється зв'язок звіту з базою даних. Виділимо мишею елемент DataControl, щоб відкрити вікно властивостей для даного об'єкта. У рядок властивості Source (Джерело) необхідно розмістити текст SQL запиту. Натиснемо на кнопку «...» у рядку властивості Source.

Відкриється вікно конструктора SQL запитів. Розглянемо його структуру.

1. Область таблиць запиту - це місце, де розміщуються таблиці і встановлюються зв'язки між ними.

2. Бланк запиту - призначений для визначення полів та умов, які будуть використані для вилучення результуючого набору даних.

3. Дерево доступних таблиць БД.

4. Дерево таблиць і полів поточного запиту.

5. Область результуючого SQL коду.

Можна змінювати розміри областей. Для цього потрібно помістити курсор на межу розділу областей, щоб він прийняв вигляд двонаправленої стрілки і переміщати межу розділу в потрібному напрямку.

Перелічимо, які дані ми хочемо включити у звіт: групи товарів, найменування товарів, одиниця виміру, п'ять довідкових цін з картки товару.

Необхідні нам дані містяться в наступних таблицях: kat, tovar, izmer.

Виберемо таблиці, на основі яких будуватиметься запит. Для цього в дереві доступних таблиць бази даних на необхідних таблицях зробіть подвійне клацання або просто перетягніть мишею в область таблиць запиту. В області таблиць запиту з'являться макети вибраних таблиць.

Таблиці можна переміщати в будь-яке місце в межах верхньої частини вікна конструктора запитів. Це може знадобитися, якщо схема дуже заплутана, і потрібно поліпшити її вид.

Зазначимо поля для побудови запиту. Виділимо необхідне поле в макеті таблиці і перетягнемо (або подвійним клацанням) у потрібний рядок бланка запиту.

У стовпці Expression містяться імена полів з таблиць або вирази (обчислювані поля). Встановлений прапорець Output визначає, чи буде присутній (відображатися) на цьому полі в результуючому наборі даних. Це зручно, коли поле використовується для вказівки критеріїв відбору, але немає необхідності виводити на екран значення даного поля. Наприклад, у прайс-лист не повинні бути включені товари, що є поворотної тарою. У такому випадку, вибираємо поле [tara] в таблиці Tovar, знімаємо прапорець виводу на екран, а в полі умови відбору (Criteria) вказуємо значення=False.

У міру додати до запит таблиць і полів, в нижній частині вікна, в області результуючого SQL коду автоматично формується SQL-запит.

Закриємо конструктор SQL, зберігши зроблені зміни. Зверніть увагу, тепер властивість Sourse містить рядок SQL-запиту. Кнопка Зберегти як ... викликає діалогове вікно «Save TCU Report file». Привласнимо ім'я файлу «Прайс-лист» і збережемо. ТЦУ автоматично поміщає звіт в папку Reports в каталозі TCU3. Після перезапуску програми збережений звіт можна побачити в переліку варіантів звіту.

Тепер створимо макет звіту. Звіти можуть містити наступні розділи:

ReportHeader - заголовок звіту, друкується тільки на початку звіту, використовується на титульній сторінці.

PageHeader - заголовок сторінки (верхній колонтитул), друкується вгорі кожної сторінки, зазвичай використовуються в якості заголовків стовпців для підсумкових даних.

GroupHeader - заголовок групи, друкується на початку кожної групи.

Ditail - область даних, де обробляється і друкується кожна запис з динамічного набору даних запиту.

GroupFooter - примітка групи, друкується після обробки останній запис групи, використовується для відображення підсумкових даних у записах поточної групи.

PageFooter - примітка сторінки (нижній колонтитул), друкується внизу кожної сторінки, сюди зазвичай поміщається номер сторінки.

ReportFooter - примітка звіту, друкується у кінці звіту після всіх записів даних і приміток груп, відображає загальний підсумок впродовж усього звіту.

Потрібні розділи в новий звіт можна додати через контекстне меню, підменю Insert

Основними елементами звіту є напис і поле. За допомогою елемента «Напис» (label) у звіті можна відобразити потрібний текст, наприклад, заголовок, підпис і т.д. За допомогою елемента «Поле» (field) у звіті відображається інформація з бази даних. У полі можна використовувати будь-який тип даних: текстовий, числовий, логічний, дата/час і т.д.

Клацнемо по значку «Напис» на панелі елементів, помістимо курсор в потрібне місце в розділі ReportHeader і перетягнемо покажчик миші (утримуючи ліву кнопку), щоб утворився прямокутник. Ми створили об'єкт label. Щоб помістити текст в елемент, у рядку властивості Caption (текст напису) наберемо «Прайс-лист». У рядку властивості Font (Шрифт) натиснемо на кнопку «...». У діалоговому вікні «Шрифт» задамо властивості шрифту загальноприйнятим у програмах Microsoft Office способом. Колір шрифту і фону задається у властивостях ForeColor і BackColor.

Висоту розділу можна коригувати вручну, перетягуючи смугу розділу в потрібному напрямку, або вказати у властивостях об'єкта ReportHeader, властивість Height.

Використовуючи елемент «Напис», створимо заголовки стовпців звіту. Для цього доцільно використовувати розділ PageHeader. У цьому випадку найменування стовпців будуть друкуватися на початку кожної сторінки, що зручно для багатосторінкового звіту.

Колір, товщину, стиль кордонів елемента «Напис» можна встановити через контекстне меню, Format Border або на панелі інструментів, як це прийнято в додатках MS Office.

У будь-який момент можна відкрити звіт в режимі перегляду. Для цього перемикається на вкладку «Прайс-лист», попередньо зберігши зміни в режимі конструктора. Потім подвійним клацанням миші за назвою варіанту звіту (праворуч) оновимо звіт. На даному етапі має виглядати ось так:

Створимо поля, в яких буде відображатися необхідна нам інформація з бази даних.

Заголовок групи слід помістити в розділі GroupHeader. За допомогою елемента «Поле» на панелі елементів створимо об'єкт field. Для властивості DataField вкажемо джерело записів. З випадаючого списку виберемо необхідне поле, по якому сортуються записи (у нашому випадку це kat_name).

Тепер приступимо до створення області даних для нашого звіту. У розділі Detail помістимо сім об'єктів field і встановимо розміри так, щоб поля розташовувалися безпосередньо під найменуваннями стовпців. Далі встановимо формат кордонів (аналогічно об'єкту label) і вкажемо у властивостях DataField джерела записів для кожного об'єкту.

Слід звернути увагу на те, що в області даних під елементами управління і над ними немає порожніх місць, що дозволяє відображати запису області даних у звіті як єдине ціле.

Нові розділи до звіту додаються парами. Але в нашому звіті не використовуються примітки групи і сторінки. Для установки тільки одного розділу з пари потрібно вручну або у властивостях задати нульову висоту того розділу з пари, який не потрібен, а потім задати значення НІ для його властивості Visible.

Сортування записів підсумкового набору даних встановлюється за допомогою окремого властивості SortingOrder для об'єкта TCUReport. Відсортуємо наші записи спочатку по групах товарів, потім з найменувань товарів.

Сортування проводиться по полю ext_kat_namе для того, щоб врахувати і вкладені групи (підгрупи) товарів.

Такий вигляд має готовий звіт в режимі перегляду.

Наостанок ще кілька зауважень.

При виборі таблиць і полів для створення запиту можна скористатися описом бази даних ТЦУ, звернувшись за посиланням.

Якщо необхідно повернуться до роботи з раніше створеним елементом, його можна вибрати, клацнувши по ньому мишею або обравши необхідний елемент зі списку, що випадає у вікні «Властивості об'єкта».

Готовий звіт (у тому числі і призначені для користувача звіти ТЦУ), можна змінити або допрацювати, додавши до запиту звіту необхідні таблиці і поля. Попередньо по кнопці Зберегти як ... зберігаємо звіт під іншим ім'ям, щоб не затерти оригінальний звіт. У вікні конструктора звітів створити нові елементи управління - написи і поля.

Відеоурок по конструктору звітів

Теми, що посилаються на статтю:

Вгору