Na sajtu proizvođača ovog fiskalnog printera našao sam jako primamljiv komad softvera. radi se o besplatnom COM serveru koji "trči" u system tray-u i preko jednostavnog COM objekta pruža programeru mogućnost da relativno lako kontroliše uređaj.
Da li je još neko ovo probao?
Ja sam naišao na sledeći problem: neke komande (npr. štampanje nefiskalnih blokova, setovanje sata, setovanje PIB-a, ispisivanje raznih stvari na displej, premotavanje i sečenje papira) mi super rade, dok neke (npr. ubacivanje novog artikla, otvaranje fiskalnog računa, setovanje header-a i footer-a, setovanje poreskih stopa, setovanje opisa prodajnog mesta) ne rade i uporno mi vraćaju poruku o grešci "Command not allowed in this context!". Kod greške kad pokušam da otvorim fiskalni račun je 11. Status printera je 128 128 128 129 128 130.
Da li neko ima neku ideju?
Evo kako iz VBA-a pristupam svemu tome:
ovo je kod koji radi
Code:
Dim AllReciept As Long
Dim ErrCode As Byte
Dim fp As FP3530.CSFP3530
Set fp = New FP3530.CSFP3530
fp.Init 1, 19200, 0, 0, 8
fp.DisplayDateTime
If fp.OpenNonFiscalCheck(AllReciept, ErrCode) Then
fp.PrintNonFiscalText "Zdravo, svete!"
fp.CloseNonFiscalCheck AllReciept
Else
msgbox fp.GetLastErrorMessage
End If
Dim AllReciept As Long
Dim ErrCode As Byte
Dim fp As FP3530.CSFP3530
Set fp = New FP3530.CSFP3530
fp.Init 1, 19200, 0, 0, 8
fp.DisplayDateTime
If fp.OpenNonFiscalCheck(AllReciept, ErrCode) Then
fp.PrintNonFiscalText "Zdravo, svete!"
fp.CloseNonFiscalCheck AllReciept
Else
msgbox fp.GetLastErrorMessage
End If
a sad kod koji mi vraća grešku 11:
Code:
Dim AllReciept As Long
Dim ErrCode As Byte
Dim fp As FP3530.CSFP3530
Set fp = New FP3530.CSFP3530
fp.Init 1, 19200, 0, 0, 8
If fp.OpenFiscalCheck(1, "000001", 1) Then ' ova funkcija vraća vrednost FALSE
fp.SellQ "001", "Cement TITAN", "A", 4.3, 10, 5
fp.Total "", "Suma:", "P", 100
fp.CloseFiscalCheck
Else
msgbox fp.GetLastErrorMessage ' ovo mi ispiše poruku "Command not allowed in this context!"
End If
Dim AllReciept As Long
Dim ErrCode As Byte
Dim fp As FP3530.CSFP3530
Set fp = New FP3530.CSFP3530
fp.Init 1, 19200, 0, 0, 8
If fp.OpenFiscalCheck(1, "000001", 1) Then ' ova funkcija vraća vrednost FALSE
fp.SellQ "001", "Cement TITAN", "A", 4.3, 10, 5
fp.Total "", "Suma:", "P", 100
fp.CloseFiscalCheck
Else
msgbox fp.GetLastErrorMessage ' ovo mi ispiše poruku "Command not allowed in this context!"
End If
Unapred hvala!