Blokady filtrów umożliwiają automatyczne narzucenie określonych warunków filtrowania danych.
W przeciwieństwie do zwykłego filtra, którego wartość może być wybierana przez użytkownika, blokada pozwala ustawić wartość domyślnie i — zależnie od konfiguracji — uniemożliwić jej zmianę.
Blokady filtrów są szczególnie przydatne przy konfigurowaniu uprawnień do danych.
Można za ich pomocą określić na przykład, że:
- handlowiec widzi wyłącznie własne transakcje,
- handlowiec ma dostęp tylko do swoich klientów,
- użytkownik widzi wyłącznie dane powiązane z aktualnie otwartym obiektem,
- wybrana grupa pracowników nie ma dostępu do określonych rekordów,
- zestawienie zawsze prezentuje obiekty posiadające wskazany status.
1. Zastosowanie blokad filtrów #
Blokady są najczęściej stosowane na stronach prezentujących zbiory danych, między innymi:
- na stronach typu Zestawienie,
- na stronach typu Terminarz,
- na innych podobnych stronach wykorzystujących filtry.
Blokada może być przypisana do konkretnej strony lub zastosowana w innym miejscu konfiguracji programu.
2. Dodawanie blokady do strony typu Zestawienie #
Aby dodać blokadę filtra do strony:
- Otwórz stronę typu Zestawienie.
- Włącz tryb Konstruktor.
- Kliknij ikonę koła zębatego Konfiguruj stronę w prawym górnym rogu.
- Przejdź do sekcji Opcje zestawienia.
- Otwórz zakładkę Blokady filtrów.
- Kliknij przycisk Dodaj nowe.
Program rozpocznie tworzenie nowej blokady.
3. Wybór filtra używanego w blokadzie #
Pierwszym krokiem jest wskazanie wcześniej zdefiniowanego filtra, który ma zostać automatycznie zastosowany.
Wybrany filtr powinien być powiązany z tą samą klasą co obiekty wyświetlane w zestawieniu.
Przykładowo, jeżeli strona prezentuje kontrahentów, blokada powinna korzystać z filtra powiązanego z klasą Kontrahent.
Jeżeli odpowiedni filtr nie został jeszcze utworzony, należy najpierw przerwać dodawanie blokady i zdefiniować filtr. Następnie można wrócić do konfiguracji blokady i wybrać go z listy.
Po wybraniu filtra należy kliknąć przycisk Dodaj/edytuj.
4. Przykład zastosowania blokady #
Załóżmy, że dla klasy Kontrahent zdefiniowano filtr Status zakupowy.
Filtr może następnie zostać wykorzystany na stronie zawierającej zestawienie kontrahentów. W blokadzie można określić konkretny status zakupowy, według którego dane mają być zawsze filtrowane.
Po wejściu na stronę program automatycznie zastosuje wskazaną wartość.
5. Źródło wartości do blokady #
Najważniejszym ustawieniem blokady jest parametr Skąd wartość do blokady.
Określa on, skąd program ma pobrać wartość podstawianą do wybranego filtra.
5.1. Wskazana poniżej stała wartość #
Najczęściej stosowanym wariantem jest Wskazana poniżej stała wartość.
Po jego wybraniu administrator wprowadza konkretną wartość, która ma zostać ustawiona w filtrze.
Wartość ta jest stosowana przy każdym uruchomieniu strony.
Przykładowo można wymusić:
- określony status kontrahenta,
- wybrany etap transakcji,
- konkretną kategorię,
- wskazanego opiekuna,
- określony przedział wartości.
5.2. Wartość ze wskazanego znacznika #
Wartość blokady może zostać pobrana ze wskazanego znacznika szablonów, opcjonalnie powiązanego z obiektem znajdującym się w kartotece.
Po wybraniu tego wariantu należy wskazać znacznik, którego wynik ma zostać podstawiony do filtra.
Wartość może dzięki temu zależeć od kontekstu, w którym wyświetlane jest zestawienie.
5.3. Identyfikator obiektu w aktualnej kartotece #
Można również wybrać wariant, w którym program podstawia identyfikator obiektu, w którego kartotece znajduje się użytkownik.
Przykładowo, jeżeli użytkownik znajduje się w kartotece kontrahenta i otwiera zestawienie tematów handlowych, blokada może automatycznie ograniczyć wyniki do tematów powiązanych z aktualnym kontrahentem.
Do filtra zostanie wówczas podstawiony identyfikator bieżącego obiektu.
5.4. Wartość zwracana przez trigger #
Kolejną możliwością jest pobranie wartości z triggera powiązanego z obiektem znajdującym się w kartotece.
Trigger jest wykonywany podczas uruchamiania zestawienia, a zwrócona przez niego wartość zostaje zastosowana w blokadzie.
Po wybraniu tego wariantu należy wskazać trigger, który ma zostać uruchomiony.
Pozostałe źródła wartości są wykorzystywane rzadziej i należy je dobierać odpowiednio do projektowanego mechanizmu.
6. Jawność blokady dla użytkownika #
Parametr Blokada jawna dla użytkownika określa, czy użytkownik zobaczy zastosowaną blokadę i czy będzie mógł zmienić jej wartość.
Dostępne są trzy warianty.
6.1. Nie — brak możliwości edycji #
Blokada nie jest widoczna dla użytkownika i nie może zostać przez niego zmieniona.
Wariant ten jest odpowiedni przede wszystkim wtedy, gdy blokada pełni funkcję ograniczenia dostępu do danych.
6.2. Tak — brak możliwości edycji #
Użytkownik widzi zastosowany warunek, ale nie może zmienić jego wartości.
Dzięki temu wie, dlaczego zestawienie prezentuje ograniczony zakres danych.
6.3. Tak — z możliwością edycji #
Użytkownik widzi wartość blokady i może ją zmienić.
W takim przypadku blokada działa jako domyślnie ustawiony filtr, ale nie jest dla użytkownika obowiązkowa.
Wariant ten może być stosowany wtedy, gdy administrator chce zaproponować domyślne kryterium wyszukiwania, pozostawiając użytkownikowi możliwość jego modyfikacji.
7. Ograniczenie blokady do grupy użytkowników #
Blokada może obowiązywać tylko dla wskazanej grupy użytkowników.
W ustawieniach należy wybrać grupę, dla której ma być stosowany dany warunek.
Pozwala to przygotować na jednej stronie odmienne zasady dostępu dla różnych grup.
Przykładowo:
- blokada może obowiązywać wyłącznie handlowców,
- kierownicy mogą mieć dostęp do szerszego zakresu danych,
- członkowie zarządu mogą zostać wyłączeni z ograniczenia.
Można również utworzyć grupę obejmującą wszystkich użytkowników poza określonym zespołem, na przykład Wszyscy oprócz zarządu, a następnie przypisać blokadę do tej grupy.
8. Łączenie kilku blokad operatorem „lub” #
Na jednej stronie może obowiązywać kilka blokad.
Domyślnie program łączy je operatorem logicznym i, co oznacza, że wszystkie warunki muszą być spełnione jednocześnie.
Możliwe jest również połączenie wybranych blokad operatorem logicznym lub.
Aby to zrobić, należy wpisać taki sam symbol lub akronim w polu Wyrażenie lub w każdej blokadzie, która ma należeć do tej samej grupy warunków.
Jeżeli program znajdzie co najmniej dwie obowiązujące blokady posiadające ten sam symbol w polu Wyrażenie lub, połączy je operatorem logicznym lub.
Oznacza to, że rekord zostanie wyświetlony, jeżeli spełnia pierwszy albo drugi warunek.
9. Domyślne łączenie blokad operatorem „i” #
Jeżeli pole Wyrażenie lub pozostanie puste albo wpisane symbole nie powtarzają się w obrębie jednej strony, blokady są łączone operatorem logicznym i.
Oznacza to, że obiekt musi spełnić wszystkie obowiązujące warunki.
Przykładowo można jednocześnie wymagać, aby transakcja:
- należała do zalogowanego handlowca,
- posiadała status aktywny,
- dotyczyła aktualnie otwartego kontrahenta.
Do zestawienia trafią wyłącznie rekordy spełniające wszystkie trzy warunki.
10. Wartość blokady zależna od rodzaju filtra #
Sposób wprowadzania wartości blokady zależy od typu wybranego filtra.
10.1. Filtr oparty na liście wyboru #
Dla filtra wykorzystującego listę wyboru należy wskazać odpowiedni wariant lub warianty z listy.
10.2. Filtr tekstowy #
Dla filtra wyszukującego po tekście należy wprowadzić wartość tekstową, która ma zostać podstawiona do filtra.
10.3. Filtr liczbowy #
Dla filtra opartego na wartościach liczbowych można określić wartość lub zakres liczb, w którym musi mieścić się filtrowane pole.
10.4. Filtr daty #
Dla filtra działającego na datach należy wskazać odpowiednią datę albo wartości dat wymagane przez dany sposób wyszukiwania.
Pole służące do wprowadzenia wartości może zatem wyglądać inaczej zależnie od rodzaju zastosowanego filtra.
11. Wskazywanie znacznika lub triggera #
Jeżeli w polu Skąd wartość do blokady wybrano wartość pobieraną ze znacznika, w dalszej części ustawień należy wskazać konkretny istniejący znacznik.
Jeżeli wybrano wartość zwracaną przez trigger, należy wskazać trigger, który ma zostać uruchomiony podczas otwierania zestawienia.
Program pobierze wynik działania wskazanego mechanizmu i zastosuje go jako wartość filtra.
12. Uruchamianie blokady #
Po zdefiniowaniu blokady jest ona sprawdzana przy każdym wejściu użytkownika na stronę.
Program:
- ustala, czy blokada obowiązuje danego użytkownika,
- pobiera wartość zgodnie ze wskazanym źródłem,
- podstawia ją do powiązanego filtra,
- ogranicza wyniki zestawienia.
Dzięki temu warunek jest stosowany automatycznie i nie wymaga działania użytkownika.
13. Pierwszeństwo blokady nad zwykłym filtrem #
Jeżeli ten sam filtr zostanie jednocześnie:
- użyty w blokadzie,
- udostępniony użytkownikowi na stronie,
to wartość wynikająca z blokady ma pierwszeństwo.
Oznacza to, że użytkownik nie może skutecznie nadpisać obowiązującej blokady zwykłym filtrem korzystającym z tej samej definicji.
14. Dodatkowe filtrowanie w ramach blokady #
Może wystąpić sytuacja, w której administrator chce:
- ograniczyć zakres danych za pomocą blokady,
- a jednocześnie pozwolić użytkownikowi na dodatkowe filtrowanie według tego samego pola.
W takim przypadku należy zdefiniować dwa osobne filtry działające na tym samym polu:
- pierwszy filtr wykorzystać w blokadzie,
- drugi filtr udostępnić użytkownikowi na stronie.
Warunki zostaną połączone operatorem logicznym i.
Program wyświetli część wspólną wyników, czyli rekordy spełniające zarówno warunek narzucony przez blokadę, jak i kryterium wybrane przez użytkownika.
Przykład #
Blokada ogranicza zestawienie do klientów przypisanych do zalogowanego handlowca.
Użytkownik otrzymuje dodatkowy filtr pozwalający wybrać status klienta.
Wynik będzie zawierał wyłącznie klientów:
- przypisanych do danego handlowca,
- posiadających status wybrany przez użytkownika.
15. Blokady globalne dla klasy #
Blokady można również ustawiać jako globalne dla całej klasy.
W takim przypadku blokada jest automatycznie dodawana do wszystkich zestawień wyświetlających obiekty tej klasy.
Rozwiązanie to jest przydatne, gdy określone ograniczenie powinno obowiązywać niezależnie od tego, na której stronie użytkownik przegląda dane.
Blokady globalne mogą być konfigurowane w monitoringach.
16. Inne zastosowania blokad #
Blokady filtrów mogą być wykorzystywane również poza standardowymi stronami zestawień.
Można je stosować między innymi:
- w monitoringach,
- przy cyklicznym sprzątaniu danych,
- w znacznikach do szablonów typu Zestawienie.
W przypadku znacznika do szablonu typu Zestawienie blokada pozwala ograniczyć dane pobierane do generowanego dokumentu lub treści szablonu.
Dzięki temu do szablonu mogą zostać przekazane wyłącznie rekordy spełniające ustalone warunki.