Logowanie
Nadaj nowe hasło
Jeśli jesteś już klientem to wprowadź swój adres e-mail i potwierdź hasłem. Logowanie umożliwia zakup nowych programów po cenach promocyjnych, rozszerzenie posiadanego oprogramowania, zamówienie abonamentu na aktualizacje oraz konsultacje serwisowe.
Nie masz konta?Zarejestruj się
|
Program zawiera wewnętrzny moduł raportów SQL, umożliwiający wygenerowanie dowolnego zestawienia na podstawie zapytań SQL. Jeśli do specyficznych wymagań użytkownika nie da się wykorzystać żadnego z opisanych wcześniej rodzajów zestawień (patrz Instrukcja użytkownika - Zestawienia i dokumenty) to wtedy należy skorzystać z możliwości, jakie oferuje ten moduł. Wcześniej jednak trzeba zapoznać się z podstawami języka SQL oraz wewnętrzną strukturą danych programu.
Zdefiniowane własne zestawienia SQL możemy wywołać z menu głównego Raporty - Zestawienia SQL lub uwidocznić w Oknie startowym programu.
Dostęp do definiowania reportów SQL umożliwia pozycja menu głównego Definicje - Zestawienia SQL. Nowe zestawienie wprowadzamy przyciskiem . Po zatwierdzeniu zmian w definicji możliwe jest szybkie wygenerowanie zestawienia, w celu sprawdzenia poprawności składni zapytania. Umożliwia to przycisk Wykonaj zapytanie SQL.
Przykładowe zestawienia można pobrać z internetu - służy do tego przycisk Pobierz zestawienie z serwisu HTTP - patrz Pobieranie raportów SQL. W przypadku problemów z automatycznym pobieraniem parametrów należy zwrócić uwagę ustawienia środowiska programu (menu Ustawienia - Środowisko, zakładka Internet, parametry HTTP) oraz zapór internetowych (firewall).
WIZARD
Przy tworzeniu nowego zestawienia możemy posiłkować się przykładowym zestawieniem pobranym z internetu, albo praktycznym wizardem, w którym wykorzystujemy:
Tabele aplikacji - wszystkie tabele dostępne w programie
Tabele zestawienia - wybrane tabele do zestawienia
Pola zestawienia zestawienia - wybrane pola do zestawienia
Połączenia - połączenia wybranych tabel
Uporządkowanie - wybrane pola segregujące pozycje w zestawienie
Grupowanie - wybrane pola grupujące pozycje w zestawieniu
Na podstawie skonstruowanego wizardu wygeneruje się wstępna definicja zestawienia. Późniejsze modyfikacje w wizardzie mogą zostać ujęte w definicji, ale wtedy utracone będą własne modyfikacje definicji. Dlatego przed szczegółową obróbką definicji zestawienia należy w miarę możliwości uwzględnić jak najwięcej elementów przy konstruowaniu wizardu.
DEFINICJA
Przy definiowaniu zapytania SQL należy kierować się następującymi wskazówkami:
1. Polecenie powinno zawierać słowo kluczowe select i nie może zawierać słów insert, update, delete - tylko w takim przypadku zestawienie będzie dostępne w menu Raporty - Zestawienia SQL.
UWAGA. W szczególnych przypadkach istnieje możliwość wykorzystania zapytania do modyfikacji bazy. Polecenia zawierające słowa insert, update, delete można wykonać bezpośrednio po zdefiniowaniu - służy do tego przycisk Wykonaj polecenie SQL. Przy wykonywaniu tego typu poleceń należy być bardzo ostrożnym - dobrze jest wcześniej zarchiwizować dane.
2. W zapytaniu można używać kontrolek {X/nazwa kontrolki}, gdzie X to typ kontrolki:
S - pole znakowe (string),
D - data (date),
I - numer (integer),
N - liczba (number, float),
L - pole logiczne.
Kontrolki to jakby zmienne parametry zestawienia wprowadzane przed jego sporządzeniem.
O zawartość kontrolek program zapyta przed wykonaniem zestawienia, posługując się ich nazwą. Zawartość kontrolek typu S i D zostanie w treści zapytania automatycznie ograniczona znakami ''.
UWAGA. Kontrolki użyte w zapytaniu można dodatkowo wstawić do tytułu zestawienia. W ten sposób kryteria zestawienia mogą zostać uwidocznione na wydruku.
3. Kontrolki typu combo i checkcombo
Combo {R(Poz1=W1,Poz2=W2,...,PozN=WN)/nazwa kontrolki} - pole wyboru (z rozwijalną listą), gdzie PozN oznacza nazwę na liście, a WN zwracaną przez kontrolkę nazwę, np. {R(kobieta=1,mężczyzna=2)/Płeć}
Combo {F(TABELA,Pole)/nazwa kontrolki} - pole wyboru, którego wartościami na rozwijalnej liście będą wszystkie wartości pola Pole z tabeli TABELA, np. w tabeli KARTA ZASIŁKOWA pole R_NIEOB ma wartości 'niepłatne z tyt.nienabycia prawa do zas.', 'niepłatne inne', 'chorobowe', 'chorobowe szpitalne', itd.
Combo {T(TABELA,Pole1,Pole2)/nazwa kontrolki} - pole wyboru, na którego liście pokażą się wartości z Pole1 z wszystkich rekordów tabeli TABELA, a kontrolka zwróci wartość z pola Pole2
CheckCombo {W(TABELA,Pole1,Pole2)/} - pole wyboru z możliwością zaznaczenia kilku opcji, na którego liście pokażą się wartości z Pole1 z wszystkich rekordów tabeli TABELA, a kontrolka zwróci wszystkie zaznaczone wartości z pola Pole2 rozdzielone znakiem średnika (;).
UWAGA. Nazwy tabel i ich pól są dostępne w załączniku Lista modułów danych i tabel. Nazwa tabeli jest nazwą tabeli w aplikacji, a nie tabeli w bazie (np. UŻYTKOWNICY, a nie USERS).
4. Użycie szczególnych kontrolek C(DZIAŁY) (lub
C(REJESTRY)) umożliwia przed wykonaniem zestawienia wybór zakresu działów (lub rejestrów) z odpowiedniej biblioteki. Kontrolki te zwrócą wartość X_J wybranej pozycji, która odpowiada kolejności danej pozycji.
UWAGA. Wszystkie dostępne kontrolki znajdują się pod prawym klawiszem myszy.
5. Tabele z innej bazy niż baza zawierająca dane wybranej firmy należy poprzedzić nazwą bazy (np. lista pól systemowych znajduje się w bazie zawierającej dane ogólne programu: R2P_platnik_bin.dbo.Polasys).
6. Można wykorzystać specjalne zmienne, które zostaną zamienione na: <USERIDE> - identyfikator aktualnego użytkownika, <USERNAME> - nazwa aktualnego użytkownika, <FIRMIDE> - numer aktualnie wybranej firmy, <PRACIDE> - identyfikator aktualnego pracownika, <ZATRIDE> - identyfikator aktualnego zatrudnienia, <BIN> - nazwa bazy danych ogólnych (np. <BIN>.Polasys), <DB> - nazwa bazy danych (np. <DB>_DANE_1.dbo.Pracownk).
7. W przypadku selekcji podświetlonych rekordów można wykorzystać zmienną specjalną <USERMASK>, przykładowo.:
select P.Nazwisko, P.Imie from PRACOWNK P where ({L/Tylko podświetlone}=0)or(P.X_P&<USERMASK><>0)
W pzypadku większej ilości użytkowników prawidłowy warunek na podświetlone rekordy powinien wyglądać następująco:
where ({L/Tylko podświetlone}=0)or(<BIN>.fn_Podsw(p.X_I,p.X_P,<USERIDE>,'PracownikT')=1)
.
8. Znaczniki
<R>,</R> umożliwiają wyłączenie z kodu zestawienia sql fragmentów, które są odpowiedzialne za włączenie opcji Rozszerzona struktura działów, np. jeśli nie chcemy, aby podczas przygotowywania zestawienia były widoczne kontrolki oddziałów i zespołów, gdy powyższa opcja jest wyłączona, fragment kodu zestawienia odpowiedzialny za tą funkcję należy zawrzeć pomiędzy tymi znacznikami
<H>,</H> jak wyżej, tylko dotyczy opcji Włącz zapamiętywanie niektórych danych w historii.
9. W bazie danych ogólnych (BIN) znajduje się tabela KODY (<BIN>.KODY), zawieracjąca opis możliwych wartości, przyjmowanych przez przez pola typu wyliczeniowego z poszczególnych tabel. Dzięki niej można uzyskać opisową zawartość tych pól, po właściwym złączeniu tej tabeli w zapytaniu (można również wykorzystać w tym celu funkcję fn_Kod).
10. W przypadku zaszyfrowanej bazy pola zaszyfrowane należy wpisywać w konwencji <nazwa_pola.ENCRYPTED>, uzupełnienie to można pominąć w sekcji SELECT, natomiast trzeba uzupełnić we wszystkich innych (WHERE, ORDER BY, itp.) , przykładowo zapytanie:
select P.Nazwisko, P.Imie from PRACOWNK P order by P.Nazwisko, P.Imie
po zaszyfrowaniu bazy należy zamienić na:
select P.Nazwisko, P.Imie from PRACOWNK P order by <P.Nazwisko.ENCRYPTED>, <P.Imie.ENCRYPTED>
11. Można wykorzystać znajdujące się w bazie funkcje (lub zbudować własne) - patrz Funkcje i procedury składowane.
UPRAWNIENIA I PARAMETRY
Grupa użytkowników - ponieważ raporty SQL mogą pobierać praktycznie wszystkie dane, dla każdego zestawienia możemy indywidualnie określić grupy użytkowników, które będą miały możliwość korzystania z tego zestawienia. Dzięki takiemu rozwiązaniu różne zestawienia SQL mogą być dostępne dla różnych użytkowników. W przypadku pozostawienia grupy użytkowników pustej, zestawienia będą dostępne z poziomu programu dla wszystkich użytkowników, a z poziomu modułu WWW nie będą dostępne ani dla pracowników (Użytkownicy WWW), ani dla innych użytkowników.
Udostępnij - zestawienie może być dostępne z poziomu:
Menu Zestawienia - menu głównego Raporty - Zestawienia SQL
Okno startowe - Okna startowego
Wszędzie - zarówno w raportach i w Oknie startowym, oczywiście pod warunkiem, że zalogowany użytkownik należy do grupy użytkowników, którym udostępniono zestawienie.
Makieta - można do zestawenia podpiąć własną makietę zdefiniowaną w menu Ustawienia - Makiety dokumentów, która będzie wykorzystywana podczas wydruku zestawienia. Aby można było wybrać makietę w zestawieniu, musi ona mieć zaznaczoną dostępność dla okna "Zestawienia SQL". Do definiowania makiety należy wykorzystać tagi od #SQL_01# do #SQL_99#, gdzie numer odpowiada kolejnemu numerowi pola zwracanego przez polecenie SELECT, a także znaki sterujące od #Kontrolka_SQL_0# do #Kontrolka_SQL_9#, które odpowiadają za wartości kontrolek użytych w zestawieniu.
Automatycznie dostosuj kolumny - przy włączonej opcji każdorazowo będzie określał widoczne kolumny i ich szerokość na zestawieniu, po wyłączeniu tej opcji pamiętane będą ustawienia kolumn zmodyfikowane przez użytkownika w oknie ze zrobionym zestawieniem
Ikona - w przypadku okna startowego możemy przypisać własną ikonę do obszaru zestawienia