SetDateFilter()
Zastosowanie
Dział zatytułowany „Zastosowanie”Funkcja SetDateFilter() blokuje wybór dat z podanego zakresu w polu typu data. Dzięki niej użytkownik nie wybierze w kalendarzu dni, które nie pasują do procesu, np. dat z przeszłości.
Filtr jest stosowany podczas generowania formularza, dlatego funkcja działa w regułach automatycznych. W regułach ręcznych jej wywołanie nie daje efektu. Zalecane miejsce wywołania opisuje przykład 5.
Efekt działania
Dział zatytułowany „Efekt działania”W kalendarzu pola typu data dni spoza dozwolonego zakresu są niedostępne do wyboru. Funkcja ogranicza wyłącznie wybór dni. Nie obsługuje pól typu data i godzina i nie ogranicza wyboru godziny w dozwolonym dniu.
Składnia
Dział zatytułowany „Składnia”SetDateFilter(dateTypefield, firstDate, secondDate, application);Argumenty
Dział zatytułowany „Argumenty”| Argument | Typ | Wymagany | Opis |
|---|---|---|---|
dateTypefield |
tekst | Tak | Nazwa pola typu data na formularzu sprawy. |
firstDate |
tekst | Tak | Pierwsza data zakresu. |
secondDate |
tekst | Nie | Druga data zakresu. |
application |
tekst | Tak | Którego zakresu dat dotyczy filtr. Dozwolone wartości: after, before, between, out of range. |
Przy wartościach after i before podajesz tylko jedną datę. Przy wartościach between i out of range podajesz obie daty zakresu.
Zwracana wartość
Dział zatytułowany „Zwracana wartość”Funkcja zawsze zwraca wartość logiczną true.
Przykłady
Dział zatytułowany „Przykłady”Przykład 1: blokada dat przed wskazaną datą
Dział zatytułowany „Przykład 1: blokada dat przed wskazaną datą”Funkcja blokuje wybór dat wcześniejszych niż podana data.
SetDateFilter("some date field", "2021-11-15", "after");Przykład 2: blokada dat po wskazanej dacie
Dział zatytułowany „Przykład 2: blokada dat po wskazanej dacie”Funkcja blokuje wybór dat późniejszych niż podana data.
SetDateFilter("some date field", "2021-11-15", "before");Przykład 3: wybór tylko z zakresu
Dział zatytułowany „Przykład 3: wybór tylko z zakresu”Użytkownik może wybrać tylko daty od 15 do 22 listopada 2021 r. Pozostałe daty są zablokowane.
SetDateFilter("fieldName", "2021-11-15", "2021-11-22", "between");Przykład 4: blokada dat w zakresie
Dział zatytułowany „Przykład 4: blokada dat w zakresie”Daty od 15 do 22 listopada 2021 r. są zablokowane. Pozostałe daty można wybrać.
SetDateFilter("fieldName", "2021-11-15", "2021-11-22", "out of range");Przykład 5: zalecane miejsce wywołania
Dział zatytułowany „Przykład 5: zalecane miejsce wywołania”Funkcję SetDateFilter() najlepiej wywołać w regule automatycznej ([1] na zrzucie poniżej), na wybranym etapie ([2]) i wewnątrz warunku if(…), który sprawdza, czy pole typu data jest puste ([3]).

Dobre praktyki
Dział zatytułowany „Dobre praktyki”- Używaj funkcji w regułach automatycznych, najlepiej przy wejściu na etap, żeby filtr zadziałał, zanim formularz zostanie wyświetlony.
- Wywołuj funkcję w warunku
if(…), gdy pole typu data jest puste, żeby uniknąć niepotrzebnych operacji.
Typowe błędy
Dział zatytułowany „Typowe błędy”- Nieprawidłowy format daty. Funkcja nie zastosuje filtra. Podawaj daty w formacie
yyyy-MM-dd. - Nieobsługiwana wartość
application. Funkcja zgłosi błąd. Używaj tylko wartościafter,before,betweenalboout of range. - Wywołanie w regule ręcznej. Filtr nie zostanie zastosowany, bo formularz jest już wygenerowany. Wywołuj funkcję w regule automatycznej.
- Użycie z polem typu data i godzina albo oczekiwanie blokady godziny. Filtr działa tylko na dni w kalendarzu, więc użytkownik nadal wybierze dowolną godzinę w dozwolonym dniu. Używaj funkcji z polami typu data, a ograniczenie godziny zrealizuj osobną walidacją.