Bazy danych‎ > ‎

MySQL

Jest to najczęstszy wybór w przypadku Serwera Wydruku Fiskalnego.

Konfiguracja podłączania w pliku Configuration.xml wygląda następująco:
    <DatabaseConnections>
        <GenericFPS_MySQL dbtype="mySQL" database="192.168.147.2:3306/fps" user="bart" pass="bart01" />
    </DatabaseConnections>

Należy wykonać utworzyć tabele wg następujących wytycznych:

1. Tabela o nazwie SLIPS, czyli nagłówki paragonów.
mysql> desc SLIPS;
+-------------------+--------------+------+-----+-------------------+----------------+
| Field             | Type         | Null | Key | Default           | Extra          |
+-------------------+--------------+------+-----+-------------------+----------------+
| ID                | int(11)      | NO   | PRI | NULL              | auto_increment |
| CASHBOXLOGO       | char(8)      | NO   |     | NULL              |                |
| EXTERNALREFERENCE | char(16)     | NO   | UNI | NULL              |                |
| CASHIERNAME       | varchar(32)  | NO   |     | Operator          |                |
| CREATED_TS        | timestamp    | NO   |     | CURRENT_TIMESTAMP |                |
| PRINTED_TS        | timestamp    | YES  |     | NULL              |                |
| STAGE             | int(11)      | NO   |     | 0                 |                |
| ERROR             | varchar(120) | NO   |     | OK                |                |
+-------------------+--------------+------+-----+-------------------+----------------+

Znaczenie poszczególnych pól jest następujące:
  • ID - klucz podstawowy (nadawany przez bazę)
  • CASHBOXLOGO - określenie drukarki, musi być zgodne z jedną z drukarek zdefiniowanych w pliku XML w atrybucie printerName.
  • EXTERNALREFERENCE - numer paragonu. Unikalny ciąg znaków, drukowany jako numer paragonu. Niektóre drukarki nakładają ograniczenia, jak np. max 3 litery, reszta cyfry. Ograniczenie dotyczy tylko sterowników nie bazy i nie ma wpływu na pracę serwera - co najwyżej część identyfikatora zostanie pominięta na wydruku.
  • CASHIERNAME - drukowana nazwa kasjera, np. "Jan Kowalski"
  • CREATED_TS - data i czas utworzenia paragonu - tworzona automatycznie
  • PRINTED_TS - data i czas zafiskalizowania paragonu. Wypełniane przez Serwer automatycznie po zafiskalizowaniu (tylko poprawnym), w przeciwnym wypadku NULL.
  • STAGE - aktualny stan danego paragonu: 0 - nowoutworzony, 1 - próba drukowania, 2 - wydrukowany (zafiskalizowany), -1 (wystąpił błąd).
  • ERROR - opis błędu, jaki (i jeśli) wystąpił podczas wydruku paragonu.

2. Tabela o nazwie SLIPLINES, czyli poszczególne pozycje sprzedaży paragonu.
mysql> desc SLIPLINES;
+---------------+-------------+------+-----+---------+----------------+
| Field         | Type        | Null | Key | Default | Extra          |
+---------------+-------------+------+-----+---------+----------------+
| ID            | int(11)     | NO   | PRI | NULL    | auto_increment |
| FKID_SLIP     | int(11)     | NO   | MUL | NULL    |                |
| NAME          | varchar(40) | NO   |     | NULL    |                |
| AMOUNT        | double      | NO   |     | NULL    |                |
| PRICE         | double      | NO   |     | NULL    |                |
| TAXRATE       | char(5)     | NO   |     | NULL    |                |
| DISCOUNT      | double      | NO   |     | 0       |                |
| DISCOUNT_TYPE | int(11)     | NO   |     | 0       |                |
+---------------+-------------+------+-----+---------+----------------+

Oznaczenie poszczególnych pól jest następujące:
  • ID - klucz podstawowy
  • FKID_SLIP - klucz obcy do tabeli SLIPS
  • NAME - nazwa sprzedawanego towaru/usługi.
  • AMOUNT - sprzedawana ilość
  • PRICE - cena jednostkowa brutto
  • TAXRATE - stawka VAT, odpowiednio: VAT23, VAT22, VAT08, VAT07, VAT05, VAT03, VAT00, VATzw.
  • DISCOUNT - odpowiednio procent lub kwota rabatu. Dla procentów wartości z przedziału 0.0-1.0, co odpowiada 0 - 100%.
  • DISCOUNT_TYPE - 0-brak rabatu, 1-rabat procentowy, 2-rabat kwotowy

3. Tabela o nazwie SLIPPAYMENTS, czyli lista form zapłaty przewidziana do danego paragonu
mysql> desc SLIPPAYMENTS;
+-----------+-------------+------+-----+---------+----------------+
| Field     | Type        | Null | Key | Default | Extra          |
+-----------+-------------+------+-----+---------+----------------+
| ID        | int(11)     | NO   | PRI | NULL    | auto_increment |
| FKID_SLIP | int(11)     | NO   | MUL | NULL    |                |
| AMOUNT    | double      | NO   |     | NULL    |                |
| NAME      | varchar(16) | YES  |     | NULL    |                |
| FORM      | char(10)    | NO   |     | NULL    |                |
+-----------+-------------+------+-----+---------+----------------+
Znaczenie poszczególnych pól jest następujące:
  • ID - klucz podstawowy
  • FKID_SLIP - klucz obcy do tabeli SLIPS
  • AMOUNT - kwota płatności
  • NAME - dodatkowe określenie formy płatności
  • FORM - forma płatności, jedno z: Cash, CreditCard, Cheque, Bond, Credit, Other, Voucher, Account. Tak naprawdę w większości sytuacji używane są jedynie dwie pierwsze formy płatności.





.
ċ
MySQL.sql
(3k)
Nieznany użytkownik,
21 sty 2011, 11:20
Comments