Informacje o wersji 1.7.4 z dn. 22-06-2022
Znane błędy
Problemy z akcją Odśwież wskazany formularz
Akcja Odśwież wskazany formularz
może w niektórych przypadkach powodować błędną aktualizację kontekstu formularza. Trwają prace nad usunięciem tych błędów. Obecnie nie zaleca się korzystania z tej akcji.
Nowe i zmodernizowane funkcje
Obsługa kolekcji użytkowników w akcjach uprawnień i interesariuszy
Obie akcje obsługują przypadki, kiedy zapytanie SQL zwraca zestawy rekordów, to jest zawiera operator UNION i/lub klauzulę FROM/WHERE/JOIN. W takiej sytuacji akcja jest wykonywana dla każdego rekordu w zestawie.
Na przykład użycie poniższego zapytania w akcji Uprawnienia do rekordów
spowoduje przypisanie uprawnień RD bieżącemu użytkownikowi oraz uprawnień RUD użytkownikom wybranym zapytaniem z tabeli core.UserProfiles:
SELECT
'RD' AS PermissionTypes,
{@_UserId} as SelectedUserGUID,
NULL AS BusinessRolesId,
NULL AS SelectedOrgUnits,
NULL AS AllowChildOrgUnits,
NULL AS Stakeholder,
NULL AS BusinessDocumentSchema,
NULL AS InstanceId
UNION
SELECT
'RUD' AS PermissionTypes,
Id AS SelectedUserGUID,
NULL AS BusinessRolesId,
NULL AS SelectedOrgUnits,
NULL AS AllowChildOrgUnits,
NULL AS Stakeholder,
NULL AS BusinessDocumentSchema,
NULL AS InstanceId
FROM core.UserProfiles
WHERE LEFT(FirstName,1) IN ('a', 's')
Poniższe zapytanie SQL użyte w akcji Przypisywanie interesariuszy
spowoduje przypisanie bieżącego użytkownika do kategorii interesariuszy o id 5 i jednocześnie usunie użytkowników zwróconych przez drugie zapytanie z kategorii interesariuszy o id 3:
SELECT
{@_UserId} AS UserId,
5 AS StakeholderId,
CAST(0 AS BIT) AS IsRemoval
UNION
SELECT
Id AS UserId,
3 AS StakeholderId,
CAST(1 AS BIT) AS IsRemoval
FROM core.UserProfiles
WHERE LEFT(FirstName,1) IN ('a', 's')
Obie akcje obsługują także kolekcję użytkowników w formie listy identyfikatorów rozdzielanych przecinkami, jednak ta metoda nie jest zalecana i nie będzie wspierana. W przypadku konieczności obsługi listy wielowyboru, zaleca się skorzystanie z przełącznika Zapisz w tabeli relacyjnej
i zbudowanie zapytania, które zwróci zestaw rekordów dla akcji.
Poprawki i usunięte błędy
Konwersja typu danych parametru {@Nazwa} w SQL
Zmodyfikowano sprawdzanie możliwości konwersji na datę wartości zwracanej w zapytaniu SQL dla zmiennych typu {@Nazwa}. Używany do tej pory mechanizm powodował błędy w przypadku, gdy zwracana wartość miała np. format kodu pocztowego.
Brak wyszarzenia pola typu maska
Poprawiono styl dla kontrolki typu maska z ustawionym atrybutem tylko do odczytu. Obecnie taka kontrolka ma wyszarzone tło, tak jak inne kontrolki tylko do odczytu.
Inicjowanie pustego pola numerycznego
Zmieniono proces inicjowania kontrolki pole numeryczne w ten sposób, że obecnie taka kontrolka w nowym rekordzie jest inicjowana jako pusta (NULL). Do tej pory takie kontrolki były inicjowane z wartością 0, co powodowało problemy z prawidłową walidacją atrybutu wymagalności.
W celu zachowania kompatybilności wstecznej we właściwościach pola numerycznego dodano przełącznik Wstaw 0 zamiast NULL dla pustej wartości
. Ten przełącznik dla istniejących kontrolek jest domyślnie włączony, dzięki czemu są one inicjowane z wartością 0, tak jak do tej pory. Dla nowych kontrolek przełącznik jest domyślnie wyłączony.
Zapis i odczyt uprawnień ACL formularza
Zmodyfikowano mechanizm zapisu i odczytu uprawnień ACL dla formularza w celu eliminacji możliwych błędów z prawidłowym egzekwowaniem ustawień. Aby modyfikacja zaczęła obowiązywać w przypadku istniejących aplikacji, konieczne jest wejście w ustawienia uprawnień formularza, dokonanie dowolnej zmiany i zapisanie ustawień.
Odświeżanie po zamknięciu formularza
Poprawiono błąd, który powodował, że w szczególnych przypadkach opcja Odśwież widok wyświetlany po zamknięciu formularza
w akcji zamknięcia formularza była nieskuteczna.
Ikona przycisku przejścia na diagramie procesu
Dodano możliwość wyboru ikony dla przycisku przejścia na diagramie procesu.
Zapis zmian projektu formularza i listy
Usunięto błąd, który uniemożliwiał powtórne zapisanie zmian danych na karcie Ogólne
w projekcie formularza lub listy w danej sesji edycji.