Informacje o wersji 1.14.5.0
z dn. 03-04-2025
W tej wersji
- Rozbudowa trybu edycji inline, w tym:
- Profiler żądań HTTP
- Filtrowanie JO i użytkowników w JO
- Wymagalność dla kontrolki interesariuszy
- Usuwanie znaków sterujących z pól wprowadzania
- Rozwiązane problemy i usunięte błędy
Wymagane działania
Nie jest wymagane wykonanie żadnych dodatkowych czynności.
Kompatybilność aplikacji
Migracja aplikacji jest możliwa tylko między wersjami nAxiom kompatybilnymi na poziomie bazy danych.
Bieżąca wersja bazy danych: 20250317081642
W tej wersji nAxiom struktura bazy danych zmieniła się. Przed migracją aplikacji do tej wersji wymagane jest zaktualizowanie środowiska źródłowego.
Nowe i zmodernizowane funkcje
1. Edycja inline - filtrowanie listy wyboru
Dodano obsługę filtrowania wartości zwracanych przez listę wyboru używaną w trybie edycji inline. Filtrowanie może odbywać się na podstawie:
- wartości z dowolnej kolumny danego rekordu w widoku listy;
- wartości pola na formularzu, w którym lista jest osadzona.
W pierwszym przypadku w warunku filtrowania należy użyć odwołania {@Nazwa}, gdzie Nazwa to wartość właściwości Nazwa SQL
danej kolumny. W drugim przypadku odwołanie do pola formularza musi mieć postać {@*KodFormularza.Nazwa}, gdzie Nazwa to wartość właściwości Nazwa pola w DB
danego pola na formularzu.
Dla kontrolek opartych na zapytaniu SQL, parametry są obsługiwane w konstrukcji zapytania, dla kontrolek opartych na definicji dokumentu warunek konstruuje się osobno w oknie dialogowym otwieranym przyciskiem Dodaj filtr
.
Ponadto odwołanie {@*KodFormularza.Nazwa} jest obsługiwane w definicji wartości domyślnej dla trybu edycji inline (niezależnie od typu kontrolki).
2. Edycja inline - mapowanie listy wyboru na pola rekordu
Konfigurację listy wyboru używanej w edycji inline rozszerzono o możliwość mapowania kolumn zwróconych przez zapytanie źródłowe kontrolki na pola danego rekordu, w tym także wyświetlane w trybie tylko do odczytu. Po powiązaniu kolumn listy wyboru z kolumnami widoku listy wybranie wartości na liście wyboru zaktualizuje wartość w powiązanym polu danego rekordu. Dodatkowo można wybrać tryb aktualizacji wartości, dostępne opcje to:
Tylko po zmianie na liście wyboru
Tylko gdy wskazane pole jest puste
Ta funkcjonalność jest analogiczna do funkcjonalności Lista zależności: kolumna listy - pole formularza
dostępnej dla list wyboru używanych na formularzu, jednak w tym przypadku nie ma możliwości tworzenia nowych zmiennych w kontekście rekordu.
3. Profiler żądań HTTP
Udostępniono narzędzie do profilowania wykonania żądań HTTP (https://miniprofiler.com/). Korzystanie z profilera wymaga modyfikacji pliku appsettings.json dla serwisu api:
"Profiling": {
"Enable": false,
"ProfilerRouteBasePath": "/profiler",
"EnableAsyncEventsProfiling": true
}
- Enable: włącza profiler: domyślnie false.
- ProfilerRouteBasePath: ścieżka bazowa punktów końcowych profilera; lista wyników profilera jest dostępna pod adresem: {adres-internal-api}/{ProfilerRouteBasePath}/results-index (np: https://witryna-naxiom/back/profiler/results-index)
- EnableAsyncEventsProfiling: określa czy poza żądaniami HTTP profilowane będą też zdzarzenia asynchroniczne przetwarzane w systemie (np audyt, aktualizacja danych pod widok moje zadania, indeksowanie danych pod wyszukiwanie pełnotekstowe etc).
Profiler udostępnia podgląd wszystkich zapytań SQL wykonywanych przez aplikację, dlatego należy go włączać tylko w środowisku developerskim na potrzeby badania wydajności aplikacji.
4. Filtrowanie JO i użytkowników w JO
Dodano możliwość filtrowania jednostek w strukturze organizacyjnej oraz na liście użytkowników danej jednostki organizacyjnej. Usunięto zakładkę Wersje
w widoku edycji jednostki organizacyjnej.
5. Wymagalność dla kontrolki interesariuszy
W uprawnieniach ACL formularza dodano możliwość ustawienia wymagalności dla listy wyboru interesariuszy. Kryterium wymagalności jest spełnione, gdy do grupy interesariuszy, z którą jest powiązana kontrolka, należy co najmniej jeden użytkownik, rola lub rola w jednostce. W przypadku ustawienia dla kontrolki właściwości Minimalna liczba użytkowników
, użytkownik końcowy musi wybrać co najmniej tylu użytkowników, niezależnie od ustawienia wymagalności. Role i role w JO przypisane do grupy interesariuszy nie są uwzględniane podczas walidacji liczby użytkowników.
6. Usuwanie znaków sterujących z pól wprowadzania
W polach wprowadzania dodano sprawdzanie wartości pod kątem występowania znaków sterujących (znaki ASCII o kodach 0–31). Takie znaki, z wyjątkiem znaków LF (10), CR (13) i HT (9) — nowy wiersz i tabulator — będą usuwane, aby nie powodowały problemów podczas zapisu do bazy danych (instrukcje INSERT i UPDATE).
Zmiana ma na celu wyeliminowanie przypadków wklejania w pole wprowadzania znaków sterujących skopiowanych z innych aplikacji.
7. Definicja raportu
Wyłączono automatyczne otwieranie modułu Report Designer po zapisie deklaracji raportu. Aby przejść do projektowania raportu, należy kliknąć przycisk Designer
w lewym dolnym rogu.
Poprawki i usunięte błędy
1. Lista wyboru w edycji inline
Poprawiono błąd, który powodował, że kontrolka zbudowana w oparciu o definicję dokumentu użyta do edycji w trybie inline w widoku listy nie działała. W ramach tego zadania wyłączono wyświetlanie niepotrzebnych list wyboru dla kontrolek budowanych w oparciu o zapytanie SQL.
2. Obsługa klawisza Enter
Zmodyfikowano obsługę klawisza Enter podczas pracy na formularzu. Obecnie naciśnięcie klawisza Enter odpowiada kliknięciu przycisku tylko wtedy, gdy fokus jest ustawiony na przycisku. W pozostałych przypadkach naciśnięcie klawisza Enter jest ignorowane. Zapis formularza można wywołać kombinacją klawiszy Ctrl+Enter.
3. Dodawanie warstwy tekstowej
Zastosowano dodatkową konwersję daty dla plików PDF zgodnych ze specyfikacją 1.4. Pozwoliło to wyeliminować błąd w działaniu akcji dodawania warstwy tekstowej. Źródłem problemu jest błąd obsługi wartości CreateDate w plikach PDF 1.4 w oprogramowaniu ABBYY FineReader.
4. Interwał eskalatorów
Zmodyfikowano logikę wyliczania interwału dla eskalatorów. Do tej pory eskalatory bez znaku w definicji interwału były błędnie interpretowane jako eskalatory przed terminem. Obecnie znak plus (+) lub brak znaku w definicji interwału określa eskalator po terminie, a znak minus (-) określa eskalator przed terminem.
Ze względu na zmianę dotychczasowego zachowania zaleca się sprawdzenie, czy w tabeli core.Escalators, w kolumnie IsoDurationCondition występują definicje interwałów nie poprzedzone znakiem i dopisanie znaku minus (-) tam, gdzie w definicji nie ma żadnego znaku. Można to zrobić, używając zapytania SQL:
UPDATE [core].[Escalators] SET [IsoDurationCondition] = REPLACE([IsoDurationCondition], '''P', '''-P') WHERE [IsoDurationCondition] LIKE '%''P%'
5. Tryb pojedynczej aplikacji
W ramach funkcjonalności trybu pojedynczej aplikacji dodano weryfikację dostępu do aplikacji na podstawie ról. Obecnie w profilu użytkownika nie można wybrać aplikacji, do której użytkownik nie ma dostępu na podstawie swoich ról.
Zmiana roli użytkownika oraz dostępności aplikacji dla roli może skutkować wyczyszczeniem aplikacji domyślnej dla użytkownika. Obecnie nie ma mechanizmu powiadamiającego użytkownika o zmianie aplikacji domyślnej.
6. Definiowanie statusów
W oknie definiowania statusu ograniczono definicje dokumentów wyświetlane na liście wyboru do opartych na modelu standardowym. Wcześniej były tam także wyświetlane definicje oparte na modelu uproszczonym, które nie mają statusu.
7. Wyświetlanie okienek filtrowania
Usunięto błąd, który powodował, że listy rozwijane w okienkach filtra zaawansowanego w widoku listy były wyświetlane nieprawidłowo.
8. Brak uprawnień do diagramu procesu (FrontSPA)
Rozwiązano problem powodujący wyświetlenie komunikatu o braku uprawnień podczas podglądu diagramu procesu we FrontSPA. Problem spowodowany był próbą pobrania akcji systemowych dla diagramu, do czego były wymagane uprawnienia Przegląd aplikacji
w module AdminSPA.
9. Diagram procesu (FrontSPA)
Poprawiono błąd, który powodował, że w przypadku przełączania się między formularzami wyświetlanymi jako link wewnętrzny nie aktualizował się obraz diagramu procesu.
10. Walidacja wartosci min./maks.
Poprawiono walidację wartości minimalnej oraz maksymalnej dla pola numerycznego w przypadku typu danych decimal i float, gdy parametry były definiowane przy użyciu zapytania SQL.
11. Filtrowanie dat
Poprawiono funkcje filtrowania widoku listy dla kolumn typu date i datetime. W ramach zadania przywrócono możliwość wybrania innego interwału niż minuty dla filtrów na kolumnach typu datetime.
W kolumnach typu time nie należy stosować filtrów
w ciągu ostatnich...
aniponad...
, ponieważ te wartości określają długości interwałów, a nie momentów w czasie.
12. Filtrowanie list server-side
Poprawiono błąd, na skutek którego filtry kolumn typu datetime w widoku listy (dzisiaj
, ten tydzień
, ten miesiąc
) działały tylko dla list z wyłączoną funkcją server-side.
13. Migracja procesów BPMN
(Dotyczy funkcjonalności eksperymentalnej) W migratorze aplikacji usunięto problemy, które powodowały, że funkcja automatycznego publikowania procesów BPMN w środowisku docelowym nie działała.