Kategorie

Wersja systemu

6.36.46.56.66.76.86.97.06.26.16.05.95.8

Biblioteka Navigator.Extension.dll

Wprowadzenie

System Business Navigator posiada możliwość dopisania logiki niemożliwej do zdefiniowania z poziomu aplikacji. Do tego celu służy biblioteka Navigator.Extensions.dll. Dzięki niej będziemy w stanie wykonywać działania dla sprecyzowanych czynności w Business Navigator, takich jak zapis dokumentu czy akceptacja kroku obiegu. W przypadku większej ilość środowisk (produkcyjne, testowe), każde z nich powinno posiadać własny projekt.

Dostęp do Navigator.Extension

Projekt podpięty pod aplikację jest objęty systemem kontroli wersji. Aby otrzymać dostęp należy skontaktować się z opiekunem środowiska.

Struktura Navigator.Extension

Cała solucja składa się z dwóch projektów: Navigator.Extensions – docelowa biblioteka oraz Start – projekt służący do wywoływania metod oraz do testowania. Kluczowe jest podpięcie odpowiedniej biblioteki Navigator.Model.

Bibliotekę znajdziemy w folderze z plikami aplikacji w folderze bin

Navigator.Extension

Logika biblioteki Navigator.Extensions jest zawarta w metodzie Main klasy ExtendTran.cs.

Parametry wywołania

  • Navigator.Model.Global.Database.SqlManager sql– jest to parametr komunikujący się z bazą podpiętą pod aplikację
  • Navigator.Model.Database.ETable table –informacja na jakiej tabeli operujemy. Dokumenty – Do , kontrahenci – Co itp. (Skróty tabel możemy znaleźć w Dokumentacji Bazy Danych systemu Business Navigator)
  • string objectIds – Oddzielone przecinkiem identyfikatory obiektów. Przykładowo wykonując operację na dwóch dokumentach podajemy „1521, 1522”
  • Navigator.Model.DataBase.EType type – informacje o wykonywanej operacji na obiekcie. Możliwe operacje:
    • U – Update – aktualizacja
    • A –  Add –  dodanie
    • D – Delete – akcja wykonuje się po usunięciu obiektu
    • C – Click – akcja wykonuje się po naciśnięciu przycisku
    • SA – SaveAdd – akcja wykonuje się po pierwszy zapisie
    • SU – SaveUpdate – akcja wykonuje się po każdym zapisie
    • WU – WorkflowUpdate – akcja wykonuje się po kroku obiegu
    • M – Menu – akcja wykonuje się po naciśnięciu przycisku z poziomu Menu
    • AC – AddCopy – akcja wykonuje się po skopiowaniu obiektu
    • BD – BeforeDelete – akcja wykonuje się przed usunięciem obiektu
    • WAU – WorkflowAfterUndo – akcja wykonuje się po cofnięciu kroku obiegu
    • AO – AfterOCR – akcje wykonuje się przy OCRowaniu dokumentu
  • int? buttonId – Identyfikator przycisku którego akcje wywołujemy
  • int userId – Identyfikator użytkownika który wykonuje akcje

Parametrem wyjściowym metody Main jest wartość w postaci stringa, który służy do wyświetlania komunikatów po zakończonej akcji. Wyjściowy string jest tworzony na podstawie klasy Navigator.Model.Global.Message. Możliwe są 3 rodzaje komunikatu:

  • Wiadomość sukcesu
    • message = new Message(„Operacja zakończona pomyślnie”)

  • Wiadomość ostrzegawcza
    • Message = new Message(„Uwaga! Zadanie może być uszkodzone”, EMessageType.Alert)

  • Wiadomość o błędzie
    • Message= new Message(„Uwaga! Kwoty się nie zgadzają!, EMessageType.Error)

Istnieje również możliwość aby przerwać wykonywaną przez program czynność i nie pozwolić na przykładowo zapis dokumentu. Należy wtedy rzucić wyjątkiem:

  • throw new Exception(„Operacja nie powiodła się”);

Start

Aby swobodnie korzystać i testować rozwiązanie oprogramowane w Navigator.Extenions należy skorzystać z projektu Start. W celu konfiguracji należy ustawić odpowiednie połączenie do bazy w pliku App.config w sekcji connectionStrings. Należy podać dane serwera oraz bazy danych.

Do obsługi Navigator.Extensions stworzona została klasa Program.cs

Przykładowe wywołania

  • ExtendTran.Main(sql, ETable.Do, „1”, EType.SU, null, 1);
    • Wywołanie akcji na tabeli Do (Dokumenty), na identyfikatorze obiektu 1, o rodzaju operacji zapis (SaveUpdate), przez użytkownika o identyfikatorze 1
  • ExtendTran.Main(sql, ETable.Co ,”8545″, EType.BD, null, 119);
    • Wywołanie akcji na tabeli Co (Kontrahenci), na identyfikatorze obiektu 8545, o rodzaju operacji przed usunięciem (BeforeDelete), przez użytkownika o identyfikatorze 119
  • ExtendTran.Main(sql, ETable.Do ,”10816″, EType.C, 1845, 1);
    • Wywołanie akcji na tabeli Do (Dokumenty), na identyfikatorze obiektu 10816, o rodzaju operacji kliknięcie przycisku (Click), o identyfikatorze przycisku 1845, prez użytkownika o identyfikatorze 1

API systemu Business Navigator

Biblioteka Navigator.Model posiada w sobie API (Navigator.Model.API) pozwalające na pobieranie/zapis/modyfikację danych, zawartych w systemie. Do pisania nowych rozwiązań zaleca się korzystanie wyłączenie z metoda zawartych w API.

Podpięcie Navigator.Extension pod aplikację Business Navigator

W celu podpięcia biblioteki pod naszą aplikację, należy zbuildować projekt Navigator.Extensions, a następnie otworzyć jego lokalizację.

Biblioteka do wgrania znajduje się w folderze bin -> Debug

Mając przygotowaną bibliotekę, otwieramy moduł „Ustawienia -> Personalizacja -> Rozszerzenia”, następnie znajdujemy już istniejący plik Navigator.Extensions i go edytujemy, wybierając naszą przygotowaną bibliotekę.

Wersje archiwalne:

5.2-5.7

Menu