Wstęp
Wyróżnienia wartości dla zmiennych widoku definiujemy, gdy chcemy aby konkretne wartości w wynikach wyszukiwania danego widoku były odpowiednio sformatowane (wybrany kolor, dodatkowa ikonka, pogrubienie, itp.). Od wersji systemu 3.0.3 został przygotowany zupełnie nowy mechanizm zarządzania wyróżnieniami.
Ważne
Przed przystąpieniem do korzystania z wyróżnień wartości w systemie 3.0.3 należy najpierw wykonać skrypt na bazie danych z pliku distinctionValueType.sql. Dla wersji 3.1.x skrypt jest wykonywany przez upgradera.
Następnie na każdej wersji systemu należy uruchomić zadanie zaplanowane convertOldDistinctionValues znajdujące się w klasie com.suncode.web.support.distinction.DistinctionTasks. Zadanie to konwertuje stare definicje wyróżnień wartości na odpowiadające tym nowym. Bez tego może nie działać poprawnie mechanizm wyróżnień.
Możliwości
Wyróżnić wartości możemy za pomocą: pogrubienia, kursywy, zmiany koloru i dodaniu ikony.
W każdym wyróżnieniu można zdefiniować dowolną ilość warunków od jakich będzie zależeć, czy dana zmienna zostanie wyróżniona, czy nie.
System PlusWorkflow udostępnia domyślnie dwie definicje warunków: Podstawowy i Datowy, z których można korzystać.
Gdy domyślne definicje warunków nie są wystarczające (np.: chcemy, aby wartości były wyróżniane w zależności od dnia tygodnia), możemy stworzyć własne, zupełnie dowolne. Patrz: Definiowanie własnego komparatora
Zasada działania
Zdefiniowane warunki dla jednego wyróżnienia są połączone operatorem logicznym AND, czyli wszystkie warunki muszą zostać spełnione, aby wartość została wyróżniona. W momencie, gdy chcielibyśmy zdefiniować wyróżnienie z np.: dwoma warunkami, z których wystarczyłoby, aby tylko jeden był spełniony do wyróżnienia wartości (operator logiczny LUB) należy stworzyć dwa takie same wyróżnienia, z czego w jednym wyróżnieniu będzie warunek pierwszy, a w drugim wyróżnieniu będzie warunek drugi.
Przykład
Sytuacja, gdzie niezbędny będzie operator logiczny LUB będzie mieć miejsce, gdy np.: będziemy chcieli, aby wartość x była wyróżniona w momencie, gdy spełnione zostanie równanie x < 0 v x > 100. W takim przypadku w jednym wyróżnieniu dajemy warunek x < 0, a w drugiej definicji wyróżnienia dodajemy warunek x > 100.
Dostępne komparatory
KOMPARATOR PODSTAWOWY
Podstawowy komparator daje możliwość porównania dowolnej zmiennej widoku z wprowadzoną wartością typu liczbowego, bądź tekstowego.
Operatory
Dostępne są następujące operatory:
= , < , > , <= , >= , <>
O ile porównanie liczbowe jest dokonywane w sposób standardowy, to porównywanie tekstowe odbywa się w następujący sposób:
- dla operatora ( = ) oba ciągi znaków muszą być takie same (metoda equals() w javie),
- dla operatorów ( < i <= ) wartość zmiennej widoku musi zawierać się we wprowadzonej wartości (metoda contains() w javie),
- dla operatorów ( > i >= ) wprowadzona wartość musi zawierać się w wartości zmiennej widoku (metoda contains() w javie),
- dla operatora ( <> ) wartość zmiennej widoku jest różna od wprowadzonej wartości (metoda !equals() w javie).
KOMPARATOR DATOWY
Komparator datowy umożliwia porównanie dowolnej zmiennej widoku typu data z wprowadzoną wartością również typu data. Dodatkowo udostępnia on wybór daty z kalendarza, bądź znaczników typu <CURRENTDATE>+0d. Dostępne operatory są takie same jak w przypadku podstawowego komparatora.
Uwaga
W przypadku obu komparatorów należy pamiętać, aby w warunku typ zmiennej widoku był kompatybilny z typem wprowadzonej wartości. W przeciwnym razie taki warunek będzie zawsze oznaczony jako niespełniony.
Definiowanie własnych komparatorów
W systemie możliwe jest zdefiniowanie własnego komparatora.
Zobacz szczegóły tutaj.