Edytor gniazd rozszerzeń – praca z funkcjami

Jesteś tutaj:
< Powrót

Edytor gniazd rozszerzeń – praca z funkcjami

Każda kolejna funkcja dodawana w gnieździe jest umieszczana po poprzedniej. Aby zmienić ich kolejność wystarczy trzymając wciśnięty lewy przycisk myszy przesunąć daną funkcję na miejsce gdzie chcemy ją umieścić. Jeśli chcemy zamienić „Funkcje 2” miejscami z „Funkcją 1” (Rys. 11) to musimy przytrzymując lewy przycisk myszy wskazać „Funkcję 1”.

Rys. 11  Nawigacja myszą w edytorze – zmiana kolejności funkcji

Od wersji 7.50.4 programu można również skopiować funkcję z jednego gniazda do drugiego. Aby wykonać kopię funkcji wystarczy trzymając wciśnięty lewy przycisk myszy oraz klawisz SHIFT przemieścić kursor myszy z miejsca gdzie znajduje się  funkcja do nowego gniazda czyli w miejsce gdzie chcemy ją umieścić (Rys. 11). Należy przy tym pamiętać, że w nowym gnieździe nie wszystkie zmienne wykorzystywane jako parametry w kopiowanej funkcji mogą być dostępne. Najlepiej upewnić się, że wszystkie zmienne są dostępne w nowym miejscu poprzez edycję parametrów funkcji oraz wykonanie jej testu działania.

W analogiczny sposób można skopiować zawartość całego gniazda rozszerzeń (czyli grupy funkcji) do nowego gniazda z tym, że kursorem myszy należy zaznaczyć gniazdo skąd chcemy skopiować funkcje a następnie trzymając lewy przycisk myszy oraz klawisz SHIFT wskazać gniazdo docelowe.
Z uwagi na fakt, że ilość gniazd rozszerzeń jest bardzo duża wygodniej nawigować pomiędzy gniazdami na poszczególnych ekranach. Przykładowo chcąc dodać rozszerzenia w gnieździe po zatwierdzeniu dokumentu należy otworzyć okno danych  dokumentu  i  nacisnąć CTRL+SHIFT+F12. Uruchomi się Edytor pokazując tylko gniazda dostępne dla okna danych dokumentu handlowego (Rys. 12).

Strukturę drzewa gniazd rozszerzeń można również ograniczyć poprzez zastosowanie filtra „tylko gniazda wypełnione funkcjami” (Ctrl+F). Wówczas ukryte zostaną wszystkie puste gniazda tj. nie zawierające podpiętych funkcji (Rys. 13).
Na ekranie edytora dostępne są jeszcze filtry wpływające na zawartość wyświetlanej informacji.
Filtr „pokazuj typ funkcji” przełącza wyświetlanie na liście informację o typie funkcji. Każda funkcja reprezentowana jest osobną ikoną (za wyjątkiem tabeli dodatkowej i formularza tabeli, które mają taka samą ikonę). Dodatkowy opis przydaje się szczególnie na początku pracy z edytorem gniazd ułatwiając zorientowanie się w strukturze podpiętych funkcji. Jedynie dla instrukcji złożonej IF (warunek) THEN ELSE typ funkcji wyświetlany jest zawsze niezależnie od ustawienia ww. filtra.

Rys. 12  Gniazda rozszerzeń dostępne na oknie danych dokumentu handlowego

Rys. 13  Włączony filtr „tylko gniazda wypełnione funkcjami”

Filtr „pokazuj kody techniczne” przełącza wyświetlanie na liście informację o kodzie technicznym gniazda lub funkcji. Kody techniczne gniazd jednoznacznie identyfikują gniazdo w strukturze. Są więc technicznym odpowiednikiem adresu gniazda. Z kolei dla funkcji kody generowane są automatycznie dla zapewnienia unikalności klucza w tabeli przechowującej dane gniazd i funkcji. Kody techniczne wykorzystywane są przede wszystkim przy tworzeniu skryptów SQL (Rozdział 10). oraz ewentualnie do szybkiego odszukania gniazda w strukturze.

Ustawienia filtrów „pokazuj kody techniczne”, „pokazuj typ funkcji” oraz „tylko gniazda wypełnione funkcjami” są zapamiętywane dla każdego użytkownika.
Dla potrzeb pracy z funkcjami na etapie projektowania zawartości gniazd rozszerzeń dodano przyciski „Włącz | wyłącz wykonanie” oraz „Testuj wykonanie”.
Przycisk „Włącz | wyłącz wykonanie” powoduje wyłączenie (lub włączenie) możliwości wykonania funkcji (gniazda). Zakres działania tego przycisku zależy od miejsca (pozycji) kursora w edytorze gniazd rozszerzeń i dotyczy wszystkich elementów podrzędnych drzewa. Funkcje lub gniazda, których wykonanie zostało wyłączone oznaczone są kolorem czerwonym. Ustawienie pozycji kursora na gałęzi SYSTEM i wyłączenie wykonania spowoduje więc wyłączenie wykonywania kodu wszystkich gniazd w programie.

Przycisk „Testuj wykonanie” umożliwia sprawdzenie działania wykonania sekwencji funkcji  (lub pojedynczej funkcji). Wszystkie zmienne wykorzystane w kodzie gniazda są ustawione na wartości domyślne toteż docelowe działanie kodu gniazda może być jednak inne niż obserwowane w wyniku uruchomienia testowania. Szczególnie dotyczy to zachowania się gniazda w wyniku sprawdzenia warunku w instrukcji IF (warunek) THEN ELSE.