Moduł raportów SQL - Instrukcja obsługi programu R2płatnik, R2płatnikPRO, R2płatnikSBO RESET2 Oprogramowanie
Strona używa plików cookies (tzw. ciasteczka) do przechowywania i uzyskiwania dostępu do tej informacji w celach funkcjonalnych, statystycznych i reklamowych.
Użytkownik wyraża zgodę oraz określa warunki przechowywania lub uzyskiwania dostępu do informacji zawartej w plikach cookies za pomocą ustawień przeglądarki.
Dowiedz się więcej odwiedzając strony:

Polityka Prywatności    Regulamin sklepu      Jak wyłączyć cookies?

Przejdź do serwisu

Instrukcja obsługi R2płatnik



Moduł raportów SQL

Moduł raportów SQL

Parametryzacja systemu

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