Moduł Zestawienia pozwala na dodawanie zestawień SQL – ułatwia tworzenie zestawień własnych, które służą do przeglądania informacji zapisanych w bazie danych podmiotu. Korzystając z zapytań języka SQL, można zbudować dodatkowe zestawienie. Moduł ten może obejmować dowolną liczbę zestawień własnych, które można edytować lub usuwać.
Aby dodać zestawienie własne SQL, należy:
1. Przejść do modułu Zestawienia, a następnie na dowolnej pozycji kliknąć prawym przyciskiem myszy i wybrać Dodaj zestawienie SQL lub w module zestawienia kliknąć klawisz Insert na klawiaturze.
2. W oknie Dane zestawienia, w zakładce Podstawowe, nadać nazwę i opis zestawienia – dane te przekładają się na sposób prezentacji zestawienia na liście.
Dodatkowo można określić, w których programach dodane zestawienie będzie się pojawiać na liście.
3. Przejść do zakładki Zapytanie SQL i w dostępnym polu wpisać skonstruowane zapytanie SQL. Następnie można sprawdzić, czy jest ono poprawne, klikając Testuj zapytanie. Zmiany zatwierdzić przyciskiem OK.
4. Dodane w ten sposób zestawienie będzie widoczne w module Zestawienia.
Aby je edytować, należy kliknąć nim prawym przyciskiem myszy i wybrać opcję Dane zestawienia. Dostępna jest również opcja Usuń zestawienie.
Dzięki zestawieniom możemy w łatwy sposób odpytać bazę danych bez potrzeby łączenia się na serwer i wchodzenia do SQL Server Management Studio (SSMS) lub innego środowiska do zarządzania bazą danych.
Przykładowe zestawienia:
1) Stałe rabaty przypisane do kontrahentów - zestawienie pokazuje nam stałe rabaty przypisane do kontrahentów:
SELECT
adr_Symbol as Symbol,
adr_Nazwa as Kontrahent,
ISNULL(rt_Nazwa,'') as [Nazwa rabatu],
ISNULL(rt_Procent,0) AS [Rabat %]
FROM dbo.kh__Kontrahent T0
JOIN dbo.adr__Ewid T1 ON T1.adr_IdObiektu = T0.kh_Id
LEFT JOIN dbo.sl_Rabat T2 ON T2.rt_id = T0.kh_IdRabat
WHERE (T1.adr_TypAdresu = 1)
2) Rozmiar zdjęć towarów - zestawienie pokazuje jakie rozmiary mają zdjęcia przypisane do towarów. Filtr umożliwia zawężenie wyników do zdjęć o rozmiarach przkraczającym wartość podaną w filtrze:
select case when tw_Zablokowany = 1 then CAST(0 as bit) else CAST(1 as bit) end [Aktywny]
, tw_Symbol [Symbol]
, tw_Nazwa [Nazwa]
, cast(DATALENGTH(zd_zdjecie) as money) [Rozmiar w B]
, cast(DATALENGTH(zd_zdjecie) / 1024.0 as money) [Rozmiar w kB]
, cast(DATALENGTH(zd_zdjecie) / 1024.0 / 1024.0 as money) [Rozmiar w MB]
from tw__Towar
join tw_ZdjecieTw on tw_Id = zd_IdTowar
where DATALENGTH(zd_zdjecie) > {M: Zdjęcia większe niż (kB): 0} * 1024