Centar za edukaciju-BiH



#31 13.03.2011 15:48
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
Da dobro si to analizirao.
ako ti treba za vise fajlova napravi sledece:
PreuzmiIzvorni kd (Visual Basic):
  1. Function Broj_Racuna(Putanja_Filea as string)
  2. Dim temp As String
  3. Dim Poz As Integer
  4.  
  5. Close #1
  6. Open Putanja_Filea For Input As #1
  7. While Not EOF(1)
  8. Input #1, temp
  9. Wend
  10.  
  11. Poz = InStr(1, temp, "LastReceiptNumber;")
  12. If Poz > 0 Then
  13. Broj_Racuna = Mid(temp, Poz + 18)
  14. GoTo Kraj:
  15. End If
  16. Kraj:
  17. Close #1
  18. End Function
ne zaboravi obrisati konstantu na vru jer ina isti naziv.

sada pozivas proceduru na sledeci nacin:
PreuzmiIzvorni kd (Visual Basic):
  1. Dim Brrac As String
  2. Brrac = Broj_Racuna("stampatifiskalniracun.280.xml itd")
  3. MsgBox "BF je: " & Brrac
  4. End Sub

E sad posto viodim da se tebi mijenja ime filea mozemo mi i prepraviti proceduru tj. da sama trazi file koji pocinje sa stampatifiskalniracun. i da ima sufiks najveci broj napr.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#32 13.03.2011 16:01
Powersoft Van mreze
Clan
Registrovan od:04.03.2011
Postovi:18


Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
Ne treba sama da trazi file jer mi nije problem dodati u proceduru koji file da analizira.
Hvala.
Ovaj post je ureden 1 puta. Posljednja izmjena 13.03.2011 16:21 od strane zxz. ↑  ↓

#33 14.03.2011 08:26
miro35 Van mreze
Clan
Registrovan od:05.01.2009
Postovi:608


Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
Ne ostaju fajlovi na ovoj putanji C:\HCP\TO_FP ako su ispravno izvršeni.I kreiram RCP_000001.xml pa onda sljedeći račun RCP_000002.xml . Svaki put uz račun šalje se CMD.OK i ovaj CMD.OK je izvršna datoteka koja izvršava ovaj račun RCP.Evo kod kako ga kreiram i šaljem.Napomena:Ovo je za HCP BestBa.
PreuzmiIzvorni kd (Text):
  1. If IsNull(DLookup("BROULIZ", "STAVKEMP1", "BROULIZ='" & Me.BROIZD & "'")) Then
  2. MsgBox "Ne postoje podaci za ispis,niste unijeli artikle za prodaju!", vbExclamation, "Obavijest"
  3. Exit Sub
  4. End If
  5.  
  6.  
  7. 'DEFINISANJE PROMENLJIVIH
  8. '...........................
  9. Dim rs2
  10. Dim db As Database
  11. Set Tekst = New Stream
  12. Tekst.Open
  13. Tekst.Position = 0
  14. Tekst.Charset = "UTF-8"
  15. Tekst.WriteText "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?>" & vbCrLf
  16.  
  17. Tekst.WriteText "<RECEIPT>" & vbCrLf
  18. Set db = CurrentDb()
  19. Set rs2 = db.OpenRecordset("SELECT * FROM qryIZLAZMP WHERE BROULIZ='" & Me.BROIZD & "'", dbOpenDynaset)
  20.     Do While Not rs2.EOF
  21.  
  22.  Tekst.WriteText "<" & "DATA BCR" & "=" & """" & rs2!SIFART & """" & " " & "VAT" & "=" & """" & rs2!ArtGPorez & """" & " " & "MES" & "=" & """" & rs2!MES & """" & " " & "DEP=""1"" " & " " & "DSC" & "=" & """" & rs2!ArtNaz & """" & " " & "PRC" & "=" & """" & rs2!Cijena & """" & " " & "AMN" & "=" & """" & rs2!KOLICINASAD & """" & " " & "/>" & vbCrLf
  23.  
  24. rs2.MoveNext
  25.  
  26.     Loop
  27.    
  28.       rs2.Close
  29.      
  30.       Tekst.WriteText "<DATA PAY=""0"" " & "Amount" & "=" & """" & Me.Sveukupno & """" & " " & "/>" & vbCrLf
  31.       'Tekst.WriteText "<DATA PAY=""1"" Amount=""0""/>" & vbCrLf
  32.       'Tekst.WriteText "<DATA PAY=""2"" Amount=""0""/>" & vbCrLf
  33.       'Tekst.WriteText "<AdditionalLine Message=""Hvala na posjeti""/>" & vbCrLf
  34.       'Tekst.WriteText "<AdditionalLine Message=" & """" & DLookup("PodRac2", "tblPod") & """" & " " & "/>" & vbCrLf
  35.       'Tekst.WriteText "<AdditionalLine Message=" & """" & Me.BROIZD & """" & " " & "/>" & vbCrLf
  36.    Tekst.WriteText "</" & "RECEIPT" & ">" & vbCrLf
  37.       'Tekst.WriteText "<TremolFpServer>" & vbCrLf
  38.  
  39.    
  40.     Set db = Nothing
  41. Tekst.SaveToFile "C:\HCP\TO_FP\RCP_" & Me.BROIZD & ".XML", adSaveCreateOverWrite
  42.  Tekst.Close
  43.  Dim rs4
  44. Dim db4 As Database
  45. Set Tekst4 = New Stream
  46. Tekst4.Open
  47. Tekst4.Position = 0
  48. Tekst4.Charset = "UTF-8"
  49. Tekst4.WriteText "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?>" & vbCrLf
  50.  
  51.     'Set db4 = Nothing
  52. Tekst4.SaveToFile "C:\HCP\TO_FP\CMD.OK", adSaveCreateOverWrite
  53.  Tekst4.Close

Miro
↑  ↓

#34 14.03.2011 10:50
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
Evo prvi dio provjere pa probaj kako radi.
Znaci provjerava dali je obrisan file.
Drugi dio cemo provjeravati dali je sve ok.
PreuzmiIzvorni kd (Visual Basic):
  1. Const PutTO = "C:\HCP\TO_FP"
  2. Const PutFrom = "C:\HCP\FROM_FP"
  3.  
  4.  
  5. Function ProvjeraP(BrojRac As String) As String
  6. Dim temp As String
  7. Dim ImeF(1 To 2) As String
  8. Dim fs, R, F
  9. Dim Brojac As Integer
  10. Dim i As Integer
  11.    
  12. BrojRac = "RCP_" & BrojRac & ".XML"  ' Broj rac iz polja me.Me.BROIZD + RCP_ tekst
  13. Provjera1:
  14. Set fs = Application.FileSearch
  15. With fs
  16.     .LookIn = PutTO
  17.     .FileType = 1
  18.     If .Execute > 0 Then
  19.         For i = 1 To .foundfiles.Count
  20.          F = Right(.foundfiles(i), 3)
  21.           If F = "XML" Then
  22.           ImeF(1) = .foundfiles(i)
  23.           ImeF(1) = ImeFajla(ImeF(1))
  24.             If ImeF(1) = BrojRac Then
  25.             DoEvents
  26.             Brojac = Brojac + 1
  27.                If Brojac > 5 Then GoTo Izlaz
  28.                Zaustavi (Brojac)
  29.                GoTo Provjera1
  30.             End If
  31.           End If
  32.         Next i
  33.     End If
  34.  
  35. End With
  36.  
  37. Provjera2:
  38. Set fs = Application.FileSearch
  39. With fs
  40.     .LookIn = PutFrom
  41.     .FileType = 1
  42.     If .Execute > 0 Then
  43.         For i = 1 To .foundfiles.Count
  44.         If Right(.foundfiles(1), 3) = "ERR" Then
  45.         ImeF(2) = ImeFajla(.foundfiles(1))
  46.         ElseIf Right(.foundfiles(1), 2) = "OK" Then
  47.           ImeF(2) = PutTO
  48.           GoTo Kraj
  49.         End If
  50.         Next i
  51.     End If
  52. End With
  53.  
  54. Kraj:
  55. Exit Function
  56. Izlaz:
  57. MsgBox " Ra
  58. un nije oštampan"
  59. GoTo Kraj
  60. End Function
  61.  
  62. Function ImeFajla(PutanjaF As String) As String
  63. '*******************************************
  64. 'Ime:      ImeDir   (Function)
  65. 'Sadržaj: Odvaja ime fajla od putanje
  66. 'Autor:     ZXZ
  67. 'Datum:      09 01, 2010, 11:36:53
  68. 'Adresa: Tuzla BiH
  69. 'Email:     zxz@icentar.ba
  70. 'Ulazni parametri:Putanja
  71. 'Izlazni parametri:Zadnj dir od putanja
  72. '*******************************************
  73.    Dim X As Integer
  74.     Dim Putanja As String
  75.    
  76.     On Error Resume Next
  77. Putanja = PutanjaF
  78. Start:
  79. Do Until Right$(Putanja, 1) = "\"
  80.         Putanja = Left$(Putanja, Len(Putanja) - 1)
  81.  Loop
  82.  ImeFajla = Mid(PutanjaF, Len(Putanja) + 1)
  83. End Function
  84. Function Zaustavi(Trajanje)
  85. Dim Vrijeme
  86.  
  87. DoEvents
  88.  
  89. Trajanje = Trajanje + Timer()
  90. Start:
  91. Vrijeme = Timer()
  92. If Vrijeme < Trajanje Then GoTo Start
  93. End Function

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#35 14.03.2011 13:16
miro35 Van mreze
Clan
Registrovan od:05.01.2009
Postovi:608


Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
Probat ću pa javim,Znači provjeravam prvo pokrenem ProvjeraP() kako dalje?
Miro
↑  ↓

#36 14.03.2011 13:47
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
Nista sano pozoves proceduru iz tvog koda.
provjeraP(Me.BROIZD)
Na kraju tvog koda.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#37 14.03.2011 13:48
miro35 Van mreze
Clan
Registrovan od:05.01.2009
Postovi:608


Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
Odlično je ovo samo još da provjerim err datoteku u from_fp.Odlična ideja i još nešto što mi je palo na pamet kad javi "Račun nije odštampan" trebam poslije te poruke zabilježit da taj broj računa nije fiskalizovan.Znači napravit ću u svojoj bazi u tabeli računa polje tipa chkbox i obilježiti ako nije fiskalizovan.Onda ću napraviti jednu formu na kojoj ću vidjeti koji računi nisu fiskalizovani i onda klikati jedan po jedan i staviti dugme fiskaliziraj.Ovo je dobro zbog toga što se zna desiti da je uređaj blokiro zbog raznih razloga.Sad zadnji put server PUFBiH nije radio i kad uređaj pokuša da pošalje podatke onda nema teorije da isprintaš račun.Ovo je odličan početak funkcije.Svaka čast.
Miro
↑  ↓

#38 14.03.2011 13:51
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
Nije jos sve gotovo.
htio sam samo da probas radi toga sto nemogu procijeniti koliko traje.
Ima sad drugi dio provjere koji sad nista ne radi.
I to cemo doraditi pa ce onda sluziti svrsi.
Napravi ako hoces tabelu gdje cemo biljeziti one koji nisu odradjeni.
samo napravi tabeli sa nazivom i datumom.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#39 14.03.2011 14:40
miro35 Van mreze
Clan
Registrovan od:05.01.2009
Postovi:608


Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
E dobro si što se tiče trajanja.Kad sve radi kako treba onde ne pravi nikakvu pauzu,ali kad otkrije da ima nešto u mapi TO_FP onda malo duže stoji.Ne bi ni to bio problem kad bi se moglo isključit da neko nešto pritiska po formi dok traje provjera.Jer kad ovaj tajmer radi nemože se ništa pritisnut ali kad je on javio "Račun nije odštampan" onda ako sam nešto kliko po formi dok je trajala provjera naknadno sve odradi.
Ja sam dodao da u moju tabelu gdje mi se nalaze računi u kolonu nefiskaliziran upiše "yes" ako se desilo da nije odštampan.Ovo sam dodao u funkciju:
PreuzmiIzvorni kd (Text):
  1. Kraj:
  2.     Exit Function
  3. Izlaz:
  4.     MsgBox " Ra
  5. un nije oštampan"
  6.     DoCmd.SetWarnings False
  7.             DoCmd.RunSQL "UPDATE GLSTAVKEMP1 SET Nefiskaliziran='" & "-1" & "' WHERE BROULIZ='" & Forms.frmIZLAZMP.BROIZD & "'"
  8. DoCmd.SetWarnings True
  9.     GoTo Kraj
  10.     End Function
E sad ću još ovde dodati kad je provjerio račun sa tim brojem da ga briše iz putanje,znači sa onim kill C:\... itd, jer ću sve te račune kasnije slati na fiskalni uređaj jer bilježim u tabelu svoju koji nije fiskalizovan sa ovim update.
Miro
↑  ↓

#40 14.03.2011 14:58
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
If Brojac > 5 Then GoTo Izlaz ' evo ovo mozes smanjiti na 4 pa na 3
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

Stranice (11):1,2,3,4,5,6 ... 10,11


Sva vremena su GMT +01:00. Trenutno vrijeme: 3: 13 pm.