Właściwości formularza
Podsumowanie:Najważniejsze właściwości formularza to definicja dokumentu biznesowego, z którą formularz jest powiązany oraz źródło danych definiowane zapytaniem SQL. Ponadto dla formularza można zdefiniować szereg akcji, określić warunki ukrywania formularza bądź przełączania go w tryb tylko do odczytu, a także skonfigurować szereg innych ustawień.
Właściwości formularza zgrupowano na pięciu kartach widocznych po przejściu do edycji formularza w trybie kreatora formularza (w trybie designera wlaściwości formularza nie są dostępne).
☛ AdminSPA >
INTERFEJS UŻYTKOWNIKA
>Formularze
>Edytuj
W tym temacie
Karta Ogólne

Ogólne
-
Aplikacja
: nazwa aplikacji, do której ma być przypisany formularz. -
Moduł
: nazwa modułu, do którego ma być przypisany formularz. -
Kod
: ciąg znaków jednoznacznie identyfikujący formularz; obsługiwane sa tylko litery i cyfry. -
Nazwa
: nazwa formularza; nadawana automatycznie w procesie generowania elementów aplikacji; ma postać {przedrostek}-formularz dla dokumentu {przedrostek}, gdzie {przedrostek} to ciąg znaków podany w poluPrzedrostek dla generowanych elementów
w oknieGenerowanie nowego flow...
(patrz Okno Generowanie elementów aplikacji ). -
Opis
: opis formularza. -
Aktywna edycja
: pozwala wyłączyć możliwość edytowania wartości w polach na formularzu oraz dezaktywować przyciski; użytkownik może dodawać komentarze do dokumentu oraz dodawać i usuwać załączniki; tak samo działa formularz z ustawionym parametremisReadOnly
= 1 na karcieDostępność
(parametrisReadOnly
ma pierwszeństwo przed ustawieniem przełącznikaAktywna edycja
). -
Pokaż breadcrumbs
: po włączeniu wyświetla u góry ścieżkę (nazwa aplikacji lub opis aplikacji/id formularza lub kod formularza lub nazwa formularza) definiowaną w ustawieniach systemu; patrz Ustawienia systemy, Breadcrumbs . -
Pokaż przyciski systemowe
: włącza lub wyłacza wyświetlanie w prawym górnym rogu ikon:- kontekst formularza,
- diagram procesu,
- odśwież formularz.
-
Dokument biznesowy
: definicja dokumentu, z którą jest powiązany formularz; to powiązanie jest niezbędne do prawidłowego działania modelu procesu (workflow); w trybie edycji formularza pole tylko do odczytu; podczas tworzenia nowego formularza lista rozwijana, z której można wybrać definicję dokumentu biznesowego, dodatkowo jest dostępny przyciskNowy
, który wyświetla okno tworzenia nowej definicji dokumentu biznesowego. -
SQL
: zapytanie SQL definiujące źródło danych dla formularza; pod oknem z instrukcją SQL znajdują się przyciski:-
Sprawdź składnię SQL
: sprawdza poprawność instrukcji SQL pod względem składniowym. -
Sprawdź zapytanie
: sprawdza możliwość wykonania zapytania (np. nazwy obiektów bazy danych). -
Podgląd zapytania SQL
: otwiera okno dialogowe, w którym można zobaczyć dostępne parametry, ustawić ich przykładową wartość i sprawdzić poprawność zapytania dla tych wartości; patrz Podgląd/wykonanie zapytania SQL .
-
Karta Definicje akcji

Definicje akcji
Karta Definicje akcji
zawiera wykaz akcji przypisanych do formularza z podziałem na kategorie akcji. W ramach każdej kategorii można dodawać nowe akcje oraz modyfikować i usuwać akcje już zdefiniowane. Wyzwalaczami akcji na formularzu mogą być przyciski oraz zdarzenia kontrolek formularza: OnChange
, OnLeave
, OnClick
. Sposób definiowania akcji różnych kategorii opisano w temacie Akcje
Karta Dostępność

Dostępność
Karta Dostępność
pozwala ograniczyć dostęp do samego formularza lub do pól i przycisków na formularzu. W tym celu należy skonstruować zapytanie SQL, które zwróci dwa parametry: isActive
i isReadOnly
.
-
SQL
: okno do wpisania zapytania SQL definiującego atrybuty dostępności. -
Sprawdź składnię SQL
: sprawdza poprawności składni zapytania. -
Przekaż wszystkie parametry jako nvarchar
: przełącznik zapewniający kompatybilność wsteczną z wcześniejszymi wersjami, kiedy wartości zmiennych typu {@nazwa} (z kontekstu formularza i systemowe) w zapytaniu SQL były domyślnie przekazywane jako tekst (typ nvarchar); od wersji 1.4.1.3 parametry w zapytaniach SQL są przekazywane zgodnie z ich typem natywnym.
Tabelka przedstawia dostępność formularza i jego pól/przycisków w zależności od kombinacji wartości obu parametrów.
isActive | isReadOnly | Zachowanie formularza |
---|---|---|
1 | 1 | Formularz działa normalnie, można dodawać i edytować dokumenty |
1 | 0 | Pola i przyciski na formularzu są nieaktywne, można dodawać komentarze i załączniki; takie samo zachowanie, jak po wyłączeniu przełącznika Edycja aktywna . |
0 | 1/0 | Próba wyświetlenia formularza (przycisk Nowy dokument lub Edytuj ) powoduje wyświetlenie komunikatu 403 — Nie masz dostępu do tej strony
|
ustawienia dostępności za pomocą zapytania SQL mają pierwszeństwo przed ustawieniem przełącznika
Edycja aktywna
na karcieOgólne
.
Poniżej przedstawiono przykład, który będzie ustawiał różne kombinacje obu parametrów w zależności od zalogowanego użytkownika. W przykładzie użyto następujących zmiennych:
-
{@UserId}
: wartość polaUserId
na formularzu. -
{@_UserId}
: identyfikator zalogowanego użytkownika.
SELECT
CAST(
CASE
-- Jeśli zaloguje się konkretny użytkownik, dezaktywuj formularz
WHEN {@_UserId} = 'E8F68D83-7905-4A5E-CDCA-08D9326197D4'
THEN 0
ELSE 1
END
AS BIT) AS isActive,
CAST(
CASE
-- Jeśli zaloguje się twórca dokumentu, pozwól na modyfikacje,
-- w przeciwnym razie, ustaw tryb tylko do odczytu
WHEN {@_UserId} = {@UserId}
THEN 0
ELSE 1
END
AS BIT) AS isReadOnly
Karta Akcje formularza

Akcje formularza
Na karcie Akcje formularza
można dodawać akcje, które będą blokować i odblokowywać możliwosć edycji danych w formularzu w celu uniknięcia konfliktów edycji. Ponadto na tej karcie można zdefiniować skrypt do zmiany kontekstu formularza.
-
Akcje na otwarcie/zamknięcie
: kliknięcie przyciskuUstaw
wyświetla okno wyboru akcji (patrz Przycisk ). Po kliknięciu przyciskuWybierz akcje z listy
wyświetlane są tylko dwie akcje systemowe:-
Blokuj dokument
: działa w ten sposob, że otwarcie dokumentu do edycji przez jednego użytkownika powoduje zablokowanie możliwości jego edycji przez innego użytkownika na określony czas (domyślnie 60 s). Po upływie tego czasu odmierzany jest czas (domyślnie 4 min), w którym użytkownik próbujący uzyskać dostęp do edytowanego dokumentu może zdecydować o zignorowaniu blokady. Po upływie tego okresu (łącznie 300 s od zablokowania dokumentu) blokada jest wyłączana. -
Odblokuj dokument
: powoduje natychmiastowe przerwanie blokady dokumentu. Informacje dotyczące blokady są zapisywane w kolumnach systemowych tabeli modelu danychBlocked
,BlockUser
iLastEntryDate
. Czasy blokady ustawia się w definicji dokumentu biznesowego na karcieBlokady
.
-
-
Skrypt dla zmiany kontekstu formularza
: pole do wpisania skryptu JavaScript służącego do sterowania wartościami i atrybutami pól formularza w zależności od zmian kontekstu formularza; przyciskPrzykład
wyświetla okno z licznymi przykładami skryptów, które przytoczono poniżej.
Przykłady:
Opcje ustawień dostępności pól poprzez skrypt:
Dostęp do pola - odbywa się z wykorzystaniem funkcji getFieldByCode('unikalny-kod-pola')
const pole1 = getFieldByCode('unikalny-kod-pola');
Ustawienia widoczności - widoczność ustawiana poprzez właściwość pola isActive
pole1.isActive=true; //pole widoczne
pole1.isActive=false; //pole niewidoczne
Ustawienia edytowalności - edytowalność ustawiana poprzez właściwość pola isDisabled
pole1.isDisabled=true; //pole tylko do odczytu
pole1.isDisabled=false; //pole edytowalne
Ustawienia wymagalności - wymagalność ustawiana poprzez właściwość pola isRequired
pole1.isRequired=true; //pole wymagane
pole1.isRequired=false; //pole niewymagane
Ustawienia widoczności pola w wersji mobilnej - widoczność ustawiana poprzez właściwość pola isActiveOnMobile
pole1.isActiveOnMobile=true; //pole widoczne w wersji mobilnej
pole1.isActiveOnMobile=false; //pole niewidoczne w wersji mobilnej
Ustawienia dostępności pola w przeglądarce nawet gdy niewidoczne - dostępność pola w przeglądarce pomino ewentualnego braku widoczności ustawiana poprzez właściwość pola sendHidden
pole1.sendHidden=true; //pole dostępne w przeglądarce
pole1.sendHidden=false; //pole niedostępne w przeglądarce
Dostęp do sekcji - odbywa się z wykorzystaniem funkcji getSectionByCode('unikalny-kod-sekcji')
const sekcja1 = getSectionByCode('unikalny-kod-sekcji');
Ustawienia widoczności sekcji - widoczność ustawiana poprzez właściwość isActive
sekcja1.isActive=true; //sekcja widoczna
sekcja1.isActive=false; //sekcja niewidoczna i nieaktywna
Ukrywanie sekcji - sekcję można ukryć z wykorzystaniem funkcji setSectionAsHidden('unikalny-kod-sekcji')
setSectionAsHidden('unikalny-kod-sekcji');
// sekcja będzie ukryta i jednocześnie parametry domyślne będą obsługiwane,
// funkcja działa jak kombinacja parametrów "Pole widoczne" = OFF
// i "Pole dostępne w przeglądarce nawet gdy niewidoczne" = ON
Ustawienia widoczności i edytowalności na podstawie wartości pola [Organization]
const pole1 = getFieldByCode('S1P-form-053Z83');
if (formContext.Organization == 1) {
pole1.isActive=true;
pole1.isDisabled=true;
}
else {
pole1.isActive=false;
}
Karta Pomoc dla użytkownika

Pomoc dla użytkownika
Karta Pomoc dla użytkownika
zawiera opcje określające wyświetlanie przycisku pomocy dla formularza:
-
Zawsze wyświetlaj przycisk pomocy
; przycisk pomocy jest wyświetlany na formularzu/liście niezależnie od tego, czy skonfigurowano jego obsługę. -
Wyświetlaj tylko, gdy zdefiniowano pomoc
: (ustawienie domyślne) przyciski są wyświetlane, jeśli zdefiniowano akcje wywoływane przyciskiem pomocy. -
Nigdy nie wyświetlaj
: ukrywa przycisk pomocy na liście/formularzu; ustawienie przydatne np. w przypadku formularza do wyświetlania pomocy.
Więcej informacji zawiera rozdział Definiowanie pomocy w aplikacjach biznesowych