Raporty definiowane

są sposobem na szybkie uzyskanie wybranych informacji z bazy danych programu.
Raporty podzielono na tematy, którym odpowiada określony zestaw tabel bazy danych. Przechodząc do definiowania nowego raportu należy wybrać interesujący temat, a następnie, typowo, dodać nową pozycję i wpisać nazwę raportu. Nazwa pojawi się na wydruku obok tematu. Kolejnym etapem definiowania raportu jest określenie kolumn na podstawie proponowanego zestawu znajdującego się o okienku listy. Kliknięcie na odpowiedni guzik ">" lub też "<" powoduje włącznie pola do raportu lub też wyłączenie. Tabela wykazu kolumn raportu umożliwia zmianę treści nagłówka, blokadę wydruku ( wstawiona kolumna może być użyta wyłącznie do filtra), określenie sortowania i zdefiniowanie filtrowania danych.

Filtrowanie.
Zagadnienie wyboru danych do raportu należy do najważniejszych i skuteczne ograniczanie decyduje o mozliwości wykorzystania raportu. Wprowadzono następujące operatory:
" " - brak operatora - filtr jest wyłączony

operator pole tekstowe pole numeryczne pole daty

<<

dana z pola zawiera się w wartości dana mniejsza ponad 1000 razy data z pola o przynajmniej rok wcześniejsza

<

dana jest mniejsza w sensie alfabetu dana mniejsza data z pola wcześniejsza

=

teksty są sobie równe obie równe równe daty

#

teksty różne obie różne różne daty

~

teksty podobne (zawierają się w sobie) wartości przybliżone do 10% przybliżone daty

>

dane większa w sensie alfabetu dana większa data pola późniejsza

>>

wartość zawiera się w tekście pola dana większa ponad 1000 razy data pola późniejsza ponad rok

Budowanie filtrów złożonych polega na składniu filtru z warunków dla wielu wybranych pól. Musimy wiedzieć, że domyślnie zakłada się spełnienie wszystkich warunków, czyli zastosowano operator logiczy "i". Jeżeli jednak istnieje potrzeba zdefiniowania filtru z zastosowaniem operator "lub", to wystarczy skorzystać z pola NF  ( negacja filtru )  w nagłówku definicji raportu. Odznaczenie tego pola spowoduje wybranie danych do raportu, gdy zdefiniowany filtr nie jest spełniony.
Dalej należy skorzystać ze znanej zależności:
      !( a  i  b)   =  ( !a lub !b),  gdzie znakiem "!" oznaczono negację wyrażenia.

Przykładowo:
Zadanie polega na wygenerowaniu raportu sprzedaży dla dwóch klientów o nazwach skóconych:   KLIENT1  i  KLIENT2.
Do raportu wstawiamy dwie kolumny NAZWA_SKR i jedną z nich zaznaczamy, że ma się nie drukować. Po zdefiniowaniu pozostałych kolumn raportu pozostaje konieczność wstawienia odpowiednich warunków do filtru. Do pól zatytuowanych "Wartość" wpisujemy odpowiednio wymagane nazwy klientów oraz wybieramy operatory "#" ( różny). Następnie musimy zaznaczyć pole NF w nagłówku definicji raportu. Jak widać wygląda to wszystko nieco skomplikowanie, ale to tylko pozory.

W programie księgowym powinna być możliwość wykonania raportu zawierającego sumy kwot lub zliczenie liczby pozycji. Raporty Definiowane mają taką możliwość po zaznaczeniu opcji "ZLICZ" w nagłówku raportu. Efektem raportu zliczonego jest tabela zawierająca kolumny określone jako nagłówki wieszy ( nie polegają sumowaniu, ani zliczeniu ), które grupują dane i kolumny zawierające sumy pól numerycznych oraz zliczone pozostałe pola. Sprawdź działanie opcji zliczania drukując raport w obu jej stanach. Wówczas wszystko stanie się jasne ;)

Szczególne przypadki zastosowania raportów definiowanych wymagają zastosowania pól wyliczeniowych. Istnieje możliwość wykorzystania w tym celu kolumny "Formuła" specyfikacji raportu. W polu tym trzeba zapisać taką formułę, która umożliwi programowi pobranie i wyliczenie wymaganej wartości. Np. zapisując tabela1->pole1-tabela1->pole2 uzyskamy pole wyliczeniowe równe różnicy pól pole1 i pole2  tabeli1.
Wartość wyliczeniowa może być porównywana z wartością wpisaną zgodnie z zadanym operatorem.