System do fakturowania pracujący w sieci
Jacek Bonicki - 21-12-2005 12:15
System do fakturowania pracujący w sieci
Witam,
chcę napisać prosty program do wystawiania faktur (żadnego magazynu itd. mi nie potrzeba). Sęk w tym, że ma to pracować w kilku oddziałach połączonych przez Internet (przy czym łącza nie są ani szybkie, ani niezawodne :) Dodatkowo baza klientów oraz baza wystawionych faktur powinna być dostępna z wszystkich oddziałów. Pytanie brzmi jak to najlepiej rozwiązać? Przeglądałem już archiwum i wymyśliłem coś takiego:
1. Każdy oddział ma swój własny serwer z lokalną bazą i własną numerację faktur (np. numer/oddział/rok), dzięki czemu system jest niezależny od podłączenia do internetu (nie występują konflikty w numeracji pomiędzy oddziałami).
2. Każdy serwer dodatkowo przechowuje kopię baz z pozostałych serwerów (read-only) i co jakiś czas ją aktualizuje.
W ten sposób mam dostęp do faktur z wszystkich oddziałów w każdym miejscu (pewne opóźnienie jest dopuszczalne), a jedyny problem jaki pozostaje, to kwestia synchronizacji bazy klientów.
Czy to co wymyśliłem ma w ogóle sens, czy może jest jakiś lepszy sposób? Będę również wdzięczny za wszelkie wskazówki/linki/itp.
pozdrawiam Jacek Bonicki
PS. Czy można wykonywać zapytania łączące dane z dwóch różnych baz (konkretnie chodzi o postgresa)?
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Karlo - 21-12-2005 12:16
Jacek Bonicki wrote: > Witam, > > chcę napisać prosty program do wystawiania faktur [ciach]
Moze troche OT, ale uwielbiam jak ktos pisze, ze chce zrobic "prosty" program do wystawiania faktur. Nie wiem, czy sobie zdajesz sprawe, ale zazwyczaj z tego "prostego" programu robi sie duzy kombajn. Na poczatku robi sie prosty program... Za jakis czas przychodzi pani Gienia, ktora stwierdza, ze sie pomylila. OK, trzeba zrobic fakture korygujaca (a to czesto nie jest takie proste). Pozniej przychodzi pan Zbyszek i stwierdza, ze od dzisiaj wysylamy towar na Ukraine. Trzeba dorobic faktury eksportowe (zarowno do krajow UE i nie-UE). Do tego oczywiscie korekty tych faktur. Dodatkowo dochodza takie smaczki jak np faktura proforma itp. Moja rada (z doświadczenia) zanim zaczniesz robic taki program dobrze go sobie rozplanuj. Skontaktuj sie tez z jakas ksiegowa, itp. Pamietaj, ze faktura jest dokumentem fiskalnym (dochodza rozne stawki podatkowe, etc.)!
Przepraszam, ale mam juz za soba kilka takich "prostych" programow i chcialem sie troche podzielic doswiadczeniem.
Pozdrowka, Karlo
Jacek Bonicki - 21-12-2005 12:16
> Moze troche OT, ale uwielbiam jak ktos pisze, ze chce zrobic "prosty" > program do wystawiania faktur. > Nie wiem, czy sobie zdajesz sprawe, ale zazwyczaj z tego "prostego" > programu robi sie duzy kombajn.
Dokładnie wiem za co się biorę, bo to będzie druga wersja programu (poprzednia po prostu nie oferowała pracy sieciowej), tym samym wymogi mam już dosyć dobrze rozpisane. Poza tym program będzie pisany pod dosyć specyficzne potrzeby :)
Innymi słowy wiem CO chcę, zastanawiam się JAK to osiągnąć. Ale dziękuję za troskę ;)
pozdrawiam Jacek Bonicki
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
ktos - 21-12-2005 12:16
Jacek Bonicki napisał(a): > Witam, > > 1. Każdy oddział ma swój własny serwer z lokalną bazą i własną numerację > faktur (np. numer/oddział/rok), dzięki czemu system jest niezależny od > podłączenia do internetu (nie występują konflikty w numeracji pomiędzy > oddziałami). Tu sprawe masz prosta. Oddzielna numeracje faktur powszechnie stosuje sie nawet w tej samej lokalizacji gdy sa to np. dwa rozne dzialy: sprzedaz wyrobow, sprzedaz uslug.
> > 2. Każdy serwer dodatkowo przechowuje kopię baz z pozostałych serwerów > (read-only) i co jakiś czas ją aktualizuje. > W ten sposób mam dostęp do faktur z wszystkich oddziałów w każdym > miejscu (pewne opóźnienie jest dopuszczalne) Alternatywa jest np. centralna baza zawierajaca faktury z wszystkich oddzialow, dostepna przez przegladarke? Ja przy podobnym problemie (ksiegowanie faktur z oddzialow w programie FK) probowalem rozpoznac kontrahenta po NIP-ie bez kresek + kod pocztowy. Sam NIP nie wystarczy, bo sa molochy typu PKP, ktore maja jeden NIP, ale faktury sa wystawiane na konkretne ich oddzialy, filie. Jesli program nie znalazl pary NIP+kod w centralnej bazie to go dopisywal. Dla firm to zdawalo egzamin. Klopot jest z osobami fizycznymi bo nie musza podawac NIP-u i nie da sie ich jednoznacznie identyfikowac.
Widzialem jeszcze fajniejsze rozwiazanie (nie moje), gdzie program prowadzil podwojna numeracje: - nr centralny - nr oddzialu + nr w oddziale. Program ksiegujacy faktury z oddz. szukal kontrahenta po tym drugim kluczu. Jezeli nie bylo to dopisywal. Jezeli ksiegowe zauwazyly, ze kontrahent jest zdublowany to recznie poprawialy nr centralny. Chwalily to sobie i chetnie wylapywaly te zdublowane pozycje. Program kaskadowo robil zmiany w tabelach gdzie ten nr byl kluczem obcym, w bazie w centrali, oddzialow to nie obchodzilo.
szaman - 21-12-2005 12:16
>2. Każdy serwer dodatkowo przechowuje kopię baz z pozostałych serwerów >(read-only) i co jakiś czas ją aktualizuje. U Ciebie "Lokalne" faktury nie są read-only ? ;-)
W przypadku faktur to masz sprawę załatwioną numeracją ale kontrahentów jeszcze chyba nie?
Nie wiem o jakim serwerze bazy danych myślisz ale przejrzyj dokumentację dotyczącą replikacji (oczywiście zdecyduj się wpierw na taką bazę która posiada coś takiego jak replikacja) - może po tej lekturze na większośc pytań sam sobie odpowiesz. Jak nie to wal śmiało ;-) -- {67B14976-ABB4-4A3B-869B-84B5CCA1F569}
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[PostgreSQL] - jak =?ISO-8859-2?Q?zabezpieczy=E6_interesy_tw?==?ISO-8859-2?Q?=F3rcy_systemu_=3F=3F=3F?=
[foxpro] To =?ISO-8859-2?Q?zachcia=B3o_mi_si=EA_64_bitow?==?ISO-8859-2?Q?ego_systemu__=28XP=29_=3A-=29?=
[postgre]PostgreSQL 8.1 + system plikow
Ksiazka - "Podstawowy =?ISO-8859-2?Q?wyk=B3ad_z_system=F3w_?==?ISO-8859-2?Q?baz_danych=22?=
[oracle][ibm] Zapewnianie transakcyjności na pograniczu MQ SDK z innymi systemami transakcyjnymi.
=?iso-8859-2?q?Zna_si=EA_kto=B6_na_teoretycznej_stronie_proje ktowaini_system=F3w_informatycznych=3F?=
=?iso-8859-2?q?System_szablon=F3w_wg_wymaga=F1_-_porad=BCcie?=
ZLECE WYKONANIE SYSTEMU ZARZADZANIA TRESCIA/Silnik sklepu/Shop Engine
=?iso-8859-2?q?[PRACA]_Poszukiwany_pracownik_z_do=B6wiadczeniem_w_DTP_i_ systemach_Windows?=
=?iso-8859-2?q?=5BD=B3ugie=5D?= javax.transaction.SystemException z hibernate.
zanotowane.pldoc.pisz.plpdf.pisz.plfelgiuzywane.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|