server drukarek fiskalnych
systemy:
1.Linux-DosEmu z uprawnieniami root'a w dosemu >= 1.0.2, albo uruchamiane
na konsoli (czyli nie przez telnet, czy VNC)

(przyklad uruchomienia w srodowisku graficznym "z ikony" uruchomieniowej MAGPX:

# start servera - jest specjalny uzytkownik "drfisk", ktory wlacza swoja
# konfiguracje dosemu 1.0.1 z wlaczona tylko pamiecia podstawowa, uruchamiajac
# server drukarek w tle; server drukarek nie daje sie uruchamiac po raz
# wtory, wiec kolejne uruchomienia xterm... natychmiast sie zakoncza
xterm -e su drfisk -c "dos" &
# uruchomienie MAGPX
xdos

protokol dzielenia plikow z MAGPX jest taki, ze moze dzialac nawet free DOS)
2.DOS,Win9x
3.nie sprawdzano, ale powinno dzialac - WinNT/2000 z uprawnieniami admin
obslugiwane:
ELZAB FP 600 i zgodne, POSNET i zgodne
uruchamianie:
FISKSRV plik_konfiguracyjny czas_oczekiwania_ms par1_funkcji_dodatkowej par2_funkcji_dodatkowej
np.
FISKSRV SRVFISK.CFG 1000

wersja DOS:
(nie beda dzialac funkcje dodatkowe kopiowania)
FISKSRV SRVFISK.CFG 1000 C:\FLOPPY A:\
(dodatkowo server kopiowac bedzie pliki pojawiajace sie w katalogu
C:\FLOPPY do katalogu glownego dyskietki A:)

wersja LINUX:
podanie trzeciego parametru zostanie potraktowane tak, ze jest to plik
"logu" programu - jesli pliku nie ma, zostanie zalozony
wersja LINUX sama nie wykrywa, czy serwer jest juz wlaczony, wiec jesli chcemy,
aby bylo wykrywanie, stosujemy uruchomienie za pomoca polecenia "flock"
(uruchomienie np. w xterm, poniewaz serwer wymaga terminala w rozmiarze 80x25:

xterm -iconic +u8 -T 'Serwer drukarki fiskalnej' -fg gray -bg black
 +sb -geometry 80x25 -e "/bin/flock --timeout=0 /home/u25/magpx/fisksrv.lck /home/u25/magpx/fisk_go.sh"

zawartosc skryptu "fisk_go.sh":
/home/u25/magpx/fisksrv /home/u25/magpx/srvfisk.cfg 2000

funkcje:
- paragon
- faktura (dziala tylko na drukarkach zgodnych z POSNET, na ELZAB zamiast niej drukowany jest paragon)
- anulowanie transakcji
- raport fiskalny dobowy
- raport fiskalny okresowy
- wysuwanie szuflady na zadanie operatora
fukcja dodatkowa:
- dziala jako kopiarka danych z podanego, jako trzeci parametr katalogu
do innego katalogu, podanego, jako czwarty parametr, jesli jest to katalog
na dyskietce A:, kopiowanie odbywa sie z weryfikacja; funkcja nie dziala
w przypadku podania parametru 1 programu rownego "*" - patrz nizej
Plik konfiguracyjny w podstawowej wersji (jest w formacie CSV):
2,1,SRVFISK\1,"PARAGON FISKALNY",1,,,,3
1,2,SRVFISK\2,,0,,,,1
kolumny w pliku oddzielone sa przecinkami, moze byc ich 9, minimum wymagane to 5
(jak w powyzszych przykladach).
== pierwsza kolumna to typ drukarki:
  1=ELZAB, 2=POSNET/DUO-PRO, 3=NOVITUS/EMAR-DUO
== druga kolumna to nr COM, do ktorego podlaczona jest drukarka od 1 do 4
(COM musi byc poprawnym COM 1-4, miec ustawiony UART, standardowe przerwanie (3 lub 4),
standardowy port WE-WY; jesli w kolumnie nie ma liczby w przedziale 1-4, 
na przyklad 255 to
uznawane jest, ze jest to tekstowy opis pliku portu, np. /dev/ttyUSB0;
tekstowe definicje portu szeregowego dzialaja tylko dla drukarek
zgodnych z POSNET
== trzecia kolumna to sciezka do pliku wymiany danych z programem MAGPX
== czwarta kolunna to spejalny dopisek na poczatku paragonu
== piata kolumna to czy zainstalowana jest szuflada i czy wysuwac szuflade przed
wydrukiem paragonu (to drugie tylko POSNET)
== szosta kolumna to polecenie pobierajace plik do wydrukowania, np. uruchomienie
programu ncftpget w wersji linuksowej, a
== siodma kolumna to parametry uruchomieniowe tego polecenia
3,1,"1","",0,"/usr/bin/ncftpget","-u uzytkownik -p jego_haslo -V -DD ftp://jakis_serwer/1"
(plik kopiowany jest do katalogu aktualnego z katalogu domowego uzytkownika
"uzytkownik" - jesli chcemy, aby plik byl pobierany z innego katalogu,
trzeba w katalogu uzytkownika zrobic odpowiedni link
nie sa wyswietlane komunikaty, a plik po skopiowaniu jest kasowany na serwerze
ftp)
jesli szosta kolumna jest, "fisksrv" bedzie staral sie uruchomic polecenie
z parametrami z siodmej, jesli sie nie uda, poinformuje o tym
== osma kolumna oznacza sposob komunikacji z drukarka::
4-dump do pliku posnet_out.dmp,3-tylko wysylanie do drukarki
2-brak sprawdzania,1-sprawdz status,0-pelny
== dziewiata kolumna oznacza sposob drukowania NIP nabywcy (o ile wystapi):
0 - nie drukowac, 
1 - przeslanie NIP ELZAB Omega, 
2 - ELZAB w dodatkowych liniach (z numerem systemowym)
3 - std PosnetTH/Novitus przeslanie NIP, 
4 - std PosnetTH/Posnet przeslanie NIP, 
5 - std PosnetTH przeslanie NIP funkcja zakonczenia paragonu z platnosciami (2), 
6 - std PosnetTH z numerem systemowym


jezeli zamiast nazwy pliku konfiguracyjnego param(1) programu bedzie mial
napis XSTERMAGPX , parametr(2) zostanie zinterpretowany jako linia
pliku konfiguracyjnego - pamietamy, ze nie moze miec ona spacji,
wiec konstrukcja 2,1,SRVFISK\1,"PARAGON FISKALNY",1,,,,4
powinna byc zastapiana 2,1,SRVFISK\1,"PARAGON_FISKALNY",1,,,,4
program pobierze polecenie z pliku, wykona, pokaze komunikat
o wykonaniu i zakonczy dzialanie;
taka opcja dzialania zostanie przyjeta, jesli wybierzemy
w konfiguracji MAGPX prace "ze sterowaniem z programu MAGPX",
a nie "samodzielny server drukarek fiskalnych";
w pliku konfiguracyjnym drukarki fiskalnej "numer portu/pliku"
bedzie poprzedzony znakiem "-", choc wpisywany w konfiguracji
port nie moze byc liczba < 0


w konfigurcji MagAD ciag 4 pol CSV, zawierajacy platnosci dla paragonu,
faktury terminowej, terminowej faktury korygujacej i platnosci gotowkowej
jako 4 pole musi zawierac napis " got˘wk", albo nalezy zredukowac ten ciag
do 3 pol - wtedy MagAD sam go uzupelni

DODATKOWO - MagAD moze wykonac komende, obecna w pierwszej linii
pliku konfiguracyjnego konffiss.txt, jezeli wykorzystywany jest serwer
drukarki fiskalnej (zewnetrzny, ale takze uruchamiany jednokrotnie
z poziomu MagAD - patrz informacje nt. XSTERMAGPX).
Tej komendzie podawany jest jako parametr plik, zawierajacy wydruk
fiskalny. Mozna wiec zamiast pobierac z komputera z MagAD, generujacym
plik z wydrukiem (patrz powyzej informacje nt. ncftpget) wysylac takim
skryptem plik do odpowiedniego miejsca na innym komputerze, gdzie
pracuje zewnetrzny serwer drukarek fiskalnych).
