Gniazda rozszerzeń na tabelach dodatkowych

Jesteś tutaj:
< Powrót

Gniazda rozszerzeń na tabelach dodatkowych

Od wersji 7.50.2 gniazda rozszerzeń tworzone są również dla tabel dodatkowych. Oznacza to, że dostępne są gniazda zarówno na liście zapisów tabeli dodatkowych jak również na formularzach tabel dodatkowych. Wygenerowane gniazda rozszerzeń dla tabel dodatkowych mają analogiczną strukturę jak na standardowych ekranach aplikacji ponieważ dotyczą zdarzeń tego samego typu np. otwarcie okna formularza, zatwierdzenie formularz itp. Również edytor gniazd rozszerzeń wywoływany na tabelach dodatkowych tak samo jak w innych miejscach w aplikacji tzn. za pomocą skrótu klawiszowego CTRL+SHIFT+F12.
Jednakże podczas definiowania struktury tabeli dodatkowej na zakładce „Zaawansowane” w parametrach kolumny można włączyć generowanie gniazd rozszerzeń dla poszczególnych pól, które znajdą się na formularzu tabeli dodatkowej (Rys. 47). Po zaznaczeniu opcji „Generuj gniazdo rozszerzeń dla pola na formularzu” i zatwierdzeniu definicji tabeli, w edytorze gniazd rozszerzeń uruchomionym na formularzu tabeli, pojawi się zdarzenie o nazwie Pole formularza: <nazwa pola> \ Po gdzie <nazwa pola> będzie zawierała nazwę opisową kolumny tabeli dodatkowej. Powyższe gniazdo rozszerzeń jest wykonywane po zatwierdzeniu pola na formularzu (np. klawiszem enter) w trakcie edycji zapisu tabeli. Oczywiście każda zmiana w polu formularza ponownie uruchamia ww. zdarzenie.

Rys. 47 Generowanie gniazd rozszerzeń dla pól formularzy tabel dodatkowych

Na formularzu tabeli dodatkowej wszystkie pola (oraz pola techniczne tabeli dodatkowej) są reprezentowane w gniazdach rozszerzeń formularza w postaci zmiennych kontekstowych o nazwach odpowiadających nazwom kolumn SQL tabeli w bazie danych. Zmienne skojarzone z polami formularza mogą być zmieniane w procedurach składowanych wykonywanych w gniazdach formularza ponieważ zostały zadeklarowane jako „SQL Output”. W efekcie w prosty sposób możemy inicjować wartości poszczególnych pól formularza tuż po otwarciu okna albo wykorzystać gniazdo  Pole formularza: <nazwa pola> \ Po do ustalenia wartości pozostałych pól formularza po wypełnieniu pola <nazwa pola>.

Gniazda uruchamiane po zatwierdzeniu pola formularza są szczególne użyteczne gdy chcemy wyliczyć na formularzu wartość jednego z pól na podstawie wartości pozostałych pól formularza. Dzięki tym gniazdom możemy tworzyć  niemal dowolne zależności między poszczególnymi polami formularza.

Oczywiście w gniazdach dostępnych na listach i formularzach tabel dodatkowych możemy uruchamiać inne formularze tabel, które również mogą zawierać kod obsługi gniazd rozszerzeń (także uruchamiający kolejne formularze). Można więc tworzyć kaskadowe wywołania list i formularzy tabel dodatkowych. Oznacza to, że można konstruować zaawansowane zależności między tabelami dodatkowymi (relacje).