Przejdź do treści

Ustawienia widoków

Ustawienia widoków, to nowe rozwiązanie w technologii Neos służące do definiowania filtrów użytkownika (od Teneum 5.0) a od wersji Teneum 5.3 pozwala także zarządzać układem kolumn w tabelach oraz umożliwia definiowanie filtrów pseudo-SQL. Okna w stylu Master BROWSE umożliwiają przełączanie ustawień widoków, poprzez kliknięcie przycisku znajdującego się za tytułem okna. W oknach Sub BROWSE wybór widoku jest możliwy w menu dostępnym pod prawym przyciskiem myszy. Aby wejść w ustawienia widoku, należy z menu wybrać ostatnią opcję, czyli "Ustawienia widoku".

W ramach ustawień widoku można określać:

  • układ kolumn, a więc ich kolejność, widoczność, szerokość, tytuł, przyklejenie, itp (od Teneum 5.3)

  • wartości parametrów, które zostały umieszczone przy widoku (w sekcji parameters). Jeśli widok nie ma zdefiniowanych żadnych parametrów, to zakładka jest niewidoczna.

  • filtry na pola danych, które są dostępne w widoku (np. kolumny w tabeli).

  • filtr opisany wyrażeniem pseudo-SQL. Wyrażenie można zdefiniować specjalnym edytorem wyrażeń, który posiada podpowiedzi dostępnych pól oraz stałych. Jego działanie jest podobne do języka JQL w JIRA. (od Teneum 5.3)

Ustawienia widoków można zapisywać pod konkretnymi nazwami. Wczytanie zapisanych ustawień powoduje zmianę etykiety okna Master BROWSE w lewym górnym rogu, na nazwę wczytanych ustawień. Dlatego zaleca się, aby nazwa ustawień odzwierciedlała dziedzinę danych, która zostanie pokazana w wyniku wczytania tych ustawień (np. "Klienci niewypłacalni").

Ustawienia zapisane mogą być prywatne dla użytkownika, albo udostępnione wszystkim użytkownikom. Developerzy mogą także definiować ustawienia predefiniowane, które są przechowywane razem z definicją obiektu biznesowego i dostarczane razem z aplikacją.

Mój układ kolumn

Od wersji Teneum 5.3, okna Neosowe nie wczytują już układu kolumn administratora ani użytkownika, czyli tych ustawień, które są zapisywane w plikach *.usr lub odpowiednich sekcjach S_APPINI. Nie ma także w menu kontekstowym funkcji "Definicja", a więc nie ma dostępu do VCL-owych okien definiowania układu kolumn. Funkcje te pozostały dostępne jedynie dla okien nie pochodzących z Neosa.

Aby jednak zachować funkcjonalność indywidualnego układu kolumn, każdy użytkownik posiada własne, nie nazwane ustawienia widoków, które określamy mianem "Mój układ kolumn". W tych ustawieniach nie można definiować filtrów, a jedynie zarządzać układem kolumn w tabeli. Mój układ kolumn jest domyślnie wczytywany przy starcie okna, a jeśli użytkownik zmieni ustawienie kolumn i zamknie okno, to system pyta się użytkownika, czy zapisać zmiany w "moim układzie kolumn". W ten sposób zachowujemy tą samą funkcjonalność, jednak definicja jest zapisywana w Neosie, przez co "Mój układ kolumn" jak i inne ustawienia widoków działają zarówno w oknach Neos VCL jak i oknach Neos Web.

W oknach Neos VCL zmiana sortowania wywołana przez kliknięcie nagłówka kolumny nie jest domyślnie traktowana jako zmiana układu kolumn. Jeśli zmienimy jeszcze coś innego i zapiszemy taki układ kolumn, to nowe ustawienie sortowania również zostanie zapisane. Od wersji 6.3.11 ta cecha została sparametryzowana. Można zmienić to zachowanie ustawiając w pliku _.app_ w sekcji _Grid_ parametr GridChangeViewSettingsSorting na yes*.

Aby ułatwić upgrade do Teneum 5.3 został przygotowany mechanizm migracji układu kolumn użytkowników i administratora z dotychczasowej struktury danych na strukturę ustawień widoków. Migracja jest dostępna z Neos Experta -> Funkcje i narzędzia -> Migracja ustawień widoku. W oknie migracji należy wskazać do której roli mają być przypisane stare układy kolumn zdefiniowane na poziomie admina i nacisnąć przycisk "Start". W razie potrzeby funkcję migracji można wywoływać kilkukrotnie.

W wersji Neosa 5.4.20 została wprowadzona możliwość ustawienia danego widoku jako widoku domyślnego per operator. Służy do tego opcja "Ustaw jako domyślny" znajdująca się w menu z dodatkowymi funkcjami (prawy górny róg) w oknie definiowania ustawień widoków. Ustawienie widoku jako domyślnego skutkuje zmianą etykiety okna Master Browse na nazwę wczytywanych ustawień oraz wczytywaniem domyślnego widoku przy starcie okna dla danego operatora.

Zarządzanie ustawieniami widoków

W oknie definiowania ustawień widoków jest dostępne menu z dodatkowymi funkcjami (prawy górny róg), pozwalającymi na zarządzanie ustawieniami widoków.

Zwykły użytkownik ma dostęp do:

  • ustawień widoków, które sam utworzył. Może ich używać, a także je modyfikować i usuwać.

  • ustawień widoków innych użytkowników, które zostały oznaczone jako publiczne (może je wczytać, ale nie może ich modyfikować).

  • predefiniowanych ustawień widoków, czyli takich które stworzył programista i wyemitował razem z aplikacją. (może je wczytać, ale także nie może ich modyfikować)

Administrator z kolei ma dostęp do wszystkich ustawień widoków stworzonych przez wszystkich użytkowników. Może je usuwać, upubliczniać oraz zdejmować znacznik upublicznienia. Administrator nie może jedynie usuwać ustawień predefiniowanych.

W menu dostępna jest także funkcja przenoszenia ustawień. Jeśli użytkownik ustawił sobie np wygodny układ kolumn i chciałby go przenieść do innych ustawień widoków, to może skorzystać z funkcji "Przenieś ustawienia". W oknie przenoszenia ustawień wybiera zakres ustawień do przeniesienia z ustawień bieżąco wczytanych i wybiera na jakie - wcześniej zapisane - ustawienia widoków chce je przenieść.

Neos VCL i Neos Web

Ustawienia widoków zdefiniowane i zapisane w kliencie VCL mogą być wczytane w kliencie Web i odwrotnie. Przy czym nie wszystkie ustawienia wyklikane w VCL mają zastosowanie w Web, ze względu na ograniczenia technologiczne. Z przyczyn technicznych w Web jest jeszcze wyłączony edytor wyrażeń pseudo-SQL, ale docelowo będzie on dostępny zarówno w VCL jak i Web.

Definiowane filtry DevExpresowe w kliencie VCL

Wraz z wejściem mechanizmu ustawień widoku został wyłączony mechanim zapamiętywania filtrów DevExpressowych na gridzie. Został on zastąpiony nową funkcjonalnością, która jednak nie w pełni pokrywała poprzednie możliwości. Dlatego od wersji 6.2.1 dodano możliwość zapamiętywania filtra w formacie DevExpressowym w kliencie VCL przy zachowaniu następujących warunków (TSU-2891):

  1. Zapamiętywanie dotyczy tylko nazwanych ustawień widoku
  2. Filtr DevExpressowy jest zapisywany i odczytywany tylko wtedy, jeśli nie wykorzystujemy standardowych filtrów ustawień widoku. Zdefiniowanie jakiegokolwiek standardowego filtra spowoduje wyłączenie mechanizmu, a usunięcie wszystkich standardowych filtrów spowoduje jego ponowne włączenie.
  3. Tylko dla sytuacji 1. i 2. po jakiejkolwiek zmianie filtra DevExpressowego pojawi się *.
  4. Filtr zostanie odczytany i ustawiony na gridzie tylko w sytuacji, gdy poprzedni filtr DevExpressowy był również odczytany z ustawień widoku, lub gdy jest pusty. Jakakolwiek ręczna zmiana wartości filtra spowoduje wyłączenie mechanizmu.