Komunikacioni Protokol Fiskalnih Uredjaja Todor

Embed Size (px)

Citation preview

  • 8/19/2019 Komunikacioni Protokol Fiskalnih Uredjaja Todor

    1/3

    Komunikacioni protokol Fiskalnih uredjaja Todor&Comtrade za VBA

    Osnovu komunikacionog protokola cine tabele PLU,Placanja i PLU_RCV i niz funkcija koje su udaljem tekstu objasnjene Pre zapocinjaja bilo kakve operacije potrebno je de!nisati port "a to je obezbedjena globalna promenljiva activePort As Integer koja najcesce ima vrednost #$CO%#& i kojoj treba da dodelite vrednost $'(CO%',) * CO%) &

    Izdavanje racuna : +zdavanje racuna zapocinje pozivanjem funkcijeStartRacun(). "a ispravan rad i rad za koji smo odgovorni veoma je vazno pratiti redosled pozivanja funkcija"atim se vrsi upis prodati artikla pozivanjem funkcije za svaki artikal ponaosob-

    WritePLUForBill(BarCode As String, description As String, price As Single,vatcode As Integer, depart As Integer, !est"pe As Integer, #olicina As Single) AsInteger

     Ova funkcija ima sledece parametre -

    •BarCode prestavlja jedinstvenu sifru artikla$ barCod& koji je ma.#' karaktera i zadrzi samo i smo cifre kao karaktere

    • $escription je naziv ma. #' karaktera koji mora biti jedinstven zaracun

    • Price cena artikla koja je / 0 1 2 33333333

    • %atcode poreska stopa za dati artikal /40 1 245

    • $epart odeljenje za prodaju /0 1 2 ##

    • &est"pe jedinica mere /40 1 243

    • 'olicina kolicina datog artikal koja mora zadovoljiti jedan odsledeci formata - 66660, 6660,0, 660,00,60,000 i 0,0000 pritome #olicina price ******.**

    7unkcija vraca greske koje se mogu videti u tabeli dole

    8ledece je pozivanje funkcije WritePlacan+aForBill(%rsta As Integer, Inos As $ou-le)As Integer

    Ova funkcija vrsi upis vrste placanja u tabelu placanja za svako placanje po jednom

    Parametri-%rsta # * gotovina

    /0 cek10 kreditna kartica

    Inos  24 0 1 / 33333333333

    8ledeci korak je pozivanje funkcije - racun2ut koja vrsi stampu racuna na !skalnomuredjaju

    Primer -StartRacun()For i 3 4 5o 46

      gres#a 3 WritePLUForBill(78887 9 i : 46, 7arti#al7 9 i, 4/.1 : i 1, /, 4, 4, i 4.1)

     ; ispita+ gres#u 

  • 8/19/2019 Komunikacioni Protokol Fiskalnih Uredjaja Todor

    2/3

    ; ispita+ gres#u 

    gres#a 3racun2ut; ispita+ gres#u

    br. Gr. opis

    400n nedefinisana poreska stopa n

    301 potrebno je uraditi dnevni raport

    113 nepostojeca vrsta placanja

    112 nepravilno unet iznos za placanje

    109 maksimalan broj stavki za racun108 losa jedinica mere

    107 nepravilno uneto odeljenje

    106 nepravilna poreska stopa

    105 prevelika suma kolcena

    104 nepravlino uneta kolicina

    103 nepravilno uneta cena

    102 nepravilno unet naziv za art

    101 nepravilno unet kod

    99 nepostovanje redosleda funkcija

    1 nepostojeci port ili je port zauzet

    0 !k

    "1 no connection or communication

    "2 no connection

    "3 nepravilno unet datum

    "4 #reska pri slanju podataka $c%eck suma&

    "6 #reska pri izdavanju racuna u cas% uredjaju

    Dnevni izvestaj: za izvrsenje poziva se funkcija dnevniivesta+() As Integer

  • 8/19/2019 Komunikacioni Protokol Fiskalnih Uredjaja Todor

    3/3

    Presek stanja: poziva se funkcija prese#Stan+a() As Integer

    Periodicni izvestaj : poziva se funkcija  perIvesta+(dateP As $ate, date> As $ate)As Integer $datum u formatu dd.mm.yyyy  )

    Brisanje svih artikala iz uredjaja : funkcija -risan+eArts() As Integer

    Primanje svih artikala iz Cash uredjaja : poziva se funkcija Receiveplu() AsInteger, primljeni artikli se nalaze u tabeli PLU_RCV

    Slanje artikala u Cash uredjaj : prvo izvrsite brisanje tabele PLU$-s.e=ecute (?$elete @ro! PLU;), zatim upisujeartikle pozivanjem funkcije

    WritePLUForSend(BarCode As String, description As String, price As Single, vatcode AInteger, depart As Integer, !est"pe As Integer) As IntegerParametri su isti kao kod funkcije WritePLUForBilll+ na kraju pozivate funkciju Progra!Art() As Integer

    Primer -

    d-s.=ecute (7$elete @ro! PLU7)

      For i 3 4 5o 46  gres#a 3 WritePLUForSend(78887 9 i : 46, 7Bo-an&7 9 i, 4/.1 : i /, 4, 4)

     ; ispita+ gres#u