Zmiany pomiędzy wersją 1 and wersją 2 dla NewBusinessAdmin/Reports/Filters

Pokaż
Ignoruj:
Data i czas:
09/11/15 16:01:26 (9 years temu)
Autor:
msawkiewicz (IP: 79.188.124.105)
Komentarz:

--

Legend:

Bez zmian
Dodane
Usunięte
Zmienione
  • NewBusinessAdmin/Reports/Filters

    v1 v2  
    2222Warunki stosowania operatorów: 
    2323|| Operator || Kiedy stosować || Przykład parametru || 
    24 || IN || dla listy gdyż możemy otrzymać kilka zaznaczonych elementów.[[BR]] Token zostanie zamieniony na identyfikatory z danej listy np.: 1,2,3,4 || '''Miejsce:''' Lista klientów [[BR]] '''Parametr:''' contid IN ({CONTID}) || 
     24|| IN || dla listy, gdyż możemy otrzymać kilka zaznaczonych elementów. [[BR]] Token zostanie zamieniony na identyfikatory z danej listy np.: 1,2,3,4 || '''Miejsce:''' Lista klientów [[BR]] '''Parametr:''' contid IN ({CONTID}) || 
    2525|| znak = || dla kartoteki przekazywana jest tylko jedna wartość do parametru || '''Miejsce:''' Kartoteka klienta [[BR]] '''Parametr:''' contid = {CONTID} || 
    2626 
    27 W przypadku, jeśli w definicji raportu użyjemy np.: {CONTID} a raport zostanie wywołany z modułu (przekazane zostaną zaznaczone elementy) wtedy token zostanie zamieniony na pierwszy z zaznaczonych elementów. [[BR]] 
     27W przypadku, jeśli w definicji raportu użyjemy np.: {CONTID} a raport zostanie wywołany z modułu (przekazane zostaną zaznaczone elementy), token zostanie zamieniony na pierwszy z zaznaczonych elementów. [[BR]] 
    2828 
    2929W przypadku niewłaściwego podpięcia raportu lub niewłaściwego użycia operatora raport wygeneruje błąd. 
     
    6060|| {RES_ID} || Zasób (z listy lub kartoteka) || 0 || TAK || 
    6161 
    62 W momencie jeśli w danym raporcie zostanie użyty taki token to system wygeneruje odpowiednie pole na formularzu parametrów do raportu - jeśli jest obsługiwane. Poniższy zrzut ekranu przedstawia wszystkie tokeny możliwe do określania poprzez formularz. 
    63  
    64 [[BR]][[Image(podstawowe_parametry.png)]][[BR]] (''Parametry'')[[BR]] 
    65  
    6662== Definiowanie filtrów == #definiowanie_filtrow 
    6763 
    68 Od wersji 4.0 system eDokumenty umożliwia definiowanie własnych parametrów do raportów określanych jako Filtry. 
    69  
    70 Na wstępie należy wyszukać interesujący nas raport lub dodać nowy [wiki:UserGuide/AdvancedConfiguration/DefiningReports Tworzenie raportów w SQL]. 
     64System eDokumenty umożliwia definiowanie własnych parametrów do raportów określanych jako '''Filtry'''. [[BR]] 
    7165 
    7266Przykładowa definicja raportu (kod SQL): 
     
    8882== Ważne uwagi == #wazne_uwagi 
    8983 
    90 Aby filtrowanie było możliwe wymagane jest dodanie specjalnego tokenu '''{FILTER_STRING}''', który w momencie akceptacji filtrów zostanie zamieniony na warunki SQL zgodne z definicją filtrów. Jeśli w definicji raportu zabraknie tego tokenu to pomimo definicji filtrów nie będą one dostępne na panelu parametrów. 
    91  
    92 Istotną kwestią jest również miejsce w którym jest dodany token {FILTER_STRING} oraz operator jaki go poprzedza (AND/OR zalecany AND). 
    93 Być może przykład będzie dość abstrakcyjny jednak proszę zwrócić uwagę na zapytanie zagnieżdżone: 
     84Aby filtrowanie było możliwe, wymagane jest dodanie specjalnego tokenu '''{FILTER_STRING}''', który w momencie akceptacji filtrów zostanie zamieniony na warunki SQL zgodne z definicją filtrów. Jeśli w definicji raportu zabraknie tego tokenu, to pomimo definicji filtrów nie będą one dostępne na panelu parametrów. [[BR]] 
     85 
     86Istotną kwestią jest również miejsce, w którym jest dodany token {FILTER_STRING} oraz operator, jaki go poprzedza (AND/OR - zalecany AND). 
     87 
     88__'''Przykład'''__ 
    9489 
    9590{{{ 
     
    108103    AND {FILTER_STRING} 
    109104}}} 
    110 Ważne jest aby przy takiej definicji raportu filtry wskazywały na kolumny umieszczone w głównym zapytaniu. 
     105 
     106Ważne jest, aby przy takiej definicji raportu filtry wskazywały na kolumny umieszczone w głównym zapytaniu. 
    111107 
    112108== Definicja nowego filtra == #definicja_nowego_filtra 
    113109 
    114 Po otwarciu dialoga raportu powinna nam się pojawić dodatkowa zakładka - "Filtry". 
    115  
    116 [[BR]][[Image(panel_filtry.png)]][[BR]] (''Panel "Filtry"'')[[BR]] 
    117  
    118 Przyciski na widocznym zrzucie umożliwiają standardowe zarządzanie filtrami: 
     110Filtrami możemy zarządzać w zakładce '''Filtry''' w kartotece raportu. 
     111 
     112[[BR]][[Image(wiki:NewBusinessAdmin/Attachments:raport_filtry.png, 500)]][[BR]] 
     113''Zakładka '''Filtry'''''[[BR]] 
     114 
     115Przyciski na widocznym rysunku umożliwiają standardowe zarządzanie filtrami: 
    119116|| Nazwa przycisku || Opis || 
    120117|| Nowy || definicja nowego filtra/grupy || 
     
    123120|| Odśwież listę || odświeża listę filtrów || 
    124121 
    125 Klikając przycisk "Nowy" otrzymujemy formularz dzięki, której możemy zdefiniować nowy filtr lub grupę (zależne od wyboru pola Rodzaj - poniższy zrzut ekranu). 
    126  
    127 [[BR]][[Image(filtr_raportu.png)]][[BR]] (''Definicja filtra'')[[BR]] 
    128  
    129 Opis pól: 
    130 || Nazwa pola || Opis || 
    131 || Nazwa || nazwa filtra lub grupy filtrów w zależności co zostanie wybrane w polu rodzaj || 
    132 || Opis || dodatkowa informacja wyświetlania po najechaniu na nazwę filtra w panelu filtrów raportu (dostępny na wygenerowanym raporcie) || 
    133 || Nadrzędny || w przypadku jeśli dany filtr lub grupa ma należeć do grupy należy wybrać z dostępnej listy || 
    134 || Rodzaj || '''Grupa''' - grupuje kilka filtrów lub innych grup[[BR]] '''Filtr''' - konkretny filtr - filtry mogą być definiowane bez elementu nadrzędnego lub mogą należeć do grupy. Filtr nie może należeć do innego filtra || 
    135 || Typ opcji || rodzaj wygenerowanego pola na panelu filtrów w wygenerowanym raporcie. Szczegóły poniżej || 
    136 || Filtr || wyrażenie filtrujące. W zależności od typ opcji może wymagać podanie tokenu {value} - szczegóły poniżej || 
    137 || Wartości dla listy || tylko dla typu:  Lista jednokrotnego wyboru, Lista wielokrotnego wyboru, Pola radiowe - kwerenda SQL, gdzie pierwsza wartość to klucz, który '''musi być typu INTEGER''' natomiast druga to opis wartości. Można stosować następujące tokeny: [[BR]] {LOGGED_USER} - identyfikator zalogowanego pracownika (users.usr_id) [[BR]] {LOGGED_ORUNID} - identyfikator jednostki zalogowanego pracownika (organization_units.orunid) [[BR]] {ENT_ID} - identyfikator podmiotu (podmioty.id_pod) [[BR]] {CURRENT_DATE} - bieżąca data w formacie YYYY-MM-DD [[BR]] {CURRENT_TIME} - bieżący czas w formacie HH:MM  || 
     122Nowy filtr lub grupę filtrów definiujemy w formularzu '''Typ raportu'''. 
     123 
     124[[BR]][[Image(wiki:NewBusinessAdmin/Attachments:raport_filtry_nowy_filtr.png, 400)]][[BR]] 
     125 
     126Wypełniane pola: 
     127* '''Nazwa''' - nazwa filtra lub grupy filtrów, w zależności od wartości polu '''Rodzaj''' 
     128* '''Opis''' - dodatkowa informacja wyświetlania po najechaniu na nazwę filtra w panelu filtrów raportu (dostępny na wygenerowanym raporcie) 
     129* '''Nadrzędny''' - w przypadku, jeśli dany filtr lub grupa ma należeć do grupy, wybieramy ją z listy 
     130* '''Rodzaj'''. Wartość '''Grupa''' grupuje kilka filtrów lub innych grup, wartość '''Filtr''' oznacza konkretny filtr - filtry mogą być definiowane bez elementu nadrzędnego lub mogą należeć do grupy. Filtr nie może należeć do innego filtra. 
     131* '''Typ opcji''' - rodzaj wygenerowanego pola w panelu filtrów w wygenerowanym raporcie. Szczegóły poniżej. 
     132* '''Filtr''' - wyrażenie filtrujące. W zależności od typu opcji może wymagać podania tokena {value} - szczegóły poniżej. 
     133* '''Wartości dla listy''' - tylko dla typu:  '''Lista jednokrotnego wyboru''', '''Lista wielokrotnego wyboru''', '''Pola radiowe - kwerenda SQL''', gdzie pierwsza wartość to klucz, który '''musi być typu INTEGER''', natomiast druga to opis wartości. Można stosować następujące tokeny: '''{LOGGED_USER}''' - identyfikator zalogowanego pracownika (users.usr_id), '''{LOGGED_ORUNID}''' - identyfikator jednostki zalogowanego pracownika (organization_units.orunid), '''{ENT_ID}''' - identyfikator podmiotu (podmioty.id_pod), '''{CURRENT_DATE}''' - bieżąca data w formacie YYYY-MM-DD, '''{CURRENT_TIME}''' - bieżący czas w formacie HH:MM 
    138134 
    139135== Typ opcji == #typ_opcji 
    140 Poniżej znajduje się aktualna lista typów opcji oraz przykład definicji: 
     136Aktualna lista typów opcji oraz przykład definicji: 
    141137 
    142138|| Typ opcji || Opis || Przykład filtru || Wymaga tokenu {value} || 
     
    158154|| Drzewko || Zwraca identyfikator wybranego elementu drzewka. Napełniane kwerendą podaną poniżej w przykładach || category = {value} || Tak || 
    159155 
    160  
    161 W moim przypadku chcę filtrować listę klientów według parametru opiekun dlatego: 
    162  - Typ opcji : Lista pracowników 
    163  - Filtr: macrtk IN ({value}) - pole macrtk przechowuje id opiekuna (users.usr_id) 
    164  
    165 Po zapisaniu filtr jest dostępny z poziomu listy filtrów danego raportu: 
    166  
    167 [[BR]][[Image(nowy_filtr_na_liscie.png)]][[BR]] (''Nowy filtr na liście filtrów w raporcie'')[[BR]] 
    168  
    169 Oraz dodatkowo po wygenerowaniu raportu klikając przycisk Określ parametry otrzymujemy formularz jak na zrzucie poniżej: 
    170  
    171 [[BR]][[Image(filtr_na_raporcie.png)]][[BR]] (''Filtr na wygenerowanym raporcie'')[[BR]] 
    172  
    173 Po zatwierdzeniu (przycisk Zapisz na formularzu Określ parametru raportu) raport zostanie ponownie wygenerowany uwzględniając nasz wybór. 
     156__'''Przykład'''__ [[BR]] 
     157Chcę filtrować listę klientów według parametru '''Opiekun'''. Wtedy: 
     158* wybieram '''Typ opcji''': '''Lista pracowników''' 
     159* definiuję '''Filtr''': '''macrtk IN ({value})''' - pole macrtk przechowuje id opiekuna (users.usr_id) 
     160 
     161Po zapisaniu filtr zostaje dodany do listy w zakładce '''Filtry''', a po [http://support.edokumenty.eu/trac/wiki/NewBusinessAdmin/Reports/PrintCharts wygenerowaniu raportu] wyświetla się w oknie po kliknięciu odnośnika '''Określ parametry'''. 
    174162 
    175163== Jeden filtr wiele raportów == #powiazania 
    176 Nowa wersja 4.7.7 umożliwia publikację filtrów w wielu raportach. Dodatkowo został dodany słownik definicji filtrów dostępny z poziomu modułu Raporty -> Akcje -> Edycja definicji filtrów lub z poziomu zakładki Filtry w raporcie na pasku zadań. 
    177  
    178 Przy dodawaniu filtru bezpośrednio z raportu system tworzy definicję filtru oraz publikuje go w danym raporcie w kontekście, którego aktualnie pracujemy. Zachowanie to możemy zmienić poprzez dodawanie już istniejącej definicji filtru do danego raportu. Można to zrobić poprzez opcję w menu Nowy na zakładce Filtry "Dodaj istniejący (powiązanie)". Z otwartego słownika wybieramy filtry lub grupę i klikamy Dodaj lub Dodaj i zamknij. Ważne jest, że jeśli publikujemy (dodajemy) element, który ma elementy podrzędne nastąpi automatyczne dodanie również tych elementów podrzędnych. 
    179  
    180 Publikować (dodawać powiązania) można również poprzez metodę drag & drop danego elementu drzewka definicji filtrów na panel drzewka filtrów w raporcie. 
    181  
     164Raz zdefiniowane filtry mogą być publikowane (dodawane zostają powiązania) w wielu raportach. Słownik definicji filtrów dostępny jest z menu '''Akcje''' po wybraniu pozycji '''Edycja definicji filtrów''' lub z poziomu zakładki '''Filtry''' kartoteki raportu - po kliknięciu ikony '''Edytuj definicje filtrów raportów''' w '''Pasku narzędzi'''. 
     165 
     166Przy dodawaniu filtra bezpośrednio z kartoteki raportu system tworzy definicję filtra i publikuje go w edytowanym raporcie. Zachowanie to możemy zmienić poprzez dodawanie już istniejącej definicji filtra do raportu. Można to zrobić poprzez opcję w menu '''Nowy''' na zakładce Filtry '''Dodaj istniejący (powiązanie)'''. Z otwartego słownika wybieramy filtry lub grupę i klikamy '''Dodaj''' lub '''Dodaj i zamknij'''. Ważne jest, że jeśli publikujemy (dodajemy) element, który ma elementy podrzędne, nastąpi automatyczne dodanie również tych elementów podrzędnych. [[BR]] 
     167 
     168Publikować filtry można również poprzez metodę '''drag&drop''' danego elementu drzewka definicji filtrów w oknie '''Definicje filtrów''' na drzewko filtrów w kartotece raportu. 
    182169 
    183170== Dynamiczne grupowanie == 
    184 Aby na panelu filtrów widoczna była opcja dynamicznego grupowania (po kolumnach zdefiniowanych na panelu Wybór kolumn) w definicji SQL raportu należy dodać token {GROUP_BY}. Jest to jednak token sterujący dlatego należy go poprzedzić --. Pozycja tokena {GROUP_BY} nie ma znaczenia ważne aby był zakomentowany. 
     171Aby na panelu filtrów widoczna była opcja dynamicznego grupowania (po kolumnach zdefiniowanych na zakładce '''Kolumny''' w kartotece raportu), w definicji SQL raportu dodajemy token {GROUP_BY}. Jest to jednak token sterujący dlatego należy go poprzedzić --. Pozycja tokena {GROUP_BY} nie ma znaczenia ważne aby był zakomentowany. 
    185172 
    186173Przykład SQL