Informacje o wersji 1.14.1.0
z dn. 23-01-2025

PDF

W tej wersji

Wymagane działania

  • Wydajność operacji wsadowych:

    W związku ze zmianą struktury tabeli [core].[ACLInstanceEntries] wszelkie zapytania niestandardowe oparte na tej tabeli mogą wymagać aktualizacji odpowiednio do wprowadzonych zmian.

Kompatybilność aplikacji

Migracja aplikacji jest możliwa tylko między wersjami nAxiom kompatybilnymi na poziomie bazy danych.

Bieżąca wersja bazy danych: 20250117133124

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. Wydajność operacji wsadowych

Wprowadzono kilka zmian mających na celu poprawę wydajności operacji wsadowych na dużych zbiorach rekordów. Zmiany dotyczyły:

  • mechanizmu generowania autonumeracji dokumentów, pod kątem operacji importu dokumentów (zapis definicji w pamięci podręcznej, ograniczenie liczby zapytań),
  • akcji odświeżania uprawnień,
  • akcji dodawania interesariusza.

Ponadto w ramach tych prac zoptymalizowano aktualizację danych w tabeli core.ACLInstanceEntries na potrzeby funkcji tabelarycznej core.UserTasks_View po wykonaniu akcji importu dokumentów, w tym między innymi:

  • zmieniono sposób generowania wartości AclId dla nowoutworzonych dokumentów biznesowych na identyfikatory Guid ze znacznikiem czasu, co poprawiło wydajność indeksów budowanych na tej kolumnie,
  • podzielono na mniejsze paczki operację aktualizacji wykonywaną po akcji importu; do tej pory było to 1000 rekordów,
  • zmodyfikowano tabelę systemową core.ACLInstanceEntries, wydzielając z niej do osobnej tabeli dane potrzebne dla funkcji tabelarycznej core.UserTasks_View. Nowe tabele mają następujące kolumny:
[core].[ACLInstanceEntries](
  [Id] [int] IDENTITY(1,1) NOT NULL,
  [ACLId] [uniqueidentifier] NOT NULL,
  [CanRead] [bit] NOT NULL,
  [CanUpdate] [bit] NOT NULL,
  [CanDelete] [bit] NOT NULL,
  [CanManage] [bit] NOT NULL,
  [UserId] [uniqueidentifier] NULL,
  [StatusId] [int] NULL,
  [OUInstanceId] [int] NULL,
  [OUSubInstances] [bit] NOT NULL,
  [StakeholderId] [int] NULL)

[core].[UserTasksData](
  [ACLInstanceEntryId] [int] NOT NULL,
  [ApplicationDefinitionId] [int] NULL,
  [BusinessDocumentId] [int] NULL,
  [BusinessDocumentDescription] nvarchar NULL,
  [BusinessDocumentAcronym] nvarchar NULL,
  [InstanceId] [int] NULL,
  [InstanceCode] nvarchar NULL,
  [InstanceCreateBy] [uniqueidentifier] NULL,
  [InstanceCreateByName] nvarchar NULL,
  [InstanceCreateDate] datetime2 NULL,
  [InstanceStatus] [int] NULL,
  [InstanceStatusName] nvarchar NULL,
  [LastStatusTransitionTime] datetime2 NULL,
  [InstanceCurrentDeadline] datetime2 NULL,
  [ShowInUserTaskList] [bit] NOT NULL)

Relacja między tymi tabela to 1:1 (złączenie po [core].[UserTasksData].[ACLInstanceEntryId] = [core].[ACLInstanceEntries].[Id]

2. Zadania cykliczne

Dodano możliwość konfiguracji biblioteki Quartz odpowiedzialnej za wykonywanie zadań cyklicznych. Ustawienia są pobierane z pliku appsettings.json (sekcja Quartz) serwisu TaskService. Dokumentację dostępnych opcji konfiguracji można znaleźć pod adresem https://www.quartz-scheduler.net/documentation/quartz-3.x/configuration/reference.html.

Ponadto zmieniono zachowanie funkcji zadań cyklicznych w przypadku, gdy dana iteracja zadania cyklicznego nie została wykonana w zadanym czasie (quartz.jobStore.misfireThreshold, domyślnie 60 s), np. z powodu braku dostępnych wątków („misfire”). Do tej pory, taka iteracja była porzucana. Obecnie próba wykonania takiego zadania zostanie podjęta bezpośrednio po wykryciu przekroczenia ustawionego limitu misfireThreshold.

3. Konwersja tekstu na datę

W ustawieniach systemu (AdminSPA) dodano nowe ustawienie Formatuj tekst przekazywany w parametrach @Nazwa na datę. Ustawienie to pozwala wyłączyć domyślne rozpoznawanie dat przekazywanych jako tekst w zmiennych @Nazwa. Rozpoznawanie działa dla formatów dd/MM/yyyy oraz yyyy-MM-dd i zamienia rozpoznany ciąg na datę w formacie dd.MM.yyyy HH:mm:ss, ustawiając godzinę 00:00:00.

Opcja znajduje się w nowej sekcji Zarządzanie wartościami parametrów. Do tej sekcji przeniesiono także opcję Wyłącz konwersję na nvarchar dla zmiennych @Nazwa z sekcji Ogólne.

Poprawki i usunięte błędy

1. Migracja widoków

Usunięto błąd występujący podczas migracji widoków bazodanowych o rozbudowanej definicji (ponad 4000 znaków).

2. Wstępne ładowanie PublicAPI

W instalatorze nAxiom dodano włączanie wstępnego ładowania na serwerze IIS dla serwisu PublicAPI. Ta zmiana wyeliminuje występowanie błędów w przypadku, kiedy program wysyłający żądanie do PublicAPI po uruchomieniu witryny przekraczał limit czasu oczekiwania na odpowiedź.

Obecnie instalator włącza wstępne ładowanie dla następujących serwisów nAxiom:

  • api (back),
  • ocrapi,
  • publicapi,
  • reportsapi,
  • tenantsapi,
  • taskservice

3. Akcja tworzenia PDF z warstwą tekstową

Poprawiono działanie akcji tworzenia pliku PDF z warstwą tekstową w przypadku przetwarzania większej liczby załączników. Dodatkowo, w ramach zadania dodano indeks na kolumnach AttachmentId i Type w tabeli core.OCRProcessesQueue.

4. Synchronizacja z LDAP

  • Poprawiono obsługę ustawienia Ustawienia systemu > LDAP > Nazwa identyfikatora użytkownika. Na skutek błędu ustawienie inne niż wartość domyślna dla danej usługi katalogowej było ignorowane. Obecnie uwzględniana jest bieżąca wartość tego ustawienia.

  • W procedurze obsługi synchronizacji użytkowników z usługami LDAP poprawiono obsługę parametru objectGuid w przypadku synchronizacji wartości do dokumentu biznesowego z danymi dodatkowymi profilu użytkownika. W ramach tego zadania dodano obsługę parametru objectSid z ActiveDirectory. Z uwagi na specyfikę tego parametru jest on obsługiwany tylko wtedy, gdy witryna nAxiom jest hostowana na środowisku Windows.

5. Filtrowanie list wyboru

Poprawiono błąd, na skutek którego w trybie tylko do odczytu lista wyboru SQL filtrowana zależnościami kontrolek była pusta.

6. Aktualizacja kontrolek z wartością ustaloną

Poprawiono obsługę aktualizacji wartości przez kod Javascript dla kontrolek z włączonym zapisem wartości ustalonej.

7. Lista zależności: kolumna - pole formularza

Poprawiono błąd, który powodował, że aktualizacja pól formularza po wybraniu pozycji na liście wyboru (Lista zależności: kolumna - pole formularza) nie działała w odniesieniu do listy wyboru interesariusza.

8. Dwie kontrolki interesariuszy na formularzu

Usunięto błąd, który powodował, że dodanie na dwóch sekcjach w tej samej kolumnie formularza kontrolki z listą wyboru interesariuszy powodowało usunięcie konfiguracji listy oraz zapisywanie komunikatów o błędach w logach systemu.

9. Walidacja kontrolki interesariuszy

Poprawiono niedziałającą walidację określenia właściwości Interesariusz dla listy wyboru interesariuszy.

10. Podgląd obrazów

Naprawiono wyświetlanie podglądu plików PNG w środowisku dockerowym.

11. Uprawnienia ACL na sekcji typu lista

Poprawiono błąd weryfikacji uprawnień ACL dla rekordów listy osadzonej w sekcji formularza, w przypadku, gdy dla tej sekcji ustawiono zależność od innej sekcji. Błąd mógł powodować, że w sekcji mogły być wyświetlane rekordy, do których użytkownik nie miał uprawnień.

12. Powiadomienia

Poprawiono błąd, który powodował wyświetlanie nieprawidłowej daty utworzenia dla starszych powiadomień.

13. Eksport do Excel

W funkcji eksportu listy do arkusza Excel usunięto błąd, który powodował że wartość typu date w arkuszu była zapisywana jako data z godziną.


Copyright © 2025 OPTEAM SA. Theme Copyright © 2017-2020 Patrick Marsceill. Distributed by an MIT license.