Dodawanie operacji dodatkowych (modułów rozszerzeń)



Pobieranie 61,02 Kb.
Data03.11.2017
Rozmiar61,02 Kb.

Dodawanie operacji dodatkowych (modułów rozszerzeń)
do WF-Mag dla Windows.

W WF-Mag dla Windows (w dowolnym wariancie) istnieje możliwość dołączania dodatkowych, tworzonych na życzenie użytkownika, modułów rozszerzających możliwości programu. Moduły rozszerzeń muszą mieć postać wykonywalnych programów/procedur tzn. EXE lub BAT. Dołączane moduły integrują się z interfejsem WF-Maga jako operacje dodatkowe dostępne ze standardowego menu wywoływanego pod przyciskiem ekranowym „Operacje” (skrót Ctrl+O) lub pod prawym przyciskiem myszy w sekcji operacje dodatkowe.
Dodanie nowego modułu rozszerzeń jako operacji dodatkowej może być wykonane jedynie przez użytkownika zalogowanego do programu jako administrator systemowy czyli predefiniowany użytkownik admin zakładany w momencie instalacji bazy danych programu. Możliwości dodawania nowych modułów rozszerzeń włączane są na oknie operacji dodatkowych (wywoływanym pod przyciskiem ekranowym „Operacje”) poprzez naciśnięcie klawiszy Ctrl+Shift+Alt+?. Pojawiają się wówczas standardowe przyciski „Dodaj”, „Popraw” i „Usuń”. Wybranie przycisku „Dodaj” prowadzi do ekranu jak na rys.1


Rys.1 Ekran dodawania operacji dodatkowej (modułu rozszerzeń)


  1. Kontekst wywołania funkcji – oznacza miejsce w interfejsie WF-Maga gdzie operacja dodatkowa będzie dostępna. Jest to również miejsce skąd wywołano ekran dodawania operacji dodatkowej. Pole nie podlega edycji i jest domyślnie inicjowane.

  2. Nazwa funkcji – oznacza nazwę operacji dodatkowej, która będzie widoczna dla użytkownika w oknie wyboru operacji oraz pod prawym klawiszem myszy

  3. Skrót klawiszowy – oznacza kombinację klawiszy, którą wywoływana będzie z interfejsu dodawana operacja dodatkowa. Kombinacje klawiszy dostępne są z listy możliwych skrótów klawiszowych. Na liście pokazane są wszystkie możliwe – niektóre jednak mogą być blokowane są przez interfejs Windows (np. Alt+) a niektóre mogą być już wykorzystywane. Proszę upewnić się po zdefiniowaniu, że skrót dla danej operacji rzeczywiście działa.

  4. Kod operacji – to wewnętrzny identyfikator operacji dodatkowej, po której będzie ona identyfikowana w programie WF-Mag dla Windows. Składa się on z części predefiniowanej w postaci 4 cyfry, podkreślenie, 3 cyfry, podkreślenie i dowolnej części zmiennej. Część zmienna to dowolny ciąg znaków np. skrót nazwy operacji. Obecnie 4 pierwsze cyfry wykorzystywane są do kodowania dostępności operacji dodatkowej w odpowiednim wariancie programu. Jedynka na pozycji cyfry oznacza dostępność a zero brak dostępności operacji w danym wariancie. Pozycja cyfry sygnalizuje wariant programu. I tak w kolejności licząc od lewej cyfry oznaczają warianty START, BIZNES, PRESTIŻ i wariant MAX (czwarta cyfra). Cyfry po podkreślenie określają rodzaj wariantu dedykowanego MAX i powinny być 000 dla wariantów START, BIZNES, PRESTIŻ. Dostępność w wariantach a więc i wartości cyfr ustalane są automatycznie po zaznaczeniu odpowiedniego wariantu w opcji „Funkcja dostępna w wariantch”.

  5. Funkcja dostępna w wariantach – oznacza dostępność operacji dodatkowej w wybranych wariantach. Obecnie przyjmuje się, że każda ze zdefiniowanej operacji będzie dostępna w wariancie PRESTIŻ i MAX

  6. Zmienne przesyłane do modułu – opcja umożliwia przesłanie do modułu rozszerzeń wartości ośmiu predefiniowanych w WF-Magu zmiennych, które mogą być dowolnie wykorzystywane np. przy konstruowaniu kontekstowych zapytań do bazy danych WF-Maga. Wartości tych zmiennych są takie jakie zostały zainicjowane w WF-Magu w momencie wywołania operacji dodatkowej przez użytkownika. Zmienne „id_firmy”, „id_magazynu” i „id_użytkownika” przechowują wartości identyfikatorów Firmy, Magazynu i Uzytkownika z tabel bazy danych. Identyfikator „Id_obiektu” ma takie samo znaczenie jak przy definiowaniu interfejsu przy podłączaniu raportów w CR i zależy od kontekstu wywołania operacji np. na dokumentach handlowych będzie to „id_dokumentu_handlowego” podświetlonego na liście dokumentów w momencie wywołania operacji. Zmienne „zakres daty od”, „zakres daty do” oraz „opis zakresu” przechowują aktualny w momencie wywołania globalny filtr zakresu dat. Oczywiście wartości zmiennych „zakres daty od”, „zakres daty do” są zapisane w standardzie Clariona czyli w postaci liczby dni od 28.12.1800 roku. Aby dokonać konwersji na postać akceptowaną przez SQL Server (typ datetime) należy wykonać na serwerze np. funkcję cast(„zakres daty od” -36163 as datetime). Zmienna „Kod kontekstu (użycie)” zwraca wartość tzw. użycia czyli liczbę całkowitą zależną od miejsca gdzie została wykonana operacja. Użycie jest parametrem wykorzystywanym przy zaznaczaniu dokumentów, artykułów czy kontrahentów i odpowiada wartości kolumny „uzycie” w tabeli „ZAZNACZONE” przechowującej identyfikatory (w kolumnie „Id”) zaznaczonych obiektów (dokumentów, kontrahentów lub artykułów).

  7. Ścieżka do modułu – oznacza lokalizację pliku modułu rozszerzeń wraz z jego nazwą widoczną dla wszystkich końcówek WF-Maga dla Windows, które powinny korzystać z tego modułu rozszerzeń. W szczególnym przypadku może to być katalog instalacyjny programu (nie zalecane!).

  8. Zatrzymanie aplikacji do czasu ukończenia modułuzaznaczenie tej opcji powoduje, że WF-Mag blokuje interfejs dla użytkownika wywołującego operację dodatkową do czasu aż moduł zakończy swoją pracę i przekaże sterowanie do systemu operacyjnego. Nie zaznaczenie tej opcji powoduje, że moduł i WF-Mag mogą wykonywać się niezależnie.

  9. Sposób wywołania – prezentuje sposób wywołania modułu rozszerzeń z linii komend systemu operacyjnego. Przy wywołaniu operacji dodatkowej po ścieżce do modułu (lokalizacji pliku modułu wraz z nazwą pliku) WF-Mag zawsze umieści w linii komend dwa parametry oddzielone spacjami. Parametr nr 1 to tzw. ConnectString czyli parametry połączenia z bazą danych w postaci nazwy serwera, nazwy bazy danych, nazwy użytkownika na serwerze bazy danych (użytkownik serwera a nie programu!!!) oraz hasła tego użytkownika oddzielonych przecinkami. Jest to najprostsza forma przekazania parametrów połączenia z bazą danych w standardzie ODBC. Parametr nr 2 zawiera uporządkowaną listę wartości zmiennych przekazywanych do modułu (patrz pkt.6) oddzieloną przecinkami. Kolejność umieszczania tych wartości obrazowo przedstawiona jest na białym polu u dołu okna dodawania operacji. Oczywiście w przypadku braku konieczności przesyłania wartości tych zmiennych parametr nr 2 będzie ciągiem pustym. UWAGA! Parametry nr 1 i nr 2 są przekazywane w linii komend systemu w postaci ciągu tekstowego w cudzysłowach podwójnych („).

Sposób przekazania parametrów oraz wywołania jest analogiczny dla skryptów Visual Basic Scripts (VBS).


Nieco inaczej wygląda definiowanie operacji dodatkowej dla procedury SQL. W polu Nazwa procedury należy podać cześć nazwy procedury – w celu ujednolicenia rejestracji rozszerzeń w bazie danych program wymaga aby nazwa procedury poprzedzona była prefiksem MAGEXT_ . Dodatkowo mamy możliwość określenia czy program będzie wyświetlał okienko pytania przed wykonaniem procedury oraz komunikat potwierdzający zakończenie wykonania.

Jeśli zdefiniujemy na liście parametrów przekazywanych do procedury id_obiektu oraz kod_kontekstu(użycie) pojawi się opcja Wykonaj w pętli dla zaznaczonych (rys.2). Umożliwia ona sekwencyjne wywołanie zdefiniowanej procedury dla wszystkich obiektów zaznaczonych na ekranie przez użytkownika w danym kontekście wywołania. W trakcie sekwencyjnego wykonania wyświetlany jest na ekranie pasek postępu. Sekwencyjne wykonanie jest szczególnie zalecane jeśli przewidywany czas wykonania operacji jest długi. Operację wykonywaną w pętli użytkownik może przerwać klawiszem Esc. Jego naciśnięcie spowoduje wyświetlenie prośby o potwierdzenie przerwania wykonywanej operacji. Jeśli nastąpiło to w czasie komunikacji z serwerem (wykonania procedury SQL) program będzie czekał na zakończenie wykonania procedury wyświetlając stosowny komunikat.



Dla ułatwienia implementacji procedury SQL przygotowano również jej schemat dostępny pod przyciskiem Pokaż schemat procedury SQL.



Rys.2 Ekran dodawania operacji dodatkowej (procedura SQL)




©operacji.org 2019
wyślij wiadomość

    Strona główna