TRAWERS dla Linux - Instalacja i konfiguracja

2007-03-28


1. Wstęp
2. Pakiet Trawers w wersji Linuxowej
3. Różnice pomiędzy Trawers dla Windows a Trawers dla Linux
4. Wymagania sprzętowe i programowe
4.1. Wymagania sprzętowe
4.2. Oprogramowanie
4.2.1. Wybór dystrybucji systemu Linux
4.2.2. Dodatkowe oprogramowanie
4.2.3. System wydruku CUPS
4.3. Wymagana konfiguracja
4.3.1. Polskie znaki
4.3.2. Wymiana plików
5. Instalacja i konfiguracja pakietu Trawers
5.1. Instalacja
5.2. Uruchomienie pakietu
5.3. Konfiguracja serwera
5.3.1. Zabezpieczenie dostępu do danych
5.3.2. Uprawnienia do plików
5.3.3. Parametry drukowania operatora
5.4. Konfiguracja terminali
5.4.1. Terminal z systemem Linux
5.4.2. Terminal z systemem Windows
5.5. Drukowanie
5.5.1. Drukowanie deklaracji PIT w postaci graficznej
5.6. Drukarki fiskalne
5.6.1. Drukarka fiskalna przy serwerze
5.6.2. Drukarka fiskalna na terminalu - metoda bezpośrednia
5.6.3. Drukarka fiskalna na terminalu - metoda bezpośrednia - tunel SSH
5.6.4. Drukarka fiskalna na terminalu - metoda pośrednia
6. Przeniesienie pakietu Trawers z wersji -E (Win/DOS) na wersję -X (Linux)
7. Aktualizacja pakietu Trawers
8. Archiwizacja danych pakietu Trawers
8.1. Dopisywanie skryptu do crona
9. Usuwanie pakietu
10. Przykładowe instalacje pakietu Trawers dla Linux
11. Dane na serwerze linuksowym
A. Pytania i odpowiedzi

1. Wstęp

Linux został zapoczątkowany w 1991 roku przez fińskiego programistę, Linusa Torvaldsa, który stworzył jądro nowego systemu operacyjnego przeznaczonego do pracy z procesorami rodziny 80386 firmy Intel. System od początku jest darmowy i w pełni dostępny dla każdego, kto chce pracować nad jego rozwojem.

Rozwój systemu Linux sprawił, że również producenci oprogramowania użytkowego zwrócili się w jego stronę. Obecnie większość programów dostępnych dla Windows ma już swoje odpowiedniki pracujące w systemie Linux.

Pakiet Trawers firmy TRES jest jednym z nielicznych systemów klasy ERP, które współpracują również z systemem Linux.

TRAWERS, pierwotnie utworzony dla platform DOS, Novell i Windows, został również przeniesiony do platformy LINUX/UNIX. Może pracować na większości dystrybucji LINUXa oraz wielu odmianach UNIXa.

Zobacz także http://www.jtz.org.pl/Html/INFO-SHEET-HOWTO.pl.html

2. Pakiet Trawers w wersji Linuxowej

Trawers w wersji linuksowej pracuje w technologii host-terminal. Oznacza to, że wszystkie operacje (np. wyszukiwanie danych w bazie, rejestrowanie faktur itd) wykonywane są na centralnym komputerze (serwerze), a komputer użytkownika (terminal) służy do wprowadzania znaków z klawiatury oraz wyświetlania danych na monitorze.

Jest to sposób przetwarzania odmienny od pracy w tradycyjnej sieci lokalnej, w której wszystkie przetwarzane dane np. część kartoteki odbiorców, przenoszone są z komputera centralnego (serwera) do pamięci operacyjnej komputera użytkownika (stacji roboczej), tam przetwarzane i z powrotem przenoszone do serwera.

Zastosowanie technologii host-terminal sprawia, że komputery, na których pracują użytkownicy pakietu nie muszą mieć dużych możliwości. Na terminale wystarczy komputer z procesorem 386sx z 4MB RAM. Taką konfigurację można uruchomić z jednodyskietkowej dystrybucji Linuksa (np. Pocket Linux http://pocket-linux.sourceforge.net/), czy na stacjach bezdyskowych LTS: http://www.ltsp.org.

Obecna wersja pakietu Trawers kompilowana jest dla bibliotek Linux Glibc-2.1,2.2. Plik wykonywalny tworzony jest w formacie ELF. Jest to format pliku obsługiwany od wersji jądra 2.0.XX.

Dostepna jest wersja demo on-line pakietu Trawers. Parametry połączenia:

  • protokol: SSH

  • serwer: "www.tres.pl"

  • login: "trestest"

  • haslo: "tres987"

Dla pracy w systemie Windows można użyć programu PuTTy, który także jest zawarty w instalatorze połączenia dostępnym na stronach www.tres.pl.

Po zalogowaniu na serwer, automatycznie uruchamiany jest pakiet Trawers.

3. Różnice pomiędzy Trawers dla Windows a Trawers dla Linux

Interfejs oraz funkcjonalność pakietu jest identyczna na wszystkich platformach systemowych. Istnieją drobne różnice w obsłudze klawiszy funkcyjnych. Inaczej realizowane są wydruki oraz fiskalizacja.

Notatka

Dokładne informacje na temat zmian klawiszy stosowanych w systemie Linux podane są w dokumecie Wygląd i obsługa pakietu Trawers .

Pod względem szybkości działania, pakiet Trawers zdecydowanie szybciej pracuje w wersji linuxowej. Wynika to z faktu, że:

  • rozwiązania programowe, zawarte w kompilatorze języka dla Linux, są znacznie wydajniejsze niż w wersji dla Windows/DOS.

  • technologia pracy klient-host istotnie wpływa na szybkość działania.

    Program nie jest uruchamiany indywidualnie na każdej końcówce sieci (tak jak w wersji DOS/Windows) lecz na serwerze, na którym wykonywane jest przetwarzanie, a do klienta przesyłane są tylko zmiany wyglądu ekranu.

Inne różnice (niezauważalne dla użytkownika):

  • wersja dla Linux (-X) wymaga baz .DBF niekodowanych (nieszyfrowanych). Od maja 2004 wersja pakietu Trawers z kodowanymi bazami danych (wersja -k) nie jest rozwijana i w nowych wydaniach pakietu obowiązują bazy niekodowane - różnica dotyczy zatem jedynie starszych wersji pakietu Trawers -k;

  • wersja dla Linux (-X) pracuje na takich samych zbiorach .DBF i .DBT, jak wersja dla DOS/Windows. Używa także tych samych zbiorów indeksowych .NTX. Przeniesienie danych z Windows/DOS do Linux wymaga więc jedynie zmiany nazw plików tak by były zapisane wyłącznie z małych liter.

  • w wersji dla Linux symbole identyfikujące zapisy w kartotekach, np. indeks pozycji magazynowej, symbol kontrahenta itp. muszą być wpisywane wielkimi literami. Nie jest to odczuwalne dla użytkownika, ponieważ oprogramowanie samo "wymusza" wielkość liter.

Więcej na ten temat przeczytać można w rozdziale "Przeniesienie pakietu Trawers z wersji -E (Win/DOS) na wersję -L (Linux)"

4. Wymagania sprzętowe i programowe

4.1. Wymagania sprzętowe

Konfigurację serwera należy dobrać indywidualnie do przewidywanych potrzeb, przy czym podstawowymi kryteriami są:

  • planowana wielkość rejestrowanych/przetwarzanych danych,

  • liczba jednocześnie pracujących terminali.

Wersja Linuksowa pakietu ma nieduże zapotrzebowanie na moc procesora. W małych instalacjach (5 stanowisk) wystarczający jest procesor klasy Pentium II, w większych - Pentium III lub lepszy.

Podczas wyboru procesora należy przewidzieć także możliwość dołożenia drugiego procesora. Jest to przydatne wtedy, kiedy możliwości jednego procesora okażą się niewystarczające, co objawi się spowolnieniem w przetwarzaniu danych.

Twarde dyski standardu IDE są wystarczające do pracy z danymi o średniej wielkości. W przypadku pracy z danymi o dużej objetości najlepiej wyposażyć serwer w dyski SCSI. Dyski te w szczególności usprawniają wykonywanie funkcji pakietu obejmujących dane z wielu miesięcy. Dane można okreslić jako "duże", gdy rozmiar zbioru dokumentów miesięcznych przekracza 100 MB.

Jesli chodzi o pamieć RAM, to generalna zasada jest prosta: im wiecej tym lepiej. Pamięci powinno być co najmniej tyle, aby system nie musiał korzystać z pamięci swap, co spowalnia proces przetwarzania. Stosowane w instalacjach pojemności pamięci zawierają się w granicach 0.5 - 1 GB RAM.

Praca w sieciach rozległych wymaga przeprowadzenia indywidualnej analizy dla każdej instalacji. Dobór łączy jest uzależniony od natężenia pracy i ilości stanowisk w oddalonych oddziałach, a przede wszystkim od możliwości technicznych dostawcy usług teletransmisyjnych. Można przyjąć, że na jednym łączu SDI (łącze oferowne przez TP SA o przepustowości 115,2kBps) może stabilnie pracować około 3-4 terminali.

Dla większej liczby osób pracujących na jednym łączu, należy stosować szybsze łącza np. 256kBps.

Dla bezpieczenstwa danych można połączyć centrale z oddziałem poprzez VPN (Virtual Private Network). Pracując z pakietem Trawers przez sieć Internet, należy stosować szyfrowane połączenie SSH. Ze względu na to, że zdalne drukowanie oraz fiskalizacja nie są szyfrowane, zaleca się korzystanie z szyfrowanych wirtualnych tuneli pomiedzy centralą a oddziałami.

Jako routery służyć mogą komputery z zainstalowaną kartą WAN dla połączenia Frame Relay, lub łączem szeregowym w przypadku połączenia SDI.

Na routerze powinny być skonfigurowane nastepujące usługi: firewall, masqarada, lpd, samba, ssh (ewentualnie vtund).

Jako zdalne stacje robocze wykorzystać można komputery z dowolnym systemem operacyjnym, który umożliwia uruchomienie programowego emulatora terminala. Dla systemu Windows może to być np. PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/).

Można wykorzystać także terminale sprzetowe, jak np. WYSE 55ES.

4.2. Oprogramowanie

4.2.1. Wybór dystrybucji systemu Linux

Pakiet przetestowany został z różnymi popularnymi dystrybucjami: Fedora, Mandriva oraz w szczególności SUSE Linux Enterprise

Przy wyborze dystrybucji Linuksa należy kierować się znajomością danej dystrybucji, jej bezpieczeństwem oraz dostepnością pomocy technicznej.

Należy używać wyłącznie stabilnych wydań dystrybucji. Wersje testowe (alfa, beta) nie mogą być używane w instalacji ze względu na to, iż nie gwarantują stabilności systemu a tym samym mogą spowodować uszkodzenie i niespójność danych Pakietu Trawers.

Dystrybucje 64 bitowe

Pakiet Trawers poprawnie pracuje w środowisku 32 bitowym uruchamianym na procesorach 32 i 64 bitowych (AMD64)

Obecnie Pakiet Trawers nie wspiera pełnego 64 bitowego środowiska tzn. dystrybucjli Linuksa skompilowanej dla architektury AMD64 uruchamianej na procesorze AMD64.

4.2.2. Dodatkowe oprogramowanie

Do prawidłowej pracy pakietu Trawers wymagane jest zainstalowanie nastepującego oprogramowania:

ncurses, terminfo

obsługa operacji ekranowych terminali

LPRng lub CUPS

podsystemy drukowania

openssh-server

w ramach pakietu dostępny jest serwer sshd (do którego mogą łączyć się klienci ssh).

SSH (Secure SHell) to protokół służący do logowania się na zdalny serwer i uruchamiania na nim aplikacji. Jest to bezpieczne, szyfrowane połączenie pomiędzy terminalem a serwerem.

Wymienione programy dostarczane są w ramach standardowych dystrybucji systemu Linux.

4.2.3. System wydruku CUPS

The Common UNIX Printing System ("CUPS") jest nowoczesnym, zaawansowanym systemem drukowania przeznaczonym dla systemow Linux oraz UNIX.

Konfigurację CUPSa można przeprowadzić między innymi z poziomu:

  1. linii poleceń,

  2. interfejsu WWW (przeglądarka www),

  3. narzędzia printerdrake (Linux Mandrake).

Więcej na temat systemu CUPS przeczytać można w dokumentach:

4.2.3.1. Konfiguracja CUPS z lini poleceń

Ogólna postać polecenia konfiguracyjnego jest nastepująca:

# /usr/sbin/lpadmin -p printer -E -v device -m ppd ENTER

gdzie:

printer - nazwa drukarki, np.: DeskJet
device - port drukarki, np.: parallel:/dev/lp0 lub ipp://192.168.1.100/ipp
ppd - sterownik ppd uzywany przez system CUPS, np.: deskjet.ppd

Przykład 1. Przykład polecenia dodającego drukarkę HP DeskJet 610CL podłączoną do portu równoległego serwera

# /usr/sbin/lpadmin -p DeskJet -E -v parallel:/dev/lp1 -m deskjet.ppd
4.2.3.2. Konfiguracja CUPS przez przegladarkę WWW

Korzystając z dowolnej przegladarki WWW można skonfigurować system CUPS, podąc adres:

http://adres_komputera:631

gdzie "adres_komputera" to adres IP lub URL komputera, na którym działa serwer CUPS, a 631 to standardowy numer portu, na którym on działa, np.:

http://localhost:631
http://192.168.1.100:631

Zarządzanie drukarkami obsługuje opcja "Manage Printers" (lub "Printers" w górnym menu).

Dodawanie drukarek obsługuje opcja "Add Printer". Po jej wybraniu, na kolejnych formularzach podaje się dane drukarki.

Name

nazwa drukarki, np. "hp4000",

Description

opis drukarki, np. "Drukarka #1" (opcjonalnie),

Location

lokalizacja drukarki, np. "Dział handlowy".

Device

Sposób połączenia z drukarką.

  • Jeżeli komputer ma bezpośrednie połączenie z drukarką poprzez port równoległy LPT, należy wybrać "Paraller Port #1",

  • Jeżeli drukarka podłączona jest do komputera z systemem Windows, należy wybrać "Unknown Network Device (smb)" - połączenie przez Sambę,

  • Jeżeli drukarka podłączona jest do innego komputera z systemem Linux, należy wybrać "Internet Printing Protocol (ipp)".

Device URI

Jeżeli konfigurowane jest zdalne połączenie z drukarką, należy podać adres komputera, do którego jest ona przyłączona.

  • przy połączeniu z komputerem z systemem Windows (Samba), ogólna postać tego adresu jest nastepująca:

    smb://uzytkownik:haslo@grupa_robocza/komputer/drukarka
    "Grupa_robocza" jest wymagana tylko, gdy komputer z drukarką znajduja się w innej grupie roboczej.
    Gdy drukarka udostepniana jest bez hasla w systemie Windows 95/98, wystarczy podać: smb://serwer/drukarka
    Dla Windows NT/2000/XP zawsze wymagane jest podanie uzytkownika i hasla (oczywiscie uzytkownika zalozonego na komputerze z drukarka): smb://uzytkownik:haslo@serwer/drukarka
  • przy połączeniu z komputerem z systemem Linux (połączenie przez ipp), należy podać adres w postaci

    ipp://adres_komputera/drukarka
Make

Producent drukarki, np. "HP"

Model

Model drukarki, np. "HP LaserJet Series CUPS v1.1"

Notatka

W niektórych sytuacjach, drukarki (np. drukarki igłowe OKI) pracują poprawnie tylko w trybie RAW. W ustawieniach drukarki należy wówczas podać:

Make: RAW
Model: RAW Queue
4.2.3.3. Konfiguracja automatyczna przy użyciu narzędzia printerdrake (Linux Mandrake)

Po uruchomieniu programu (z menu lub przy użyciu polecenia "printerdrake"), można dodać nową drukarkę, korzystając z funkcji "Dodaj nową drukarkę". System może automatycznie wykryć wszystkie drukarki podłączone do komputera oraz drukarki dostępne w sieci.

4.3. Wymagana konfiguracja

4.3.1. Polskie znaki

Pakiet Trawers wykorzystuje kodowanie polskich znaków w standardzie ISO-8859-2, ale pracuje również poprawnie z konsolą w UTF-8.

Polskie znaki na klawiaturze i na ekranie w systemie Linux uzyskuje się po zainstalowaniu pakietu kbd, który standardowo jest zainstalowany w każdej dystrybucji. W pliku /etc/sysconfig/i18n należy ustawić:

LANG="pl_PL" 

W pliku /etc/sysconfig/console ustawić:

CONSOLEFONT=lat2u-16 
KEYTABLE=pl2 

W niektórych dystrybucjach (np. Fedora Core) klawiaturę definiuje się w pliku/etc/sysconfig/keyboard:

KEYTABLE="pl" 
KEYBOARDTYPE="pc"  

Dodatkowe informacje: http://www.jtz.org.pl/Html/Keyboard-HOWTO.pl.html

4.3.2. Wymiana plików

Istnieje możliwość wymiany plików pomiędzy serwerem a terminalem. Realizowane jest to przez udostepnianie katalogów pakietu Trawers przez Sambę lub FTP.

Na potrzeby takiego udostepnienia stworzone zostały katalogi:

natres4\nainout

dla wymiany danych pomiędzy serwerem a drukarką fiskalną podłączoną do terminala

pmtres4\pminout

dla pobierania raportów z pakietu Trawers

5. Instalacja i konfiguracja pakietu Trawers

5.1. Instalacja

Instalację pakietu Trawers uruchomić można przy użyciu skryptu install.sh, który dostarczany jest na nośniku instalacyjnym.

Instalację należy przeprowadzić jako użytkownik root.

Po zalogowaniu do systemu i przejściu do katalogu, gdzie zamontowany jest napęd CD, wystarczy wydać polecenie

# ./install.sh

Skrypt spowoduje rozpakowanie do katalogu /tmp/ zasobów niezbędnych do rozpoczęcia instalacji oraz uruchomienie skryptu instalacyjnego.

Dokładna instrukcja instalacji (krok po kroku) opisana jest w osobnym dokumencie.

Podczas instalacji wykonywane są następujące czynności:

  • zakładana jest grupa i użytkownik "trawers",

  • we wskazanym miejscu tworzony jest katalog "$DIR/trawers", gdzie $DIR jest nazwa katalogu glownego, np. / lub /opt,

  • w katalogu "$DIR/trawers" zakładana jest struktura katalogów pakietu:

    • dane - pliki pakietu Trawers,

    • dok - dokumentacja pakietu (plik główny: index.htm),

    • nowe - zawiera katalogi z danymi umożliwiającymi łatwą aktualizację pakietu,

      • exe

      • help

      • tabele

      • wzorce

    • tools - katalogi z plikami narzędziowymi, między innymi:

      • linux - programy narzędziowe dla linuxj

  • do katalogu "/usr/bin" kopiowane są wymagane przez pakiet skrypty (plconv, filtr, wydruk.ekran, wydruk),

  • do katalogu "/usr/lib/terminfo/f" dodawane są definicje terminali FlagShip,

  • do katalogu "/usr/lib" kopiowana jest biblioteka libFlagShip.so,

  • w katalogu "/usr/bin" tworzone są skrypty startowe uruchamiające pakiet Trawers ($prefix oznacza prefix nazw skryptów zdefiniowany podczas instalacji, domyślnie - trawers4):

    /usr/bin/$prefix - uruchomienie Trawersa na konsoli Linux
    /usr/bin/$prefixw - uruchomienie Trawersa na termianlu Windows (Putty)
    /usr/bin/$prefixwyse - uruchomienie Trawersa na termianlu Wyse 55
    /usr/bin/$prefixman - dokumentacja pakietu
    /usr/bin/dbu - uruchomienie dbu z konsoli Linux
    /usr/bin/dbuw - uruchomienie dbu z termianla Windows (Putty).

Po zainstalowaniu należy jako root ustalić hasło użytkownikowi trawers:

# passwd trawers
New password: 
Re-enter new password: 
Password changed 

Pakiet należy uruchamiać jako użytkownik trawers.

Uruchomienie jako root spowoduje, że stanie się on właścicielem przetwarzanych plików. W takim przypadku po ponownym uruchomieniu jako trawers, system zgłaszał bedzie błędy zwiazane z otwieraniem zbiorow.

Aby przywrócić plikom pakietu użytkownika i grupę trawers, należy przejść do katalogu, w którym zainstalowano pakiet, np:

# cd /trawers  

i wykonać (będąc użytkownikiem root) polecenie:

# chown -R trawers:trawers *

5.2. Uruchomienie pakietu

Aby uruchomić pakiet Trawers dla Linux, wystarczy wydać komendę:

# {trawers4}     - konsola tekstowa 
# {trawers4}w    - konsola tekstowa w srodowisku X window
# {trawers4}wyse - uruchomienie na terminalu sprzetowym Wyse 55ES

gdzie {trawers4} to prefix nazwy skryptu uruchamiającego, zdefiniowany w trakcie instalacji pakietu.

W przypadku stacji roboczych pracujacych pod Windows konieczne jest najpierw uruchomienie programu komunikacyjnego np. PUTTY.

5.3. Konfiguracja serwera

5.3.1. Zabezpieczenie dostępu do danych

Instalacja Pakietu Trawers na serwerze z systemem Linux pozwala zabezpieczyć dostęp do danych pakietu na 3 poziomach.

  1. Ograniczenie dostępu do serwera

    Podstawowe zabezpieczenie wynika z cechy systemu Linux, który pozwala na zdalny dostęp do serwera tylko tym użytkownikom, którzy mają na nim swoje konta. Dostęp do serwera wymaga podania nazwy oraz hasła.

    Konfigurując serwer linuksowy do współpracy z Pakietem Trawers zarządzanie użytkownikami można zrealizować na różne sposoby, np:

    • jest tylko jeden użytkownik 'trawers'

      wtedy wszyscy operatorzy Pakietu logują się do serwera jako użytkownik 'trawers'

    • jest tylu użytkowników ilu operatorów w Pakiecie Trawers

      każdy operator ma swoje konto na serwerze. To rozwiązanie daje większe możliwości personalizacji.

    Z punktu widzenia Pakietu Trawers organizacja użytkowników serwera nie jest istotna. Zależy raczej od indywidualnych preferencji administratora systemu.

  2. Ograniczenie dostępu do powłoki systemu

    Normalnie, po zalogowaniu, użytkownik ma dostęp do konsoli serwera (zwykle jest to powłoka bash). Może więc wykonywać różne polecenia na systemie plików. Mimo, iż odbywa się to w ramach posiadanych uprawnień, może być jednak źródłem potencjalnych problemów.

    Aby wyeliminować powyższe zagrożenie, można skonfigurować serwer tak, by po zalogowaniu, użytkownikowi automatycznie uruchamiał się Pakiet Trawers, a po zakończeniu pracy automatycznie się wylogowywał.

    Technicznie zmiana polega na zastąpieniu w pliku /etc/passwd ścieżki do powłoki, np. /bin/bash wywołaniem skryptu uruchamiającego Trawers, np. /usr/bin/trawers5. W niektórych instalacjach, zamiast bezpośredniego wywołania Pakietu Trawers, użytkownik ma do dyspozycji menu startowe, z którego może wykonać także inne operacje. Menu takie przygotowują administratorzy zależnie od potrzeb danej firmy.

  3. Ograniczenie dostępu do danych Pakietu Trawers

    W systemie Linux, każdy plik ma określonego właściciela i grupę, do której należy. Uprawnienia do czytania, zapisu i wykonywania plików określa się dla:

    • właściciela

    • grupy

    • pozostałych

    Wszystkie pliki danych Pakietu Trawers należą do grupy 'trawers'. Domyślne uprawnienia do tych plików, nadawane podczas instalacji, zezwalają na dostęp do danych tylko użytkownikom należącym do grupy 'trawers'.

Z powyższego widać, że mechanizmy uprawnień wbudowane w system Linux gwarantują bezpieczne użytkowanie Pakietu Trawers.

5.3.2. Uprawnienia do plików

Wszyscy użytkownicy, ktorzy maja pracować z pakietem Trawers, powinni należeć do grupy trawers i grupa ta powinna być ich grupą podstawową.

Każdy z tych użytkowników powinien mieć ustawioną maskę praw dostępu dla nowo tworzonych plików (umask) na 002, tzn. uprawnienia dla użytkownika i grupy takie same, pozwalające na odczyt i zapis plików. Można stosować bardziej restrykcyjne ustawienia np. 117.

Najlepiej ustawić te parametry w pliku .bash_profile podając umask -S 002 (plik .bash_profile znajduje się w katalogu głównym użytkownika).

5.3.3. Parametry drukowania operatora

Informacje na temat konfiguracji poleceń wydruku w systemie Linux zawarte są w rozdziale Drukowanie.

Parametry drukarki oraz polecenie wydruku dla operatora ustawia się w menu "Pomocnicze" systemu AD-TRES w funkcji "Trawers->Parametry aktywnego operatora->Parametry drukowania"

Wybranie pozycji "Port drukarki (kierunek wydruku)" pozwala na wprowadzenie do 6 polecen wydruku dla operatora.

W definicji polecenia wykorzystać można następujące zmienne:

&zbior& - nazwa drukowanego zbioru (nazwa systemowa)
&opemail& - e-mail operatora (pobierany z parametrów operatora)

Przykładowe polecenie drukowania:

lpr -P lp &zbior&

polecenie wysyła wydruk na drukarkę zdefiniowana jako lp

cat &zbior&| plconv LAT ISO | lpr -P lp

polecenie konwertuje polskie znaki ze standardu IBM Latin2 na iso-8859-2 i drukuje na drukarkę lp

cat &zbior&| plconv LAT ISO | txt2html| html2ps| lpr -P lp

konwersja PL-znaków, zamiana na html, z html na postscript i wydruk na drukarkę lp. Programy txt2html i html2ps muszą być zainstalowane

cat &zbior& | plconv LAT WIN | a2ps| lpr -P lp

konwersja PL-znaków, zamiana z tekstu na na postscript i wydruk na drukarkę lp. Program a2ps musi być zainstalowany

cat &zbior& | plconv LAT ISO | mail -s "Temat listu" serwis@tres.pl

wysłanie wydruku przez e-mail pod adres serwis@tres.pl

smbclient //host/drukarka -N -P -c "translate; print &zbior&"

wydruk na drukarce sieciowej udostępnionej na stacji z systemem Windows

wydruk.laser &zbior&

wykonanie skryptu drukującego na drukarce laserowej

wydruk &zbior&

skrypt 'wydruk' przeznaczony jest do drukowania przez terminal np. PuTTY. Przełącza on tryb pracy terminala z Ekranu na Drukarkę i przesyła do niej &zbior& z wymaganą konwersją PL-znaków.

Aby zmienić standard PL-znaków, w skrypcie 'wydruk' należy odpowiednio ustawić zmienne STD1 i STD2. Opis znajduje się bezpośrenio w skrypcie 'wydruk'. (patrz też rozdział "Konfiguracja terminali").

/usr/bin/wydruk.cups DRUKARKA &zbior&

gdzie DRUKARKA jest nazwą drukarki zdefiniowanej w systemie CUPS.

Skrypt wydruk.cups przeznaczony jest do drukowania poprzez system wydruku CUPS i może mieć następującą postać:

   #!/bin/sh
   cat $2 | plconv LAT ISO | filtr | lpr -P $1

W niektórych sytuacjach może być konieczne dodanie do polecenia lpr parametru -oraw (lub -l), który oznacza, że zbiór tekstowy jest juz sformatowany do wydruku i powinien zostać wysłany do drukarki bez filtrowania:

   #!/bin/sh
   cat $2 | plconv LAT ISO | filtr | lpr -oraw -P $1

gdzie:

plconv - skrypt konwertujacy polskie znaki: konieczny, gdy drukarka pracuje w innym standardzie niz LAT (cp852). Język PCL zawiera polecenia przełączania stron kodowych: http://trawers.tres.pl/pcl.html
filtr - skrypt zamieniajacy znak konca linii UNIX-owy na DOS-owy (aby wyeliminować efekt schodków)

Przykład 2. Przykładowe polecenie

/usr/bin/wydruk.cups hp4000 &zbior&

Więcej na temat systemu wydruku CUPS opisano w rozdziale "System wydruku CUPS"

nprint -N &zbior&

wydruk na drukarce udostępnionej przez Novell Netware.

W pliku ~/.nwclient powinnien znajdować się wpis dotyczący logowania do Netware, zawierający nazwę serwera, login oraz hasło użytkownika, na przykład:

SERWER/LOGIN haslo

Plik musi mieć prawa dostępu 600 (zapis i odczyt tylko przez właściciela).

5.4. Konfiguracja terminali

5.4.1. Terminal z systemem Linux

Połączenie z serwerem realizowane jest przez program ssh, np.:

# ssh trawers@firma.pl

Również polecany przez nas program putty jest dostępny dla platformy Linux (w trybie okienkowym).

5.4.1.1. Instalacja oraz konfiguracja PuTTy dla Linux/Unix
  1. Program Putty dla Linuksa można pobrać w postaci źródłowej ze strony http://the.earth.li/~sgtatham/putty/0.55/putty-0.55.tar.gz

  2. Pobrany zbiór należy rozpakować do dowolnego katalogu , na przykład /home/user/src/putty:

    # tar zxf putty-0.55.tar.gz
  3. Następnie należy przejść do katalogu putty i wykonac polecenie make z parametrem wskazującym na plik Makefile.gtk:

    # cd putty
    # make -f Makefile.gtk

    Do zbudowania programu wymagane są biblioteki GTK oraz ich wersje devel. Na przykład w dystrybucji Debian wymagane sa biblioteki libgtk1.2-dev, na RedHat i podobnych libgtk+1.2-devel, w przypadku Slackware pliki nagłówkowe i sama biblioteka jest w jednej paczce gtk+-1.2.10-i386-3 (Slackware 9.1).

    Bez biblioteki GTK+ można skompilować tylko programy konsolowe (PSCP, PSFTP, Plink, PuTTYgen).

  4. Po skompilowaniu programu należy wykonać polecenie instalacji programu (jako użytkownik root):

    # su root //należy wpisać hasło użytkownika root
    # make -f Makefile.gtk install

    Jeżeli w trakcie instalacji dokumentów pomocy (man) system wyświetli komunikat: install:

    nie można utworzyć zwykłego pliku `/usr/local/man/man1/plink.1':

    No such file or directory

    należy utworzyć katalog /usr/local/man/man1 poleceniem:

    # mkdir -p /usr/local/man/man1
  5. Jeśli wszystko przeszło pomyślnie, program jest już gotowy do użycia.

Konfiguracja PuTTy:

5.4.1.2. Konfiguracja PuTTy dla Linux/Unix

Konfiguracja PuTTy pod Linuksem jest niemal identyczna jak dla PuTTy pod Windows:

  • Protocol

    • SSH (dla polaczen szyfrowanych) - port 22

  • Keyboard

    • The Backspace key - Control-H

    • The Home and End keys - Standard

    • The function keys and keypad - Linux

    • Initial state of cursor keys - Normal

    • Initial state of numeric keypad - Normal

  • Windows

    • Row - 25

    • Column - 80

    • Font use in the terminal window (Window/Fonts) - misc-fixed-medium-r-semicondensed-*-*-120-*-*-c-*-iso8859-2

    • Character set translation (Window/Translation) - ISO-8859-2

5.4.2. Terminal z systemem Windows

Do połączenia z serwerem wykorzystuje się programowy emulator terminala, np, program PuTTY.

Konfiguracja programu PuTTY do współpracy z pakietem Trawers:

Przyklady konfiguracji programu Putty znajduja sie na serwerze w katalogu ftp://ftp.tres.pl/tools/putty/

Dodatkowo, gdy drukowanie zdalne odbywać się będzie przez terminal PuTTY. Wówczas jako polecenie drukowania należy w Trawersie ustawić:

  • Terminal
  • 5.5. Drukowanie

    W systemie Linuks drukowanie zrealizować można w trybach:

    1. serwer > drukarka przy serwerze - (c)

    2. serwer > zdalny serwer LPRng

    3. serwer > drukarka w sieci lokalnej (Samba) - (b)

    4. serwer > drukarka w sieci lokalnej (Novell)

    5. serwer > drukarka na routerze

    6. serwer > drukarka za maskaradą (routerem)

    7. serwer > drukarka 0202122 (wdzwanianie)

    8. serwer > drukarka przy terminalu przez emulator terminala

    9. drukarka przy terminalu (linux) - (a)

    Szczegóły: http://www.jtz.org.pl/Html/Printing-HOWTO.pl.html

    Przykładowe polecenia drukowania przedstawione są w rozdziale Konfiguracja.

    Do robienia wydruków w Linuksie warto wykorzystać system drukowania CUPS. Dzięki dostępnym narzędziom, można skonfigurować połączenie z drukarką dla przypadków:

    1. Drukarka przy terminalu z systemem Linux (i)

    2. Drukarka w sieci lokalnej przy terminalu z systemem Windows (c)

    3. Drukarka przy serwerze (a)

    Dalsze informacje na temat systemu CUPS podane są w rozdziale Oprogramowanie - System wydruku Cups.

    5.5.1. Drukowanie deklaracji PIT w postaci graficznej

    Nalezy wykorzystac wersje -X z CUPS, ktora umozliwia wydruk do PDF oraz na drukarkach w trybie graficznym.

    5.6. Drukarki fiskalne

    W wersji linuksowej pakietu Trawers dostępne są trzy metody fiskalizacji:

    1. na serwerze

    2. na terminalu - bezpośrednia

    3. na terminalu - bezpośrednia - tunel SSH

    4. na terminalu - pośrednia

    Wybór metody zdalnej fiskalizacji zależy od typu sieci i przepustowości łączy. Dla sieci lokalnej zalecana jest metoda bezpośrednia, zaś dla rozległej - pośrednia.

    W każdym z powyższych przypadków należy upewnić się, że na komputerze, do którego podłączona jest drukarka fiskalna są udostępnione porty szeregowe przez BIOS komputera.

    W zależności od wersji, w BIOS powinny znajdować się następujące wpisy:

    w Menu: Advanced -> Peripherial Configuration

                   Serial Port A        [Enabled]
                      Base IO Addres    3F8
                      Interrupt         IRQ4

    lub

    w Menu: Integrated Peripherals

                   Onboard Serial Port 1: 3F8/IRQ4

    5.6.1. Drukarka fiskalna przy serwerze

    Aby umożliwić użytkownikom innym niż root pracę na drukarce fiskalnej, należy wykonać następujące komendy:

       # chmod u+s tr4x.exe
       # chown root tr4x.exe
       # chgrp trawers tr4x.exe

    Spowoduje to, że Trawers będzie zawsze podawał użytkownika root jako swojego właściciela. Z kolei użytkownicy grupy trawers będą mogli ten program uruchamiać i za jego pośrednictwem drukować na drukarce fiskalnej.

    Porty szeregowe są czesto zajmowane przez inne programy, jak np. gpm służący do obsługi myszki. Aby zwolnić docelowy port szeregowy z tych procesow, należy użyć komendy

    # ps -e| less

    Komenda ta pokaże wszystkie procesy, które obecnie działają. Procesy zajmujące porty szeregowe można rozpoznać po atrybucie "ttyS0", "ttyS1" itd. lub "cua0", "cua1" itd.

    Należy spisać PID (pierwsza kolumna), czyli numer identyfikujący proces i zakończyć ten proces za pomoca komendy "kill" z parametrem numeru procesu PID.

    Przykład 3.

    Jeżeli komenda "ps" zwróciła proces z numerem PID 3586, należy wydać polecenie

    # kill -9 3586

    Szybkość transmisji portu musi być ustawiona na 115200 bodów.

    Przy niższych prędkościach może wystąpić brak reakcji ze strony kasy fiskalnej.

    Ustawienia portu szeregowego można obejrzeć komendą "setserial /dev/ttyS1 -a" (przykład dla portu nr. 2).

    Składnia poleceń oraz dostępne opcje programu setserial dostępne są w podręczniku systemowym ("man setserial").

    Ustawienia parametrów drukarki fiskalnej przypisanej do operatora dokonuje się w systemie NA w menu "Sprzedaż->Drukarka fiskalna->Parametry drukarki i inne funkcje pomocnicze operatora".

    Należy pamietać, że program NA-TRES posługuje się DOSowym nazewnictwem portów szeregowych: port COM-1 odpowiada urządzeniu /dev/ttyS0, itd.

    5.6.2. Drukarka fiskalna na terminalu - metoda bezpośrednia

    Metoda związana jest z sytuacją, gdy drukarka podłączona jest do urządzenia klienta (terminala).

    Metoda polega na udostępnieniu na terminalu portu COM dla połączenia TCP/IP. Komunikacja z drukarką odbywa się w trybie klient-serwer, gdzie serwerem jest moduł fiskalizacji programu NA-TRES, a klientem program udostępniający port COM (np. program serproxy).

    W rozwiązaniu tym, pomiędzy serwerem a klientem transmitowane są bezpośrednio rozkazy sterujące drukarki fiskalnej.

    Na terminalu może znajdować się jakikolwiek system operacyjny (taki, dla którego dostępne jest oprogramowanie udostępniające port COM dla TCP/IP). Sugerowany program serproxy dostępny jest na platformie Linux oraz Windows.

    Program serproxy znajduje się na płycie instalacyjnej pakietu Trawers.

    Należy przygotować plik konfiguracyjny programu serproxy. Jeżeli nie są wymagane jakieś szczególne ustawienia, wykorzystać można standardowy plik dostarczany w dystrybucji. Ma on następującą postać:

       # Config file for serproxy
       # See serproxy's README file for documentation
    
       # Comm ports used
       comm_ports=1,2,3,4
    
       # Default settings
       comm_baud=9600
       comm_databits=8
       comm_stopbits=1
       comm_parity=none
    
       # Idle time out in seconds
       timeout=3000
    
       # Port 1 settings (ttyS0)
       net_port1=5331
    
       # Port 2 settings (ttyS1)
       net_port2=5332
    
       # Port 3 settings (ttyS2)
       net_port3=5333
    
       # Port 4 settings (ttyS3)
       net_port4=5334
    
    5.6.2.1. Konfiguracja terminala - Windows

    Plik konfiguracyjny serproxy.cfg oraz program serproxy.exe muszą znajdować się w tym samym katalogu. Najlepiej skopiować je do katalogu C: lub C:\Tools.

    Program serproxy.exe uruchamia się z konsoli poleceniem:

       C:\ serproxy

    W trakcie działania, program wyświetla komunikaty informujące o nawiązaniu połączenia, rozłączeniu oraz o błędach.

    Wykonywanie programu można przerwać klawiszami Ctrl+C.

    Do obsługi portu szeregowego można dodatkowo wykorzystać program lscom, który dostarczany jest na płycie dystrybucyjnej pakietu Trawers.

    5.6.2.2. Konfiguracja terminala - Linux

    Plik konfiguracyjny serproxy.cfg należy umiescić w katalogu /etc, zaś program serproxy w /usr/bin lub /usr/local/bin.

    Uruchomienie z konsoli następuje przez wydanie polecenia:

    # serproxy

    W przypadku wystąpienia niezgodności bibliotek systemowych, konieczna może okazać się indywidualna kompilacja programu serproxy. Na płycie dystrybucyjnej pakietu Trawers, w katalogu TOOLS/SERPROXY, znajdują się źródła programu. Postępować należy zgodnie z opisem zawartym w pliku README.

    W trakcie działania, program wyświetla komunikaty informujące o nawiązaniu połączenia, rozłączeniu oraz o błędach. Wykonywanie programu można przerwać klawiszami Ctrl+C.

    Pracując z drukarkami firmy Posnet i kompatybilnymi, które używają protokołu XON-XOFF, należy ustawić dodatkowe parametry pracy portu szeregowego. Dla portu 1 (COM1, /dev/ttyS0) wykonuje się to poleceniem:

    # stty -F /dev/ttyS0 -icanon ixon ixoff -ixany

    Szczególy polecenia stty znajdują się w podręczniku systemowym ("man stty") Aby przy każdym uruchomieniu terminala nie wpisywać powyższej sekwencji, można umieścić ją w skrypcie startowym, np. w /etc/rc.d/rc.local

    5.6.2.3. Parametry fiskalizacji operatora

    Wyboru metody fiskalizacji dokonuje się w systemie NA-TRES w menu: "Sprzedaż->Drukarka fiskalna->Parametry drukarki i inne funkcje pomocnicze operatora"

    W menu '1. Parametry drukarki' ustala sie parametry drukarki. W polu "Metoda komunikacji" należy wybrać: "6 Linux - drukarka przy terminalu - poˆ¥czenie bezpo˜rednie TCP/IP".

    W menu '2. Parametry poˆ¥czenia TCP/IP' ustala sie parametry poˆaczenia z serwerem.

    Należy podać:

    Adres terminala

    adres IP lub nazwę domenową terminala, do którego podłączona jest drukarka fiskalna, np: "192.168.1.101" lub "drukarka-fisk-01.firma.pl"

    W pełni obsługiwany jest zapis adresu wersji IPv4. Dla wersji IPv6 wymagany jest zapis, w którym ostatnie liczby są postaci Ipv4, np: "::FFFF:192.168.1.101"

    Port drukraki (TCP/IP)

    numer portu TCP/IP, na którym następuje połączenie, np.: "5331" Numer portu musi odpowiadać wartości podanej w pliku konfiguracyjnym programu serproxy (lub innego).

    Adres terminala pobierać z połączenia SSH

    jeżeli adres IP terminala nie jest staly lecz przydzielany dynamicznie, należy zaznaczyć "T".

    Wówczas adres IP terminala zostanie pobrany ze zmiennej środowiskowej SSH_CLIENT. W zależności od używanej dystrybucji Linuksa oraz od wersji pakietu ssh, zmienna SSH_CLIENT może nie być widoczna po wydaniu polecenia:

     # env

    W takim przypadku po nawiazaniu połączenia ssh należy wykonać polecenie:

     # export SSH_CLIENT

    Aby zautomatyzować działanie, można przygotować odpowiednie skrypty startowe.

    W przypadku korzystania na terminalu z programu PuTTY, w menu "Connection->SSH" w polu "Remote command" należy wpisać:

    export SSH_CLIENT

    Jeżeli natychmiast po zalogowaniu ma być uruchomiony pakiet Trawers, w polu "Remote command należy wpisać

    export SSH_CLIENT; trawers4

    W parametrach fiskalizacji wyświetlany jest adres, z którego następuje połączenie ssh (ustalany na podstawie zmiennej srodowiskowej SSH_CLIENT).

    Pojawienie się znaku zapytania w miejscu adresu oznacza, że pakiet uruchomiony jest lokalnie, lub że nie można odczytać zawartości zmiennej SSH_CLIENT.

    5.6.3. Drukarka fiskalna na terminalu - metoda bezpośrednia - tunel SSH

    Fiskalizacja bezpośrednia może być zrealizowana z wykorzystaniem istniejącego połączenia SSH. Protokol SSH pozwala na utworzenie tunelu, w którym porty terminala (lokalne) przekierowywane są na porty serwera (zdalne) lub odwrotnie (ang. Port forwarding).

    Metoda ta jest bezpieczniejsza od powyższej, gdyż transmisja pomiędzy drukarką fiskalną a serwerem prowadzona jest w szyfrowanym tunelu.

    Przykład 4. Konfiguracja srodowiska dla fiskalizacji bezpośredniej w tunelu SSH

    Poniższy przykład dotyczy konfiguracji dla portu 5331.

    • na serwerze w Trawers w parametrach fiskalizacji operatora w systemie AD-TRES (Trawers->Parametry aktywnego operatora->Parametry fiskalizacji) podać:

      Adres terminala: 127.0.0.1
      Port drukarki (TCP/IP): 5331
      Adres terminala pobierać z połączenia SSH (T/N): N
    • na terminalu (Linuks/Windows) uruchomić serproxy (net_port1=5331)

    • na terminalu z Windows skonfigurować PuTTY:

      1. W menu : "Connection / SSH / Tunnels" w obszarze "Add new forwarded ports" podać:

        Source port: 5331
        Destination: localhost:5331

        oraz oznaczyć: Remote

      2. Po dodaniu (Add) na liście "Forwarded ports:" pojawi się wpis:

        R5331 localhost:5331
      3. Pozostałe parametry sesji ustawić tak jak dla typowego połączenia z Trawers.

    • na terminalu z Linuksem

      Do połączenia z serwerem użyć polecenia:

      # ssh -R 5331:localhost:5331 użytkownik@serwer
    • na serwerze linuks w pliku: etc/ssh/sshd_config ustawic parametr:

      Allow TCP Forwarding = YES

    Dokładne informacje na temat konfiguracji PuTTY oraz 'Port Forwarding':

    5.6.4. Drukarka fiskalna na terminalu - metoda pośrednia

    UWAGA: Zalecamy korzystanie z powyżej opisanych metod bezpośrednich fiskalizacji na terminalu.

    etoda pośrednia polega na przesyłaniu zbiorów pomiędzy serwerem a terminalem.

    Dokumenty przeznaczone do fiskalizacji zapisywane są do zbioru roboczego, który następnie przesyłany jest, wraz z tekstowym zbiorem informacyjnym, na terminal. Na terminalu działa program, który oczekuje na zbiory z serwera.

    Po otrzymaniu zbioru informacyjnego oraz zbioru danych rozpoczynana jest fiskalizacja. Po zakończeniu przetwarzania, zbiory odsyłane są na serwer. Tam, na podstawie zapisów w zbiorze danych, ustalany jest stan dokumentów.

    Przesyłane zbiory:

    • Tekstowy zbiór NDooINff.TXT (NDooOUff.TXT), gdzie:

      oo - symbol operatora, np. AA
      ff - symbol firmy, np. FP

      ma ustaloną strukturę. Składa się z jednej linii postaci <nazwa>=<wartość>. Zawiera informacje o:

      - rozmiarze zbioru danych
      - kompresji zbioru danych
      - trybie fiskalizacji
      - błędzie (ewentualnie)
    • Zbiór danych NDooINff.DBF (NDooOUff.DBF), gdzie:

      oo - symbol operatora, np. AA
      ff - symbol firmy, np. FP

      ma format tabeli DBF.

      Posiada okrojona strukture zbioru dokumentów NA-TRES zawiera wyłącznie pola wymagane do fiskalizacji.

    Podczas przetwarzania po stronie terminala oraz serwera, najpierw oczekiwany jest zbiór TXT. Z niego odczytywany jest rozmiar zbioru danych.

    Dalsze przetwarzanie wykonywane jest dopiero, gdy rozmiar zbioru danych jest równy zadeklarowanemu w zbiorze TXT.

    Gdy w zbiorze TXT przesłana jest z terminala inforamcja o błędzie, to jest ona natychmiast wyświetlana i nie ma oczekiwania na zbiór DBF.

    5.6.4.1. Konfiguracja serwera

    Wyboru metody fiskalizacji dokonuje się w systemie NA-TRES w menu: "Sprzedaż->Drukarka fiskalna->Funkcje pomocnicze->Parametry drukarki operatora"

    Dla metody pośredniej, w polu "Metoda komunikacji" należy wybrać: "Przesyłanie zbioru (Linux)".

    Nastepnie w systemie AD-TRES w menu "Trawers->Parametry aktywnego operatora->"Parametry fiskalizacji" należy podać polecenie lub nazwę skryptu, służące do przesłania zbiorów z serwera na terminal, np:

       ./wyslij_na_terminal

    Skrypt wyslij_na_terminal powinien być wykonywalny i najlepiej umieścić go w katalogu /usr/bin.

    Na serwerze linuksowym należy udostępnić katalog NAINOUT systemu NA-TRES, np. poprzez Sambę. Samba powinna być tak skonfigurowana, aby pliki kopiowane na Sambę miały nazwy pisane małymi literami.

    Odpowiedni fragment pliku konfiguracyjnego smb.conf może mieć następującą postać:

       # Fragment pliku konfiguracyjnego Samby: /etc/samba/smb.conf
       #
       # Ustawienie małych liter przy kopiowaniu:
          preserve case = No                                             
          short preserve case = No                                       
          default case = lower       
    
       # Udostępnienie katalogu nainout dla potrzeb zdalnej fiskalizacji
       ...
       [nainout]
          comment = Katalog komunikacyjny
          path = /trawers/dane/tr4l/natres/nainout
          valid users = trawers @trawers
          public = no
          writable = yes
          printable = no
          create mask = 0777
       ...

    Skrypt ./wyslij_na_terminal może mieć dla operaotra AA firmy FP następującą postać:

       # ./wyslij_na_terminal
       #
       # Kopiowanie plików z serwera na terminal
       #
       smbclient //terminal/nainout password -U user \
          -c "lcd /trawers/dane/tr4l/natres/nainout; \
          put ndaainfp.txt; put ndaainfp.dbf"
       #--- koniec ---

    Skrypt można napisać w bardziej ogolnej postaci wykorzystując fakt, że podczas wywołania przekazywane są w parametrach nazwy zbiorów:

       # ./wyslij_na_terminal
       #
       # Kopiowanie plików z serwera na terminal
       #
       smbclient //terminal/nainout password -U user -c "lcd /trawers/dane/tr4l/natres/nainout; put $1; put $2"
    5.6.4.2. Konfiguracja terminala

    Na terminalu należy zainstalować systemy AD-TRES oraz NA-TRES pakietu Trawers.

    W przypadku terminala z systemem Windows wymagana jest wersja demonstracyjna -E (Extended) pakietu Trawers.

    W systemie AD-TRES należy dopisać firmę oraz operatora o symbolach identycznych jak te, z którymi odbywać się będzie praca na serwerze.

    Nastepnie w funkcji menu "Tres->Parametry aktywnego operatora->Parametry fiskalizacji" należy podać polecenie lub nazwę skryptu, służące do przesłania zbiorów z terminala na serwer, np:

       Polecenie przeslania zbioru Z terminala:
       ./wyslij.bat            (dla terminala windowsowego)
       ./wyslij_na_serwer      (dla terminala linuksowego)

    Skrypt wyslij.bat powinien być umieszczony w katalogu \NATRES

    Należy udostępnić katalog NAINOUT systemu NA-TRES jako nainout.

    Skrypt przesyłajacy zbiory na serwer dla operatora AA firmy FP może mieć następującą postać:

       :: wyslij.bat
       ::
       :: Kopiowanie plików z terminala na serwer
       :: do katalogu udostępnionego przez Sambe
       ::
       net use n: \\serwer\nainout /yes
       copy nainout\ndaaoufp.txt n:\
       copy nainout\ndaaoufp.dbf n:\
       net use n: /delete /yes
       ::--- koniec ---

    lub bardziej ogólną, wykorzystującą parametryzację:

       :: wyslij.bat
       ::
       :: Kopiowanie plików z terminala na serwer
       :: do katalogu udostępnionego przez Sambe
       ::
       net use n: \\serwer\nainout /yes
       if exist nainout\%1 copy nainout\%1 n:\
       if exist nainout\%2 copy nainout\%2 n:\
       net use n: /delete /yes
       ::--- koniec ---

    Odpowiednie skrypty dla systemu Linux:

       # ./wyslij_na_serwer
       #
       # Kopiowanie plików z terminala na serwer
       # do katalogu udostępnionego przez Sambe
       #
       smbclient //serwer/nainout pass -U user \
          -c "lcd /trawers4/natres4/nainout; \
          put ndaaoufp.dbt; put ndaaoufp.dbf"
       #--- koniec ---

    oraz z parametryzacją:

       # ./wyslij_na_serwer
       #
       # Kopiowanie plików z terminala na serwer
       # do katalogu udostępnionego przez Sambe
       #
       cd /trawers/dane/tr4l/natres/nainout
       if [ -f "$1" ]; then
          smbclient //serwer/nainout pass -U user -c "put $1"
       fi
       if [ -f "$2" ]; then
          smbclient //serwer/nainout pass -U user -c "put $2"
       fi
       cd /trawers/dane/tr4l/natres
       #--- koniec ---

    Następnie należy ustalić parametry drukarki fiskalnej operatora w systemie NA-TRES pracującym na terminalu. Dokonuje się tego w menu: "Sprzedaż->Drukarka fiskalna->Funkcje pomocnicze"

    Jako metode komunikacji należy wskazać jeden z portów szeregowych COM.

    Po prawidłowym wykonaniu testu komunikacji (dostępnego w tym samym menu) można uruchomić klienta fiskalizacji.

    Funkcja realizująca fiskalizacje od strony terminala znajduje się w systemie NA-TRES w menu "Pomocnicze->Fiskalizacja na terminalu". Po wybraniu pozycji "Fiskalizacja dokumentów na drukarce terminalowej" program przechodzi w stan oczekiwania na zbiory z serwera.

    5.6.4.3. Terminal za "firewallem"

    W sytuacji, gdy terminal znajduje się w lokalnej sieci, oddzielonej od Internetu przez router, należy wykonać dodatkowe zabiegi.

    Na routerze należy zainstalować pakiet Samba. Utworzyć katalog komunikacyjny, np. /opt/trawers4/nainout i udostępnić go przez Sambe jako nainout.

    Katalog nainout udostępniony przez router, należy podmontować na terminalu jako /opt/trawers/trawers4/natres4/nainout poleceniem:

       # smbmount //router/nainout /opt/trawers/trawers4/natres4/nainout \
       > -o username=username, password=username, gid=500, uid=501, fmask=777

    Należy także odpowiednio dostosować opisane powyżej skrypty, tak, aby przesyłaly zbiory z serwera pakietu Trawers na router.

    6. Przeniesienie pakietu Trawers z wersji -E (Win/DOS) na wersję -X (Linux)

    Aby przenieść użytkowany pakiet Trawers (zgromadzone dane użytkowe) z wersji Win/DOS na Linux należy wykonać nastepujące czynności:

    1. Zainstalować pakiet Trawers dla Linux, tj. zainstalować wersję demo, a następnie wgrać plik konfiguracyjny. Dokładne informacje podane są w niniejszym dokumencie oraz w instrukcji instalacji.

    2. Skopiować zbiory danych użytkowanego pakietu do katalogu danych pakietu Trawers wybranego podczas instalacji pakietu Trawers (domyślnie: /trawers/dane/tr4x).

      Jeżeli zbiory były kodowane (szyfrowane), to należy je rozkodować - informacje na ten temat znaleźć można w dokumencie Serwisowanie i utrzymanie pakietu Trawers.

    3. Upewnić się, że nazwy wszystkich skopiowanych zbiorów są zapisane małymi lterami.

    4. Upewnić się, że właścicielem tych zbiorów jest uzytkownik 'trawers' oraz grupa 'trawers'.

    5. Upewnić się, że użytkownik i grupa mają prawa do odczytu i zapisu plików danych Pakietu Trawers.

    6. Zamienić małe litery na duże w polach kluczowych kartotek. Są to pola:

      symbol odbiorcy i dostawcy
      indeks pozycji magazynowej
      indeks usługi
      symbol tabeli kusów walut
      numer inwentarzowy środka trwałego
      numery dokumentów
      symbol operacji
      itp...

      W tym celu wystarczy przeprowadzić aktualizację struktur danych.

      Uwaga!

      Tego kroku nie wolno pominąć. Z praktyki w kilku firmach wynika, że większość problemów w początkowym okresie użytkowania pakietu Trawers dla Linux wynikało właśnie z pozostawienia małych liter w polach kluczowych, głównie w symbolach odbiorców i numerach dokumentów.

    7. Wykonać indeksowanie wszystkich zbiorów.

    7. Aktualizacja pakietu Trawers

    Aktualizacja pakietu Trawers, niezależnie od wersji, polega na:

    1. wymianie plików wykonywalnych *.exe, np. na.exe

    2. wykonaniu w każdym systemie i dla każdej firmy funkcji aktualizującej: "Pomocnicze->Gospodarka zbiorami->Aktualizacja struktury zbiorów"

    Uwaga!

    Przed każdą wymianą należy utworzyć kopie eksploatowanego pakietu.

    Gdyby wymiana nie powiodła sie, można wówczas wrócić do eksploatacji poprzedniej wersji.

    Opis wprowadzonych zmian znajduje się w dokumencie Ostatnie zmiany w pakiecie na płycie instalacyjnej oraz na stronach www.tres.pl

    8. Archiwizacja danych pakietu Trawers

    W dystrybucji dostępny jest skrypt tr-backup, umożliwiający tworzenie kopii archiwalnych danych pakietu Trawers pracującego na serwerze linuksowym.

    Skrypt dostępny jest w podkatalogu tools/linux katalogu instalacyjnego pakietu Trawers. Skrypt tworzy on archiwum o nazwie tr4x-DATA.tgz, gdzie DATA to aktualna data systemowa, na przykład tr4x-20061221.tgz to archiwum z dnia 21 grudnia 2006.

    Skrypt dziala na domyślnym katalogu /trawers/dane/tr4x. Archiwum jest tworzone w zdefiniowanym katalogu - domyślnie jest to /trawers/kopie.

    Domyślnie, stworzone archiwum jest następnie nagrywane na płytę CD (należy pamiętać, aby przy wywołaniu skryptu czysta płyta CD znajdowała się w nagrywarce). Dzięki temu możliwe jest wykonywanie regularnych kopii bezpieczeństwa na naśniku i przechowywanie ich z dala od firmy.

    W skrypcie samodzielnie można dokonać zmian, aby dostosować go do własnych wymagań:

    Trawers=tr4x
    # katalog zrodlowy z Trawers
    SRC=/trawers/dane/$Trawers
    
    # Docelowy katalog z kopiami:
    # powinien znajdowac sie na osobnej partycji/dysku
    DEST=/trawers/kopie
    
    # Czy tworzyc iso z kopia bezpieczenstwa, a nastepnie nagrywac na plytke? 
    # Jeśli tak: CD=1; jeśli nie: CD=0
    CD=1
    
    # Czy archiwizować pliki EXE razem z danymi?
    # Jeśli tak: EXE=1; jeśli nie: EXE=0
    EXE=0 

    Skrypt warto zainstalować do uruchamiania z poziomu usługi cron systemu Linux.

    8.1. Dopisywanie skryptu do crona

    System Linux używa usługi cron w celu cyklicznego uruchamiania zdefiniowanych przez użytkownika poleceń. Polecenia definiuje się w specjalnym pliku zleceń. Do tworzenia tego pliku służy polecenie crontab:

    crontab -e - edycja zawartości pliku zlecenia

    crontab -l - wyświetlenie zawartości pliku zlecenia.

    Po wydaniu polecenia crontab -e wyświetlona zostanie zawartość pliku zlecenia. Plik ma następującą konstrukcję:

    m g D M T polecenie

    wykona polecenie w wybranej chwili czasu, gdzie:

    D, M - odpowiednio numer dnia (1-31) i miesiąca (1-12)
    T - numer dnia tygodnia (0-6), gdzie 0 oznacza niedzielę
    m, g - czas, odpowiednio minuta (0-59) i godzina (0-23)
    * - w danym polu oznacza dowolną wartość tego pola, np. w polu M oznacza wykonanie skryptu każdego miesiaca
    jeśli pole ma mieć więcej wartości, należy podać je kolejno, oddzielając je przecinkiem.

    Zatem aby zapisać zadanie wykonania skryptu archiwizacji tr-backup, należy wpisać do pliku crona:

    0 2 * * * /trawers/tools/linux/tr-backup

    Skrypt archiwizujący zostanie wykonany codziennie o godz. 2 w nocy.

    Jeżeli skrypt ma być wykonany dwa razy w tygodniu, np. w każdą środę i sobotę o 3 w nocy, należy wpisać:

    0 3 * * 3,6 /trawers/tools/linux/tr-backup

    9. Usuwanie pakietu

    Usunięcie pakietu Trawers polega na skasowaniu katalogu "$DIR/trawers4" wraz z podkatalogami. Można także usunąć pozostałe pliki kopiowane podczas instalacji.

    10. Przykładowe instalacje pakietu Trawers dla Linux

    Poniżej przedstawiono wybrane konfiguracje zastosowane u Klientów firmy Tres:

    • Firma handlowa - 21 stanowisk

      • Serwer: Pentium III, 850 MHz, 384 MB ram, dyski SCSI 2x18GB

      • Linux RedHat 7.0

      • terminale: komputery klasy Pentium z systemem operacyjnym Windows

      • oddziały i centrala połączone przez Internet łączami o przepustowości:

        - 2 x ProFuturo 512 kbps
        - Netia 256 kbps
        - Polpak 256 kbps
    • Firma handlowo - produkcyjna - 5 stanowisk

      • Serwer: Pentium IV; 1,5 GHz; 512 MB ram; dysk IDE 7200 obr/min

      • Linux Mandrake 8.1

      • terminale: komputery klasy Pentium z systemami Linux oraz Windows

      • praca w sieci lokalnej

    • Firma Handlowo - Produkcyjna - 27 stanowisk

      • Serwer: 2 x Pentium III 1GHz, 1 GB ram, dyski SCSI

      • Linux RedHat 7.0

      • oddziały i centrala połączone przez sieć Internet łączami:

        - centrala - Pwartości można oddzielać od siebueolpak 512 kbps
        - oddział - Polpak 256 kbps
        - 2 x SDI
        - łącze wydzwaniane 0202122
    • Firma Handlowa - 10 stanowisk

      • Serwer: Pentium III 1 GHz, 512 MB ram, dysk IDE

      • Linux Mandrake 8.1

      • praca w sieci lokalnej

    Dane dotyczące liczby Klientów korzystających z pakietu Trawers dla Linux dostępne są na stronach www.tres.pl

    11. Dane na serwerze linuksowym

    Udostepnianie danych umieszczonych na serwerze linuksowym opisane jest w tym dokumencie.

    A. Pytania i odpowiedzi

    Rozbudowany dział "Pytania i odpowiedzi" dostępny jest na stronach www.tres.pl oraz na płycie instalacyjnej pakietu Trawers.

    A.1.1.

    W wersji -L Pojawił się komunikat z następującym błędem. Co należy zrobić?

       331 - Fatal error 331 in XXXXXXXX.PRG, module TRSEEK line XXX
            DBFIDX:Hidden_Index_Method
            Index integrity corrupted on searching for key
            331 (Index file corrupted)

    Należy przeprowadzić indeksowanie zbiorów danego systemu pakietu Trawers.

    Wykonuje się to w funkcji "Pomocnicze->Gospodarka zbiorami->Indeksowanie"

    A.1.2.

    Co zrobić, aby umożliwić wprowadzanie przecinka w wersji -L?

    Należy w pliku {trawers}/tools/linux/system/linux/FSkeymap.def zmienić linię:

    44 : 46

    na

    44 : 44

    Mechanizm mapowania klawiszy wykorzystywany w linuksowej wersji pakietu Trawers nie ma możliwości wyróżnienia interpretacji kropki na klawiaturze numerycznej.

    A.1.3.

    Podczas uruchamiania pakietu Trawers -L na stacji roboczej z Windows (poprzez program PuTTy) wielokrotnie pojawia się komunikat "Nie można uzyskać dekryptora pliku wskazującego na konsolę / Couldn't get a file descriptor reffering to the console".

    Czy można go usunąć?

    Powyższy komunikat jest spowodowany przez wywołanie polecenia

    loadkeys FlagShip.map

    występującego w skrypcie startowym pakietu Trawers -L. Jest ono niezbędne do właściwego mapowania klawiszy.

    Jeżeli wszyscy użytkownicy logują się do pakietu Trawers zdalnie (to znaczy nie pracują bezpośrednio na konsoli serwera), mapowanie jest realizowane przez program terminala (np. PuTTy). Można wówczas usunąć lub zakomentować to polecenie w skrypcie startowym (domyślnie jest to plik /usr/bin/trawers4).