Informacje o wersji 1.7 z dn. 19-04-2022
Obejścia znanych błędów
Dane dodatkowe użytkownika (T:00111)
Wykryto problem uniemożliwiający zapisanie danych w profilu użytkownika w przypadku użycia zwykłej tabeli (pomocniczej) na dane dodatkowe użytkownika. Tymczasowym obejściem jest dodanie kolumny Status do tabeli i do formularza danych dodatkowych.
Nowe i zmodyfikowane funkcje
Aplikacje mobilne
Opracowano metodologię generowania aplikacji mobilnej przeznaczonej do pracy z wskazaną witryną nAxiom (w aplikacji FrontSPA). Dostępne są skrypty generowania aplikacji dla systemów Android i iOS. Skrypty umożliwiają brandowanie aplikacji w zakresie nazwy, opisu, ikon, ekranu startowego i logo.
Wygenerowane pakiety aplikacji można dystrybuować za pomocą sklepów Google Play i AppStore. Procedurę generowania aplikacji mobilnej opisano w instrukcji dołączonej do niniejszych informacji o wersji. Skrypty wraz z instrukcją będą dostępne w pakiecie instalacyjnym, począwszy od następnego wydania nAxiom.
Zmiany na potrzeby wyświetlania na urządzeniach mobilnych (RWD)
Zmodernizowano wygląd i zachowanie głównych elementów witryny nAxiom (front) pod kątem wyświetlania na urządzeniach z ekranami o rozdzielczości poniżej 992 px. Zmiany dotyczą widoku pulpitu, listy i formularza wyświetlanego jako link wewnętrzny. W przypadku pulpitu wyświetlane są tylko widżety oraz ikony menu, powiadomień i czatu. W menu, oprócz poleceń aplikacji, są dostępne dane zalogowanego użytkownika oraz polecenia zmiany ustawień profilu i wylogowania.
W widoku listy zmniejszono znacznie nagłówki kolumn, a powyżej listy umieszczono w formie przycisków nazwy tych kolumn, dla których włączono opcje filtrowania i sortowania. Domyślnie wyświetlany jest przycisk dodania nowego dokumentu, a ewentualne inne przyciski są dostępne w menu rozwijanym po kliknięciu ikony z pionowym wielokropkiem.
W widoku formularza wyświetlany jest tylko jeden przycisk — Zapisz
lub przycisk kroku procesu — pozostałe przyciski są dostępne w rozwijanym menu.

Kolumna HTML
W konfiguratorze listy dodano możliwość dodania do listy kolumny HTML. Odpowiednie polecenie (Dodaj kolumnę HTML
) znajduje się w menu kontekstowym pozycji Kolumny listy
w Kreatorze list. Kolumna tego rodzaju umożliwia prezentację danych z bieżącego rekordu podobnie jak w sekcji HTML na formularzu. W kodzie HTML można odwoływać się do wartości z pozostałych kolumn, używając składni {@nazwakolumny}. Funkcje sortowania, filtrowania i grupowania dla listy HTML wymagają podania nazwy kolumny źródłowej (tylko jednej), której wartości będą uwzględniane.
Kolumna jest dostępna w trybie desktop i mobile.
Współpraca z platformą ePUAP
Dodano integrację z platformą ePUAP, która pozwala wymieniać korespondencję z jednostkami administracji publicznej. Za integrację odpowiada usługa NAX.Modules.ePUAP.Service, którą należy zainstalować i uruchomić. Wcześniej należy określić ustawienia konfiguracyjne w pliku appsettings.json. W ramach funkcjonalności dodano następujące akcje:
- ePUAP utwórz dokument
- ePUAP podpisz dokument
- ePUAP pobierz podpisany dokument
- ePUAP weryfikujpodpisany dokument
- ePUAP wyślij dokument Służą one do wysyłki korespondencji. Korespondencja przychodząca jest obsługiwana przez usługę ePUAP.Service w taki sposób, że metadane pisma przychodzącego są zapisywane jako rekordy w tabeli standardowego modelu danych wskazanego w konfiguracji, a samo pismo, jego załączniki i podpis są zapisywane jako załączniki do tych rekordów. Dodatkowo usługa pozwala skonfigurować cykliczną aktualizację książki adresowej ePUAP. Instrukcję konfiguracji funkcjonalności dołączono do niniejszej informacji o wersji.
Obsługa pieczęci i podpisów elektronicznych (integracja z eSIGN)
Dodano integrację z systemami podpisów i pieczęci elektronicznych, która umożliwia podpisywanie załączników z aplikacji nAxiom za pomocą elektronicznych podpisów i pieczęci. Korzystanie z podpisów elektronicznych w nAxiom wymaga skonfigurowania ustawień (ADMINISTRACJA
> Ustawienia systemu
> eSign
), takich jak podstawowy adres API, adres URL uwierzytelniania, identyfikator i hasło dostępu do API (ClientId i ClientSecret).
Ponadto dodano trzy akcje do obsługi podpisywania dokumentów, weryfikacji podpisu oraz sprawdzania statusu operacji. Obsługiwane rodzaje podpisu to INNER, PERSONAL, SEAL, SEAL_INNER, SEAL_CLOUD, TRUSTED, QUALIFIED.
Public API — zmiana kodów odpowiedzi
W metodach Public API zmieniono kody odpowiedzi na 200 w przypadku powodzenia i 400 w przypadku zwrócenia wyjątku/błędu.
Zmieniono także strukturę odpowiedzi, odpowiednio do kodu. Odpowiedzi dla kodu 200 są podane w narzędziu Swagger UI (naxiomURL/publicapi). Dla kodów 400 odpowiedź ma strukturę zgodną ze schematem ValidationFailure, a w rzadkich przypadkach ResponseMessage.


Wprowadzone zmiany wymagają aktualizacji zapytań do Public API używanych w aplikacjach nAxiom.
Formularz otwierany w trybie Okno
Zmodyfikowano zachowanie formularza otwieranego w trybie Okno
, wprowadzając następujące zmiany:
- poprawiono ustawianie parametru z-index dla formularzy otwieranych w trybach
Okno
iDialog
; dzięki temu kolejne formularze podrzędne są zawsze wyświetlane na pierwszym planie - dla formularza otwieranego w trybie
Okno
dodano warstwę nakładki (overlay), blokującą dostęp do interfejsu „pod” formularzem - ustawiono domyślny rozmiar formularza otwieranego w trybie okno na 80% szerokości i 90% wysokości ekranu
Wylogowanie w wyniku nieaktywności użytkownika
W ustawieniach systemu (ADMINISTRACJA
> Ustawienia systemu
) dodano sekcję Czas pracy użytkownika
z dwoma ustawieniami określającymi czas nieaktywności, po upływie którego zostanie wyświetlone ostrzeżenie o wylogowaniu (domyślnie 30 minut) oraz czas wyświetlania ostrzeżenia, po upływie którego następuje wylogowanie (domyślnie 180 sekund). Dotychczasowy licznik czasu sesji użytkownika został usunięty.
Logując się, użytkownik otrzymuje token dostępowy, którego czas ważności wynosi 15 minut i który jest automatycznie odnawiany; wylogowanie powoduje unieważnienie tokenu.
Automatyczne wylogowanie działa w aplikacjach AdminSPA i FrontSpa (w tej aplikacji zauważono problem z wylogowaniem, gdy jest wyświetlany widżet z podglądem raportu Telerik; problem zostanie rozwiązany w kolejnej wersji).
Dynamiczne generowanie uprawnień formularza dla dokumentów
Zrezygnowano z zapisywania uprawnień formularza dla indywidualnych dokumentów biznesowych w tabelach bazy danych (core.ACLFormInstanceEntries oraz core.ACLFormInstanceEntryRoles). Uprawnienia są generowane w momencie utworzenia instancji dokumentu lub zmiany jego statusu na podstawie szablonów zdefiniowanych dla formularza i zapisywane w pamięci podręcznej. W momencie otwarcia formularza uprawnienia są pobierane z cache, a jeśli ich tam nie ma, są ponownie generowane na podstawie szablonów ACL.
Logika zapisu rekordu i odświeżania formularza w nAxiom
Uporządkowano logikę systemu sterującą zapisem rekordu i odświeżaniem formularza prezentującego dane o tym rekordzie:
- W definicji dokumentu biznesowego dostępne są teraz dwa przełączniki sterujące domyślnym zachowaniem systemu dla przejść statusów:
Dodaj akcję systemową "Zapisz rekord" do "Akcji przed"
orazDodaj akcję systemową "Odśwież formularz" do "Akcji po"
. System dla nowo generowanych dokumentów biznesowych ustawia oba przełączniki do pozycji ON. Dla istniejących dokumentów biznesowych nie modyfikowano stanu parametru o zapisie rekordu a nowy parametr dotyczący odświeżeń jest w pozycji OFF. - Wyłączono automatyczne odświeżanie formularza po wykonaniu przejścia statusu, ponieważ to odświeżenie nie powodowało odświeżenia całego formularza, a jedynie jego nagłówka.
- Akcję systemową
Zapisz rekord
rozbudowano o nowy przełącznikOdśwież widok po zapisie
, który pozwala na wykonanie odświeżenia formularza bezpośrednio po wykonaniu akcji zapisu. Przełącznik ten:- dla akcji dodawanych domyślnie do przejść statusów jest w pozycji OFF
- dla akcji dodawanych ręcznie z action pickera zarówno do elementów formularza jak i przejść statusów jest w pozycji OFF
- dla przycisku Zapisz w formularzu nowo wygenerowanym z poziomu Kreatora modeli danych jest w pozycji ON
- dla już dodanych akcji zapisu rekordu do elementów formularza system wykonuje migrację ustawiającą przełącznik do pozycji ON, aby zachować możliwość odświeżenia formularza bezpośrednio po utworzeniu i aktualizacji rekordu
Zalecenia do używania systemu
- Zaleca się nie wyłączać opisanych przełączników w definicji dokumentu biznesowego.
- Akcja zapisz rekord w przejściu statusu powinna być używana jako pierwsza lub jedna z pierwszych w zbiorze akcji PRZED, a akcja odświeżenia formularza jako ostatnia lub jedna z ostatnich w zbiorze akcji PO.
- Należy pamiętać, że każda nowo dodana akcja zapisu będzie posiadała przełącznik odświeżania ustawiony w pozycji OFF.
- Zbiór akcji wywoływanych na przycisku Zapisz w formularzu powinien zawierać akcję odśwież formularz lub przełącznik odświeżania w akcji zapisz rekord ustawiony w pozycji ON, aby po zapisie użytkownik pracował na nowo utworzonej instancji dokumentu.
Akcja Algorytm C#
Dodano nowy rodzaj akcji Algorytm C#
(ponieważ to zadanie zostało zrealizowane jako proof of concept, akcja jest dostępna po włączeniu funkcjonalności eksperymentalnych). Akcja pozwala użytkownikowi przygotować skrypt w języku C# z referencjami do innych bibliotek (o ile są potrzebne). Akcję można przypisać do przycisku na formularzu i wykonywać w aplikacji FrontSPA.
W skrypcie można odwoływać się do bibliotek DLL (dyrektywa using
) dostępnych w folderze komponentu API (oprócz wyboru z listy, można wpisać nazwę pliku).
Ponadto w skrypcie można odwoływać się do wartości reprezentowanych przez zmienne Model (model formularza w formacie JSON), RecordId, FormDefinitionId, BusinessDocumentId i UserId.
Użytkownik może sprawdzić poprawność skryptu przyciskiem Sprawdź składnię/skompiluj algorytm
. Informacje o ewentualnych błędach zostaną wyświetlone poniżej skryptu. Akcję można zapisać dopiero wtedy, gdy skrypt kompiluje się bez błędów.
W przypadku błędów wykonania skryptu, użytkownik w aplikacji FrontSPA widzi jedynie standardowy komunikat o niepowodzeniu, a szczegóły błędu są zapisywane w logach aplikacji.
Pomoc kontekstowa w oknie definicji akcji zostanie dodana w wersji 1.7.
Warunek widoczności przycisku przejścia (T:0846)
We właściwościach przycisków na diagramie procesów dodano możliwość określenia warunku widoczności przycisku przejścia za pomocą instrukcji SQL. Użytkownik może wybrać, czy chce określać widoczność przycisku przejścia na podstawie roli użytkownika, czy za pomocą SQL.
Zapytanie musi zwrócić wartość logiczną typu bit; 1 — przycisk będzie widoczny, 0 — przycisk będzie niewidoczny.
Ponadto zmieniono kontrolkę do definiowania warunku wykonania przejścia na edytor SQL wyświetlany po kliknięciu przycisku.
Formatowanie typu datetime2 (T:0961)
Dodano możliwość formatowania kolumn listy, które mają typ danych datetime2.
Poprawki i usunięte błędy
Akcja JavaScript i pole numeryczne
Poprawiono działanie akcji JavaScript dla pola numerycznego.
Przekazywanie parametrów do formularza (T:00163)
Usunięto problem, który uniemożliwiał przekazanie pustej wartości w parametrach akcji Otwórz formularz
dla nowego dokumentu.
Akcje systemowe dla bloków Synchronizator i Proces synchroniczny
Dodano możliwość ustawienia akcji systemowych we właściwości Akcje uruchamiane po
dla przejść wychodzących z bloczków Synchronizator
i Proces synchroniczny
.
Odświeżanie listy wielowyboru (T:00155)
Usunięto problem, który powodował, że odświeżenie formularza (także w przypadku zapisu) otwartego jako link wewnętrzny powodowało nadpisanie wartości wybranych na liście wielowyboru przez wartości przekazywane podczas otwierania formularza.
Dane dodatkowe jednostki organizacyjnej (T:00153)
Usunięto problem powodujący nadpisywanie wartości w kolumnach [OuidSource], [ExternalRecordId] i [FormDefinitionId] w tabeli [core].[OUInstances] po edycji danych dodatkowych jednostki organizacyjnej.
Przekazywanie parametrów do formularza (T:00152)
Poprawiono ustawianie typu danych dla wartości przekazywanych w akcji Otwórz formularz
w przypadku, gdy przekazywana wartość nie była powiązana z polem na formularzu.
Przekazywanie parametrów i lista wielowyboru (T:00118)
Usunięto problem, który powodował, że nie można było usunąć wartości z listy wielowyboru przekazanej jako parametr w akcji Otwórz formularz
.
Odświeżanie danych dodatkowych użytkownika (T:00110)
Usunięto problem z zawieszaniem się strony po kliknięciu przycisku Odśwież
na karcie danych dodatkowych użytkownika.
Walidacja wymagalności kontrolek (T:00101)
Poprawiono walidacje wymagalności dla niektórych kontrolek na formularzu, w szczególności dla kontrolki Datepicker i czas, w tym także w trybie tylko do odczytu.
Akcja komunikatów na przyciskach edycji inline (T:00075)
Dodano poprawkę umożliwiającą korzystanie z akcji komunikatów na przyciskach edycji inline w widoku listy.
Zmiany definicji dokumentu biznesowego (T:0995)
Usunięto problem powodujący wystąpienie komunikatu o błędzie przy ponownym zapisie zmian definicji dokumentu biznesowego.
Otwieranie formularza z harmonogramu (T:0994)
Naprawiono błąd, który uniemożliwiał otwarcie formularza z komórki harmonogramu. W ramach zadania poprawiono także walidację parametrów {@parametr} w adresie URL formularza. W przypadku występowania w parametrze kodu sekcji zaczynającego się od małej litery, nie można było zapisać akcji. Obecnie kod sekcji formularza w parametrze może zaczynać się zarówno od wielkiej, jak i od małej litery. Ponadto poprawiono zduplikowane wyświetlanie właściwości Akcje dla zdarzeń
.
Parametry w akcji Procedura
W akcji Procedura bazodanowa zmodyfikowano sposób ustawiania właściwości Parametry procedury
w taki sposób, że obecnie po wpisaniu nazwy w kolumnie Wartość z formularza
nie trzeba przenosić focusa, aby wartość została zapisana.
Nazwy pól formularza w kolumnie
Wartość z formularza
należy wpisywać bez żadnych dodatkowych znaków, np Id, Code, Status itp.
Anonimizacja dat
Naprawiono błąd maksymalnej wartości, jaką można ustawić w kontrolce typu Data, który uniemożliwiał zapis dokumentu po anonimizacji.
Walidacja warości w polach formularza (T:0881)
Poprawiono działanie walidacji wartości w polach formularza wykonywaną po kliknięciu przycisku typu Zatwierdź formularz
. W razie niepoprawnych wartości, zostanie wyświetlony komunikat o błędzie i nastąpi powrót do edycji formularza. Akcje przypisane do tego przycisku nie zostaną wykonane.
Sekwencja akcji JavaScript i Zapisz rekord
Zmodyfikowano mechanizm przekazywania bieżącego kontekstu formularza do akcji wykonywanych sekwencyjnie. W ten sposób usunięto problem, który powodował, że po zmianie wartości w modelu akcją JavaScript, kolejna akcja nie uwzględniała tych zmian.