Temat: ewidencjonowanie faktur i przepływ informacji między...
Tomasz J.:
duzo Ci zaproponowali za ten projekt? jesli tyle ile to jest warte to doradz zeby ktos poszukal jakiegoś rozwiązania workflow na rynku (nawet nie jakieś wypasione, ale przy okazji zakupu marnego softu fin-ksieg mozna takie ułomne rozwiązanie znależć. to tyle zeby CIę do tego zniechęcic.
przerazajaca jest prosba "jak to ugryzc" bo z takim podjesciem sukcesu nie
wróże, a nie oczekuj ze forum odwali za Ciebie kawał ciężkiej roboty.
No, niestety, ale muszę się tutaj z Panem Tomaszem
całkowicie zgodzić.
Sprawa nie jest wcale taka prosta, jak by się mogło wydawać (pozornie), bo w praktyce wyjdą różne dodatkowe rzeczy.
Do tego, ja jako osoba dobrze znająca Accessa z racji pisania takich aplikacji, również zastanawiam się, jak Pan Łukasz chce sobie z tym dać radę skoro oczekuje jakiś sugestii w tej sprawie?
Trzeba od razu wiedzieć, jakie rzeczy da się zrobić w Accessie, a jakich nie i co z tym można zrobić dalej (wykorzystanie funkcji serwera, innych aplikacji itp.).
No a już robienie tego za tzw. "free", to dopuszczalne wyłącznie w ramach np. pracy dyplomowej czy innej tego rodzaju.
1). przy całej mojej wiedzy access nawet w wersji 2007 nie trzyma żadnych pdf
Niezupełnie, Panie Tomaszu. W 2007 można trzymać pliki w załącznikach, a więc tam można podpiąć PDF-a. Jednak nie będzie możliwości wyświetlenia PDF-a bezpośrednio, np. w rekordzie. Trzeba będzie otworzyć załącznik.
Można też wymusić na pracownikach skanowanie pliku i do PDF, i do JPG - bo jak rozumiem będzie się to odbywało w jakimś urządzeniu wielofunkcyjnym (np. w drukarce ze skanerem, podłączonej do sieci), która ma takie możliwości.
Można by było wtedy podpinać plik PDF jako załącznik, a plik graficzny wyświetlany byłby w samym rekordzie, np. w formularzu. Chociaż do zastanowienia jest, czy to w ogóle byłoby potrzebne.
Nawiasem mówiąc, to od razu zastanawiam, jak to będzie z tym skanowaniem faktur przez każdego z pracowników do PDF - z doświadczenia wiem, że ludzie nie radzą sobie z taką czynnością, nawet w urządzeniu wielofunkcyjnym.
Przecież taki skan PDF trzeba gdzieś wysłać, choćby na swój e-mail, aby go móc potem podłączyć. No to od razu pytanie, czy ktoś będzie wiedział, że PDF-a z załącznika trzeba zapisać, aby móc go potem dodać do bazy danych?
Ech, tu jeszcze kwestia ustalenia, gdzie miałyby być te PDF-y przechowywane.
Dalej: jeśli to aplikacja, do której miałby być dostęp dla każdego pracownika, to musi pracować w sieci. To się wiąże z koniecznością umieszczenia odpowiednich danych na jakimś serwerze, a czy w firmie jest serwer?
Prawidłowo również powinno być tak, że same dane powinny być rozdzielone od aplikacji-interfejsu, po to, aby była możliwa wielodostępność, archiwizowanie danych, aby nie zapychać sieci ciągnięciem wielu MB danych itd.
Czyli optymalnie to: baza danych, np. MSSQL Server (np. darmowy Express), Firebird, MySQL, a na każdym komputerze klienckim - baza danych Accessa, która miałaby podłączone tabele z bazy danych na serwerze, z serwerów SQL, jak wyżej wymieniłam.
Łukasz K.:
powinny do niego przychodzić ponaglenia o konieczności
opisania faktury co 24h, jeśli tego nie zrobi od razu
W zasadzie, w Accessie niemożliwe jest, aby stworzyć taki system ponagleń co 24 godziny. Precyzując: musiałaby być gdzieś non-stop otwarta aplikacja, która sprawdzałaby, czy faktura została opisana i wysyłała ponaglenie. Do tego musiałaby zbierać informację o czasie wysyłki ostatniego ponaglenia, aby na podstawie tego - wysłać następne.
Inne rozwiązanie, to sprawdzanie stanu i ewentualne wysyłanie ponagleń, gdy ktoś otwiera aplikację. Ale co, jeśli nikt w ciągu 24 godzin nie otworzy aplikacji? Albo nie będzie dostępu do Internetu (zakładam wysyłkę ponagleń e-mailem)? Zresztą takie ponaglenia powinny być realizowane z serwera.
Być może trzeba by było zrobić osobną bazę danych Accessa na serwerze, która korzystałaby z danych użytkowników, ale jej głównym zadaniem byłoby właśnie weryfikowanie stanów wypełnienia danych i inne tego typu procedury.
Musiałaby być cały czas uruchomiona.
Sprawa delegowania uprawnień do opisywania faktury, to jeszcze więcej pytań i wątpliwości. W jaki sposób nadane uprawnienia miałyby być odbierane? Co, jeśli kierownik wraca z urlopu, a delegował uprawnienie panu X?
Jak zapomni mu odebrać uprawnienie, to co?
Czy może będziemy wpisywać czas urlopu kierownika i z datą powrotu automatycznie wyłączamy uprawnienia panu X? A jeśli kierownik przedłuży urlop albo wróci z urlopu wcześniej?
Tylko do takiej funkcjonalności z tym przeniesieniem uprawnień to cały jeden moduł, chyba najtrudniejszy do realizacji, ze względu na powiązania, możliwe wydarzenia i zdarzenia występujące w rzeczywistości - sedno tkwi w opracowaniu algorytmu, diagramu zależności, a nie w tworzeniu tabel i oprogramowaniu bazy Accessa.
Przy pisaniu takich aplikacji pojawiają się dodatkowe pytania, które powinny być zadane, bo wiele zagadnień będzie miało wpływ na przyjęte rozwiązania, aby nie było komplikacji w przyszłości:
* ilość użytkowników;
* konfiguracje komputerów;
* posiadane wersje aplikacji;
* uprawnienia użytkowników na komputerach klienckich;
* dostęp do sieci, Internetu z komp. klienckich;
* czy profile są w domenie, czy lokalnie;
* dostęp do serwera;
* dostęp do bazy danych SQL;
* jakie oprogramowanie do obsługi poczty jest zainstalowane na komp. klienckich
* i wiele innych...
Np. tutaj ważne byłoby, czy w firmie jest używany Outlook Express, MS Outlook (w której wersji?), czy może np. używany jest Bat, Thunderbird, czy inne oprogramowanie do obsługi poczty - od tego będą zależeć przyjęte rozwiązania, bo jeśli jest mieszanka w firmie, to może się okazać, że pewnej funkcjonalności nie da się zrobić.
Tomasz J.:
zrealizowanie jest mozliwe, ale to dużo pracy, access jest ok generalnie, ale tutaj się malutki trochę wydaje.
To jest możliwe do realizacji, ale trzeba mieć pojęcie o możliwościach Accessa i o jego brakach. Trzeba umieć w takim przypadku znaleźć sprytne rozwiązanie, czasem z wykorzystaniem innego programu.
Trzeba mieć doświadczenie w realizacji już jakiejś aplikacji w Accessie, zwłaszcza pracującej w sieci.
Inaczej można popełnić wiele błędów już na poziomie tworzenia struktury bazy (bardzo częsty błąd), które potem komplikują dalsze działania i np. dodają więcej pracy, zamiast jej odejmować. Często potem okazuje się, że tak naprawdę, to całość trzeba by było od początku przebudować, aby wszystko miało ręce i nogi.
Jeśli Pan Łukasz chciałby realizować ten projekt, to będzie to bardzo trudne, jeśli oczekuje pomysłów na rozwiązanie poszczególnych zagadnień. To czeka Pana, Panie Łukaszu wiele nauki, a i czas na realizację znacznie się wydłuży.
Być może warto rozważyć możliwość współpracy z kimś bardziej obeznanym, zwłaszcza jeśli np. robi to Pan jako jakąś pracę na uczelni.
Ale nie wyobrażam sobie, aby to była praca na zaliczenie, bo to zdecydowanie za dużo roboty, chyba że na początek robimy część funkcjonalności, a rozwijamy całość, np. w ramach dalszych prac zaliczeniowych albo kończymy jako pracę dyplomową.