Informacje o wersji 1.8.3 z dn. 02-09-2022
Nowe i zmodernizowane funkcje
Akcja odświeżania uprawnień
Dodano nowy rodzaj akcji Odświeżanie uprawnień. Służy ona do aktualizacji uprawnień po zmianie interesariusza. Odświeżanie odbywa się w momencie wykonania akcji i nie wymaga przejścia do kolejnego statusu. Akcja dotyczy wyłącznie uprawnień definiowanych dla konkretnych statusów.
Akcja działa w dwóch trybach wybieranych przełącznikiem Wykonaj dla bieżącej instancji dokumentu
w definicji akcji:
- przełącznik włączony: akcja jest wykonywana dla bieżącego rekordu; w tym trybie akcja musi zostać wywołana przyciskiem na formularzu lub podczas przejścia na diagramie procesu,
- przełącznik wyłączony: akcja zaktualizuje uprawnienia dla rekordów zwróconych przez zapytanie SQL. Takie zapytanie musi zwrócić identyfikator instancji dokumentu biznesowego oraz identyfikator definicji dokumentu biznesowego.
Poniżej podano przykład zapytania dla trybu wsadowego akcji odświeżania uprawnień. Akcja zaktualizuje uprawnienia dla instancji dokumentu biznesowego z tabeli dbo.Reklamacje w określonym statusie oraz dla wszystkich instancji dokumentu biznesowego z tabeli dbo.Zwroty, dodatkowo zwrócony zostanie odpowiedni identyfikator definicji dokumentu biznesowego.
SELECT Id,
(SELECT Id From BusinessDocuments Where [Table] = 'dbo.Reklamacje')
FROM dbo.Reklamacje WHERE Status = {{'{'}}@Status{{ '}' }}
UNION
SELECT Id, 13 FROM dbo.Zwroty
Generowanie aplikacji mobilnej w formacie apk
W skrypcie generatora aplikacji mobilnej dodano możliwość wygenerowania pliku apk, który następnie można zainstalować bezpośrednio na urządzeniu mobilnym (z pominięciem sklepu Google Play).
Wyłączanie powiadomień dla akcji wykonywanych na przejściach
We właściwościach przejść na diagramie procesów dodano sekcję Notyfikacje akcji przejścia
, która zawiera dwa przełączniki: Wyświetlaj pozytywne
i Wyświetlaj negatywne
. Obydwa są domyślnie włączone. Ich wyłączenie spowoduje, że powiadomienia o powodzeniu/niepowodzeniu wykonania akcji przypisanych do przejścia nie będą wyświetlane.
Filtrowanie/sortowanie sekcji typu lista
W ustawieniach sekcji typu lista dodano nowy przełącznik Zapamiętuj tymczasową konfigurację listy
. Domyślnie ten przełącznik jest wyłączony. Włączenie go powoduje, że we front office na bieżąco zapamiętywane są ustawienia sortowania/filtrowania dla sekcji typu lista na formularzu. Bieżące ustawienia są przechowywane do czasu wylogowania się użytkownika.
Sortowanie/filtrowanie listy użytkowników
W aplikacji FrontSPA na liście użytkowników dodano możliwość sortowania, filtrowania oraz wyszukiwania w indywidualnych kolumnach.
Aktualizacja kontekstu formularza
Dodano mechanizm aktualizacji kontekstu formularza po wykonaniu akcji JavaScript przypisanej do sekcji formularza.
Modyfikacja trigerów dla danych audytowych
W celu rozwiązania problemów z logowaniem danych audytowych w przypadku masowej aktualizacji danych w tabeli dokumentu biznesowego zmodyfikowane zostały trigery na tych tabelach.
Aktualizacja do wersji 1.8.3 spowoduje nadpisanie własnych trigerów na tabelach dokumentów biznesowych!
Limit długości kodów i nazw pozycji słownikowych
Wprowadzono ograniczenie długości kodów i nazw pozycji słownikowych. Od tej wersji kod pozycji słownikowej może mieć maksymalnie 50 znaków, a nazwa pozycji słownikowej maksymalnie 255 znaków. Dodatkowo, dozwolone znaki w kodach pozycji słownikowej ograniczono do małych i wielkich liter, cyfr i znaku podkreślenia (a-z, A-Z, 0-9 i _).
Pozycje słownikowe w tabelach [core].[DictionaryValues] i [core].[HierarchicalDictionaryValues] zostaną przetworzone przez procedurę migracyjną, która skróci kody do dozwolonej długości i dokona zmiany nieobsługiwanych znaków: znaki diakrytyczne zostaną zmienione na odpowiadające im litery alfabetu łacińskiego, a inne nieobsługiwane znaki na znak podkreślenia.
Dodatkowo migracja sprawdzi wymóg unikalności kodów i w razie potrzeby doda na końcu nowych numer kolejny (w ramach nowego limitu długości).
Modyfikacja kodów pozycji słownikowych przez skrypt migracyjny może spowodować błędy w aplikacjach biznesowych, dlatego zaleca się samodzielne sprawdzenie przez konsultanta, które kody zostaną zmodyfikowane oraz miejsca ich użycia.
Przykłady zapytań weryfikujących kody podlegające zmianom:
--kody powyżej 50 znaków
SELECT * FROM [core].[DictionaryValues] WHERE len(Code) > 50
--kody ze znakami specjalnymi
SELECT * FROM [core].[DictionaryValues]
WHERE PATINDEX('%[^0-9A-Za-z_]%', Code) > 0
SELECT * FROM [core].[HierarchicalDictionaryValues]
WHERE PATINDEX('%[^0-9A-Za-z_]%', Code) > 0
-- kody zduplikowane po wcześniejszym obcięciu do 50 znaków
-- i zastąpieniu znaków specjalnych
SELECT dv.Code, dv.DictionaryId
FROM core.DictionaryValues dv
LEFT JOIN core.Dictionaries d ON dv.DictionaryId = d.Id
WHERE d.UniqueCodes = 1
GROUP BY dv.Code, dv.DictionaryId
HAVING COUNT(*) > 1
-- do modyfikacji kodów używana jest zmodyfikowana funkcja usuwająca
-- znaki specjalne i diakrytyczne oraz obcinająca kod do 50 znaków
ALTER FUNCTION [core].[Remove_Special_Character_From_Code]
(@input_string nvarchar(max))
RETURNS nvarchar(max)
BEGIN
DECLARE @Temp nvarchar(max), @KeepValues varchar(50);
SET @KeepValues = '%[^0-9A-Za-z_]%'
SET @Temp = CAST(@input_string AS varchar(max))
COLLATE SQL_Latin1_General_Cp1251_CS_AS
WHILE PATINDEX(@KeepValues, @Temp) > 0
SET @Temp = STUFF(@Temp, PATINDEX(@KeepValues, @Temp), 1, '_')
RETURN @Temp
END;
Monitor poczty i wiadomości bez załączników
W oknie dialogowym Dodawanie/Edycja mail monitora
dodano przełącznik Przetwarzaj tylko wiadomości z załącznikami
. Wyłączenie tego przełącznika spowoduje, że funkcja monitora poczty będzie tworzyła nowy dokument dla każdej przychodzącej wiadomości e-mail, niezależnie od tego, czy zawiera ona załączniki.
W istniejących monitorach przełącznik jest włączony, w nowych jest domyślnie wyłączony.
Jeśli przełącznik będzie włączony, wiadomości bez załączników nie będą oznaczane jako przeczytane.
Poprawki i usunięte błędy
Grupowanie rekordów a paginacja listy
Usunięto błąd grupowania rekordów na liście występujący w przypadku, gdy liczba rekordów w grupie była większa niż liczba rekordów na stronie.
Kolumna PK w tabeli pomocniczej
Usunięto błąd, który uniemożliwiał utworzenie tabeli pomocniczej z kolumną klucza głównego (PK) typu innego niż int. Obecnie dostępne typy danych dla kolumny klucza głównego ograniczono do int, uniqueidentifier, varchar, nvarchar oraz datetime. Dodatkowo, dla typu danych int możliwe jest włączenie autoinkrementacji wartości klucza.
Wyświetlanie formularza w trybie okno/dialog
Poprawiono wyświetlanie formularzy w trybie dialogu/okna (brak zaokrąglenia dolnych narożników).
Grupowanie rekordów a edycja inline
Usunięto błąd, który uniemożliwiał edycję w trybie inline po włączeniu grupowania na liście.
Uprawnienia do administrowania uprawnieniami
Usunięto problem, który powodował, że pomimo posiadania uprawnień do administrowania uprawnieniami (A) próba zmiany uprawnień we front-office (po kliknięciu ikony „kluczyka”) powodowała wyświetlanie komunikatu o braku uprawnień.
Ponowne logowanie po przekierowaniu
Wprowadzono poprawkę w zachowaniu systemu w celu wyeliminowania konieczności ponownego zalogowania się podczas wykonywania akcji przekierowania (ePUAP, e-sign, inne). Obecnie, po powrocie z witryny zewnętrznej wyświetlanej w tej samej karcie użytkownik nie musi ponownie logować się do nAxiom.
Uprawnienie PBA Filtry SQL listy
Zmodyfikowano działanie uprawnienia PBA Filtry SQL listy
. Obecnie brak uprawnienia uniemożliwia tworzenie i edytowanie tego rodzaju filtrów, jednak nie blokuje możliwości korzystania z takich filtrów.
Przyciski akcji na liście
Poprawiono działanie kodu ukrywającego przyciski akcji na liście w przypadku nowych wierszy dodany w trybie edycji inline. Na skutek błędu nie były wyświetlane przyciski akcji na listach, które nie zwracały kolumny klucza głównego.
Lista rozwijana do wyboru interesariuszy
Poprawiono wyświetlanie listy wyboru interesariuszy dla większej liczby pozycji na liście.
Synchronizacja JO i TaskService
Usunięto błąd w aplikacji TaskService, który występował podczas próby synchronizacji jednostek organizacyjnych.
Typ DateTime w wynikach zapytania SQL
W funkcji analizującej wynik zapytania SQL pod kątem oczekiwanego typu danych dodano typ DateTime. Jego brak powodował występowanie w niektórych sytuacjach komunikatu o błędzie Niezdefiniowany typ dla ciągu znaków.
Hierarchia pozycji menu
W oknie dialogowym Edycja pozycji menu
ograniczono zawartość listy rozwijanej Menu nadrzędne
do tych pozycji, których wybór nie spowoduje błędu; na liście nie są wyświetlane pozycje podrzędne względem bieżącej ani pozycja bieżąca.
Błąd opisu akcji uprawnień do rekordów
W oknie dialogowym akcji Uprawnienia do rekordów poprawiono błędnie podany w opisie typ parametru AllowChildOrgUnits z bit na int.
Kolejność w sekwencji akcji
Wprowadzono poprawkę w zachowaniu komponentu do przypisywania akcji (w designerze formularzy i na workflow). Obecnie dodanie kolejnej akcji do istniejącej sekwencji akcji nie powoduje zresetowania ustalonej kolejności. Dodawana akcja trafia na koniec sekwencji, skąd można ją przesunąć w żądane miejsce.
Generowanie aplikacji mobilnej dla iOS
Usunięto problem powodujący wystąpienie błędu walidacji podczas generowania aplikacji mobilnej dla systemu iOS w przypadku, gdy w magazynie Keychain jest kilka certyfikatów Apple Worldwide Developer Relations Certification Authority z różnymi datami wygaśnięcia.
Zmiana danych jednostki organizacyjnej
Usunięto błąd, który powodował, że zmiana/aktualizacja danych dodatkowych jednostki organizacyjnej powodowała czyszczenie wartości w kolumnach ExternalRecordId oraz Ouid w tabeli core.OUInstances.
Parametry w zapytaniu dla źródła danych zdarzeń kalendarza
Poprawiono przekazywanie zmiennych z kontekstu formularza w zapytaniu SQL zwracającym źródło danych dla zdarzeń w sekcji kalendarza.