miro35 |
14.03.2011 16:18 |
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
Odlično sa ovim je veliki dio problema rjeÅ¡en.Jer ovaj uređaj je specifičan zato Å¡to se Å¡alje uz račun CMD.OK dok recimo kod tremola račun je jedan fajl kojem ja kreiram naziv po broju računa i kad se desi da uređaj neradi,pa kasnije proradi onda on sam Å¡tampa račune koje nije odÅ¡tampao,dok kod hcp-a za svaki račun moraÅ¡ slati ovaj fajl pod imenom CMD.OK |
zxz |
14.03.2011 16:28 |
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
Kad proradimo za jedan onda cemo samo malo prepraviti za drugi. |
miro35 |
15.03.2011 09:50 |
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
Ovo je sad trenutno kraj funkcije:PreuzmiIzvorni kôd (Text): End With
Kraj:
Exit Function
Izlaz:
MsgBox "Ra
un nije ispisan,greška u komunikaciji sa ureajem!", vbExclamation, "Obavijest"
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE GLSTAVKEMP1 SET Nefiskaliziran='" & "-1" & "' WHERE BROULIZ='" & Forms.frmIZLAZMP.BROIZD & "'"
DoCmd.SetWarnings True
Kill "C:\HCP\TO_FP\Footer.xml"
Kill "C:\HCP\TO_FP\RCP_" & Me.BROIZD & ".XML"
Kill "C:\HCP\TO_FP\CMD.OK"
GoTo Kraj
End Function
Ovo mi sad treba Kill da provjeri ako postoje ovi fajlovi u mapi da ih onda briše.To kad javi ovu poruku greška u komunikaciji itd..
Jer možda si primjetio da prvo Å¡aljem footer pa tek onda račun.Znači svaki put prije slanja računa Å¡aljem footer,to je nefiskalni tekst u kojem piÅ¡e moj broj lokalnog računa sa moje baze podataka formata 000000 znači Å¡est karaktera.Zato je ovo kill footer.
Zašto treba isprazniti mapu?
Jer kad dođe do greÅ¡ke ako je neki ostao fajl unutra, npr footer ili račun stari neki,onda kad se uređaj osposobi kad ja Å¡aljem sljedeći račun i fajl cmd.OK da ga izvrÅ¡i onda se izvrÅ¡i onaj stari račun ili footer kao u mom primjeru i potroÅ¡i se taj cmd.ok i onda dalje stoji taj novi račun.Itd itd... |
zxz |
15.03.2011 12:49 |
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
Evo procedura za brisanje:
PreuzmiIzvorni kôd (Visual Basic):Function BrisiFile(Putanja As String)
Dim fs
Dim i As Integer
Set fs = Application.FileSearch
With fs
.LookIn = Putanja
.FileType = 1
If .Execute > 0 Then
For i = 1 To .foundfiles.Count
Kill .foundfiles(i)
Next i
End If
End With
End Function
Pozivas je ovdje u tvom kodu:
Izlaz:
MsgBox "Ra
un nije ispisan,greška u komunikaciji sa ureajem!", vbExclamation, "Obavijest"
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE GLSTAVKEMP1 SET Nefiskaliziran='" & "-1" & "' WHERE BROULIZ='" & Forms.frmIZLAZMP.BROIZD & "'"
DoCmd.SetWarnings True
BrisiFile (PutTO)'---->evo ovo. Sada ovom procedurom mozes brisati iz bilo kojeg dir. fajlove.
GoTo Kraj
End Function |
miro35 |
15.03.2011 14:41 |
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
Isprobano radi.Odlično.Za mene je prva faza zavrÅ¡ena.Jer ovo sam zamislio da prva faza bude provjera foldera TO_FP, a druga faza da bude čitanje fajlova iz foldera FROM_FP.Neznam da li misliÅ¡ tako i da li treba ići u ovu drugu fazu. |
zxz |
15.03.2011 15:18 |
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
Pa mislim nije na odmet. Pogotovo kada se desi greska.
Nekada poslije iz iskustva na osnovu broja greske znamo sta je u pitanju pa to pomogne.
U proceduri i postoji vec druga faza samo nioje zabrsena pa po meni dobro bi je bilo dovrsiti.
Da iscita fajlove i gresku ako se pojavi.
koliko sam razumio u ovom folderu se nista ne brise.
Jesam li u pravu? |
miro35 |
16.03.2011 09:16 |
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
Tako je ne briše se u ovom Folderu FROM_FP.
JoÅ¡ sam neÅ¡to juče vidio,npr. kad fiskalni uređaj nema komunikaciju sa kompjuterom(Kad je neko zaboravio upaliti a hoće printat račune,Kad je ispao kabal) onda ovaj HCP server javi greÅ¡ku Eror serial port i onda on obriÅ¡e fajl iz foldera TO_FP i kreira fajl u folderu FROM_FP pod nazivom "RCP_000200.ERR"
u kojem piÅ¡e:"1 - SERIAL_PORT_ERROR_TIME_OUT".Da vas ne buni ovaj broj 000200 je moj broj računa lokalnog iz mog programa.Znači vi kreirate fajl pod nazivom kakav želite.Evo zakačiću taj err fajl |
Prilozi: RCP_000200.rar (Velicina datoteke:110 Bajt)
|
miro35 |
17.03.2011 10:57 |
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
Kako bi izgledala funkcija za provjeru "Footer.xml" |
zxz |
17.03.2011 11:00 |
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
Citat:Kako bi izgledala funkcija za provjeru "Footer.xml" Nije mi ovo poznati. Ako ti nije tesko pojani malo pa cemo napraviti proceduru.
Neznam nista o ovom fileu. |
zxz |
17.03.2011 11:35 |
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
Procedura za provjeru stampanja:
Evo osnovna procedura. Ostalo da ne stavljam.
Kada sve proradis mozda je dobro da otvoris novu temu pod imenom napr.
Dodatni alati za fiskalizaciju.
Postavi cijeli kod.
Objasni kako se radi i napisi za koji je uredjaj.
PreuzmiIzvorni kôd (Visual Basic):Function ProvjeraP(BrojRac As String) As String
Dim temp As String
Dim ImeF(1 To 2) As String
Dim ImeR(1 To 2) As String
Dim fs, R, F
Dim Brojac As Integer
Dim i As Integer
Dim Putanja_Filea As String
ImeR(1) = "RCP_" & BrojRac & ".XML" ' Broj rac iz polja me.Me.BROIZD + RCP_ tekst
ImeR(2) = "CMD_" & BrojRac & ".ERR"
Provjera1:
Set fs = Application.FileSearch
With fs
.LookIn = PutTO
.FileType = 1
If .Execute > 0 Then
For i = 1 To .foundfiles.Count
F = Right(.foundfiles(i), 3)
If F = "XML" Then
ImeF(1) = .foundfiles(i)
ImeF(1) = ImeFajla(ImeF(1))
If ImeF(1) = ImeR(1) Then
DoEvents
Brojac = Brojac + 1
If Brojac > 3 Then GoTo Izlaz
Zaustavi (Brojac)
GoTo Provjera1
End If
End If
Next i
End If
End With
Provjera2:
Set fs = Application.FileSearch
With fs
.LookIn = PutFrom
.FileType = 1
If .Execute > 0 Then
For i = 1 To .foundfiles.Count
F = Right(.foundfiles(i), 3)
If F = "ERR" Then
ImeF(2) = ImeFajla(.foundfiles(i))
If ImeF(2) = ImeR(2) Then
Putanja_Filea = .foundfiles(i)
Close #1
Open Putanja_Filea For Input As 1
Input #1, temp
Close #1
MsgBox temp
GoTo Kraj
End If
End If
Next i
End If
End With
Kraj:
Exit Function
Izlaz:
MsgBox " Ra
un nije oštampan"
If ImeF(1) <> "" Then
GoTo Provjera2
End If
GoTo Kraj
End Function
hehe napisa ja tebi svasta. |