Programowanie w Delphi na przykładzie aplikacji

advertisement
Programowanie w Delphi na przykładzie aplikacji
Archiwum
Tomasz Urbaczewski
Toruń 2011-02-20
Przesłanki do wdrożenia aplikacji
Obecny sposób obsługi archiwum
Kluczowe problemy związane z obecną obsługą archiwum
Planowy sposób obsługi archiwum z wykorzystaniem aplikacji
Przewidywane korzyści związane z wdrożeniem aplikacji
Założenia funkcjonalne aplikacji
Możliwość rejestracji w bazach systemu nowego dokumentu wraz z informacją o miejscu jego
składowania w archiwum papierowym.
Możliwość rejestracji informacji o wypożyczeniach dokumentu z archiwum papierowego (kto
wypożyczył , kiedy został dokonany zwrot itp)
Możliwość wykorzystania zewnętrznej bazy danych zawierającej dodatkowe informacje o
przechowywanym dokumencie (np. dane osobowe klientów umowy która znajduje się w archiwum)
dostęp do tych danych odbywa się poprzez połączenie ODBC
Możliwość wsadowego importu dokumentów do baz danych aplikacji w postaci arkusza Excel
Możliwość wsadowego przekazania zapytania o miejsce składowania wielu dokumentów w postaci
arkusza Excel.
Możliwość aktualizacji w oparciu o systemy księgowe klienta informacji o statusie dokumentu
(czynny, zamknięty) dostęp do tych baz jest realizowany poprzez połączenia ODBC
Możliwość edycji i aktualizacji danych zawartych w bazie danych aplikacji Archiwum.
Możliwość wykonywania raportów z bazy danych z podziałem na umowy zamknięte, czynne,
wypożyczone itd.
Specyfikacja techniczna bazy danych
Baza danych aplikacji oparta jest o bazę MSSQL Express i składa się z dwóch tabel
połączonych relacją. Strukturę tabel przedstawia poniższy diagram
Specyfikacja techniczna i funkcjonalna aplikacji
Aplikacja składa się z modułu logowania oraz pięciu pozostałych modułów
które realizują wcześniej przedstawione założenia funkcjonalne. Na
poniższych slajdach zostały przedstawione opisy funkcjonalne i techniczne
każdego z modułów
Moduł logowania
Logowanie do systemu opiera się o plik konfiguracyjny (.ini) umieszczony w katalogu roboczym
aplikacji zawierający informacje o nazwie i sposobie logowania do serwera bazy danych. Plik
ma poniższą strukturę :
[SERWER]
SerwerName=elix34
DBName=Arch_DAK
NTA=0
Proces logowania jest realizowany przez poniższe procedury

procedure WczytajKonfiguracje;

procedure OpenConnection;
Menu Główne aplikacji – opis funkcjonalny
Menu Główne jest formularzem startowym aplikacji z którego operator ma dostęp do
wszystkich operacji realizowanych ramach programu zgodnych założeniami
funkcjonalnymi. Wizualizację tego formularza przedstawia poniższy rysunek
Menu Główne aplikacji – opis procedur
Tworzenie tego formularza realizowane jest przez standardowe procedury kompilatora
Delphi które wyszczególniono poniżej:






procedure Button1Click(Sender: TObject); - procedura ta zamyka formularz Menu I otwiera
formularz w którym realizowana jest funkcjonalność związana z ręcznym dodawaniem nowej
umowy.
procedure Button5Click(Sender: TObject); - procedura realizuje opcję zakończenia pracy
programu .
procedure Button6Click(Sender: TObject); - procedura ta zamyka formularz Menu I otwiera
formularz w którym realizowana jest funkcjonalność związana z poprawianiem i wypożyczaniem
zarejestrowanej już w aplikacji umowy.
procedure Button3Click(Sender: TObject); - procedura ta zamyka formularz Menu I otwiera
formularz w którym realizowana jest funkcjonalność związana z automatycznym i masowym
wyszukiwaniu informacji o miejscu składowania umów oraz rejestrowaniu informacji o
wypożyczeniu na podstawie arkusza excel.
procedure Button2Click(Sender: TObject); - procedura ta zamyka formularz Menu I otwiera
formularz w którym realizowana jest funkcjonalność związana z automatycznym i masowym
dodawaniem nowych umów oraz aktualizowaniem ich stanów na podstawie danych pobieranych z
systemu klienta.
procedure Button4Click(Sender: TObject); - procedura ta zamyka formularz Menu I otwiera
formularz w którym realizowana jest funkcjonalność związana z tworzeniem raportów związanych z
przechowywanymi w aplikacji umowami.
Dodanie nowej umowy – opis funkcjonalny
Dodanie nowej pozycji archiwizacyjnej
Kontrola wielokrotnego dodania
Aktualizacja statusów umowy przez ODBC
Pobieranie danych klienta przez ODBC
Dodanie nowej umowy – opis procedur
Z technicznego punktu widzenia kluczowe dla niniejszego formularza są poniższe procedury:
procedure Button2Click(Sender: TObject); - procedura ta powoduje zakończenie pracy i zamknięcie
niniejszego formularza oraz otwarcie formularza Menu w celu wyboru kolejnej opcji realizowanej przez
aplikację.
procedure Button1Click(Sender: TObject); - procedura ta sprawdza czy użytkownik wypełnił
wszystkie obowiązkowe pola i jeżeli warunek ten jest spełniony wywołuje procedurę dodaj umowe.
procedure Edit1Exit(Sender: TObject); - procedura ta wywołuje procedurę pomocnicza o nazwie
szukaj _umowe i jeżeli taką umowę znajduje już w bazie danych informuje o tym operatora i przerywa
proces dodawania nowej umowy do bazy danych aplikacji. Dodatkowo jeżeli w bazie nie została
znaleziona taka umowa procedura wywołuje procedurę pomocniczą o nazwie szukaj_umowe_ODBC
która to procedura pomocnicza pobiera z systemu klienta przez połączenie ODBC informacje o statusie
umowy i automatycznie na podstawie tej informacji wypełnia pole status na formularzu.
Procedure dodaj_umowe(nr_umowy,modulo,nazwa_kl,karton,status,weksel,uwaga,
operat, pole1:String; data_oper:TDateTime); - procedura która realizuje proces dodania nowej
umowy na podstawie danych z parametrów procedury do bazy danych aplikacji
Procedure szukaj_umowe(nr_umowy:String); - procedura która na podstawie parametru procedury
wyszukuje w bazie aplikacji umowy o numerze przekazanym w parametrze.
Procedure szukaj_umowe_ODBC(nr_umowy:String); - procedura która na podstawie parametru
procedury wyszukuje przez połączenie ODBC w bazie systemu klienta umowy o numerze
przekazanym w parametrze oraz pobiera informacje o statusie odnalezionej umowy.
Szukanie/Poprawianie/Wypożyczanie dokumentów – opis
funkcjonalny
Wyszukiwanie dokumentów zarejestrowanych w bazie
Poprawianie danych w już zarejestrowanych dokumentach
Prowadzenie ewidencji wypożyczeń i zwrotów dokumentów
Szukanie/Poprawianie/Wypożyczanie dokumentów – opis
procedur
Za realizację funkcjonalności zawartych w tym formularzu odpowiadają poniższe procedury:
procedure Button1Click(Sender: TObject); - procedura ta umożliwia cofnięcie się o jeden rekord w
wyszukanym zbiorze rekordów.
procedure Button2Click(Sender: TObject); - procedura ta umożliwia przeskok do następnego rekordu
w wyszukanym zbiorze rekordów.
procedure Button3Click(Sender: TObject); - procedura ta zatwierdza zmiany dokonane na rekordzie
bazy danych.
procedure Button4Click(Sender: TObject); - procedura ta anuluje zmiany wykonane na rekordzie bazy
danych.
procedure RadioGroup1Click(Sender: TObject); - procedura ta umożliwia wybranie pracy pomiędzy
trybami szukania lub poprawiania rekordów w baize danych.
procedure Button5Click(Sender: TObject); - procedura ta rejestruje w bazie danych aplikacji
informację o wypożyczeniu umowy z archiwum.
procedure Button6Click(Sender: TObject); - procedura ta rejestruje w bazie danych aplikacji
informację o zwróceniu umowy do archiwum.
procedure DBEdit9Exit(Sender: TObject); - procedura ta kontroluje poprawność wprowadzonej daty
związanej z wydaniem umowy z archiwum.
procedure Button9Click(Sender: TObject); - procedura ta powoduje usunięcie z bazy danych wpisu
związanego z wypożyczeniem lub zwrotem umowy.
procedure DBEdit10Exit(Sender: TObject); - procedura ta kontroluje poprawność wprowadzonej daty
związanej ze zwrotem umowy do archiwum.
procedure Button10Click(Sender: TObject); - procedura ta kasuje z bazy danych bieżący rekord
związany z daną umową.
Procedure szukaj_umowe(nr_umowy:String); - procedura która na podstawie parametru procedury
wyszukuje w bazie aplikacji umowy o numerze przekazanym w parametrze.
Procedure szukaj_oper(LP_umowy:Integer); - procedura która wyszukuje w bazie danych informacji o
wypożyczeniach i zwrotach danej umowy na podstawie danych zawartych w parametrze procedury.
Masowe zapytanie o wydanie umowy – opis funkcjonalny
Pobranie z arkusza Excel listy umów.
Zwrócenie informacji o miejscu składowania wcześniej pobranej listy umów.
Zarejestrowanie informacji w bazie danych o wypożyczeniu umów.
Masowe zapytanie o wydanie umowy – opis procedur
Za realizację funkcjonalności w tym formularzu odpowiadają następujące procedury:



procedure Button1Click(Sender: TObject); procedura ta na podstawie
wybranych przez operatora parametrów oraz zewnętrznego źródła danych w
postaci arkusza Excel zawierającego listę umów o które należy odpytać bazę
danych dokonuje takiego odpytania i dodatkowo na tymże arkuszu Excel
umieszcza informację o miejscu składowania umowy dla której było wykonane
zapytanie oraz opcjonalnie dokonuje w bazie danych wpisu informującego o
wypożyczeniu danej umowy.
procedure Button2Click(Sender: TObject); - procedura ta powoduje
zakończenie pracy i zamknięcie niniejszego formularza oraz otwarcie formularza
Menu w celu wyboru kolejnej opcji realizowanej przez aplikację.
procedure FormCreate(Sender: TObject); - jest to standardowa procedura
kompilatora Delphi odpowiedzialna za utworzenie formularza.
Import danych – opis funkcjonalny
Masowy import umów z zewnętrznego źródła danych w postaci arkusza Excel.
Masowa aktualizacja statusów umów z systemu klienta przez połączenie ODBC.
Import danych – opis procedur
Za realizację funkcjonalności w tym formularzu odpowiadają następujące procedury:
procedure Button1Click(Sender: TObject); procedura ta jest odpowiedzialna za
automatyczny i masowy import umów wraz z informacją o miejscu składowania z
zewnętrznych źródeł danych w postaci arkusza Excel.
procedure Button2Click(Sender: TObject); - procedura ta powoduje zakończenie
pracy i zamknięcie niniejszego formularza oraz otwarcie formularza Menu w celu
wyboru kolejnej opcji realizowanej przez aplikację.
procedure Button3Click(Sender: TObject); - procedura ta wywołuje procedurę
pomocniczą o nazwie aktu_status odpowiedzialną za aktualizację statusów umów
zawartych w bazie danych .
procedure FormCreate(Sender: TObject); - jest to standardowa procedura
kompilatora Delphi odpowiedzialna za utworzenie formularza.
Procedure aktu_status(lod,ldo:String); - procedura odpowiedzialna za aktualizację
statusów umów zawartych w bazie danych na podstawie danych pobieranych przez
połączenie ODBC z systemu klienta.
Raporty – opis funkcjonalny
Możliwość wykonywania raportów z danych umieszczonych w bazie danych w szczególności dla
poniższych kryteriów :



Umowy czynne/zamknięte
Umowy wypożyczone
Umowy wypożyczone przez
Raporty – opis procedur
Za realizację funkcjonalności w tym formularzu odpowiadają następujące procedury:
procedure Button1Click(Sender: TObject); - procedura która na podstawie
wybranych przez operatora opcji generuje zestaw rekordów z bazy danych który
następnie jest eksportowany do arkusza Excel i w ten sposób prezentowany
operatorowi na ekranie.
procedure Button2Click(Sender: TObject); - procedura ta powoduje zakończenie
pracy i zamknięcie niniejszego formularza oraz otwarcie formularza Menu w celu
wyboru kolejnej opcji realizowanej przez aplikację.
Instalacja aplikacji
W celu poprawnego działania aplikacji wymagane są następujące ustawienia
systemowe:


Na dowolnym dysku powinien zostać założony katalog aplikacji o nazwie
\Arch_DAK\
W katalogu aplikacji musza się znaleźć następujące pliki
Plik uruchomieniowy aplikacji *.EXE
Plik konfiguracyjny aplikacji *.ini (wskazuje się w nim nazwę serwera i bazy danych
do której ma nastąpić logowanie)


Na serwerze MSSQL wskazanym w pliku INI muszą być założone bazy
danych aplikacji, logowanie do bazy danych odbywa się przy wykorzystaniu
użytkownika DAK ale możliwe jest na każdym innym użytkowniku który ma
wystarczające prawa do obsługi bazy danych w zakresie odczytu , zapisu i
modyfikacji.
W celu wykorzystywania opcji masowego importu lub masowego zapytania
konieczne jest używanie arkusza Excel o określonej strukturze.
Podsumowanie
Automatyzacja i optymalizacja procesów związanych z prowadzeniem archiwum
papierowego.
Zwiększenie bezpieczeństwa przechowywanych dokumentów.
Szybki dostęp do dokumentów archiwalnych.
Przejrzysty sposób zarządzania archiwum.
Zmniejszenie niezbędnych zasobów ludzkich do prowadzenia archiwum.
Dziękuje za uwagę
Download