Źródła danych: pytanie serwera w trakcie edycji
Pracownik ma 5 dni urlopu, a wnioskuje o 20 — formularz o tym nie wie. Saldo zależy od wybranego pracownika, więc nie da się go wczytać w init. Formularz musi zapytać serwer w trakcie edycji. Do tego służą źródła danych (data sources).
Procesy typu Function
Dział zatytułowany „Procesy typu Function”- Formularz rozmawia z serwerem przez procesy typu Function. Mają wejście i wyjście, a wynik trafia na formularz.
- Przygotowane procesy:
- saldo — dostaje pracownika, zwraca liczbę pozostałych dni urlopu,
- nakładanie się — dostaje pracownika, identyfikator wniosku i daty, zwraca 1 albo 0: czy pracownik ma już nieobecność w tym czasie.
Definicja źródła danych
Dział zatytułowany „Definicja źródła danych”- Przycisk Data sources na dole palety komponentów.
- Rodzaje:
- static — dane wpisane na stałe (np. duża tabela albo JSON), dostępne w każdej chwili,
- ajax — dane ładowane dynamicznie w reakcji na to, co dzieje się na formularzu. Tego używamy.
- Name: dowolna nazwa, np.
balance. - URL:
proc:+ Guid procesu. Skąd wziąć Guid — lekcja 13. - Parametry: wartości dla wejść procesu.
personId← wartość pola pracownika (Guid wybranej osoby). Przy błędzie albo pustym polu zwracasz pusty tekst. - Przykładowe dane wyjściowe: jeden przykład, żeby formularz znał kształt wyniku, np. parametr
wyniktypu number. Wartości nie mają znaczenia.
Odczyt wyniku: source()
Dział zatytułowany „Odczyt wyniku: source()”- Wynik czytasz w wyrażeniu przez
source('balance'), np. w polu tekstowym z informacją o saldzie. - Bardzo ważne:
source()nie wywołuje procesu. Źródło wywołuje się samo, gdy zmienią się wartości jego parametrów wejściowych (np. wybierzesz innego pracownika).source()tylko odczytuje wynik ostatniego wywołania. - W aplikacji: po wyborze pracownika od razu widać jego saldo. Wartość nie przyszła przy otwarciu formularza, tylko z serwera w trakcie pracy.
Zapamiętaj
Dział zatytułowany „Zapamiętaj”Źródło danych = proces Function wywoływany przez formularz, gdy zmienią się jego parametry. Te same reguły możesz
dodatkowo sprawdzić po stronie serwera w put. W następnej lekcji: elementy wielokrotne, czyli tabele.