zxz 24.09.2024 12:58
Predmet:Re:Fiskalizacija u RS-u

Sto je sad stalo.
Jeli nesto neostaje ili?

Gjoreski 25.09.2024 10:19
Predmet:Re:Fiskalizacija u RS-u

Izgleda sve e reseno.

Amelasar 25.09.2024 10:49
Predmet:Re:Fiskalizacija u RS-u

Citat:
Sto je sad stalo.
Jeli nesto neostaje ili?

Sve je rijeseno. Iz odgovora kase uzima dio gdje je slika i snima je u neki direktorijum, zatim je printa na pos stampacu.

Amelasar 25.09.2024 10:52
Predmet:Re:Fiskalizacija u RS-u

Evo komplatan kod za ispis racuna:

PreuzmiIzvorni kôd (Text):
  1. Rem Inicijalizacija postavki
  2. strPostavke = "SELECT * FROM tblPostavke"
  3. Set rsp = CurrentDb.OpenRecordset(strPostavke)
  4. Dim VelicinaPapira
  5. Dim PosPrinter
  6. Dim FolderSlika
  7. Dim PrintEXE
  8. Dim Stopa
  9.  
  10.  
  11. VelicinaPapira = rsp!Papir
  12. PosPrinter = rsp!Printer
  13. FolderSlika = rsp!FolderSlika
  14. PrintEXE = rsp!PrintEXE
  15. Stopa = rsp!Stopa
  16.  
  17.  
  18. Dim strSQLF As String
  19. Dim http As Object
  20. Dim url As String
  21. Dim body As String
  22. Dim response As String
  23. Dim db As DAO.Database
  24. Dim rs As DAO.Recordset
  25. Dim artikli As String
  26. Dim NacinPlacanja As String
  27. Dim amount As Double
  28. Dim items As String
  29. Dim i As Integer
  30.  
  31. ' Definisite URL
  32. url = rsp!IPAdresa & ":3566/api/invoices"
  33.  
  34. ' Kreirajte XMLHTTP objekat
  35. Set http = CreateObject("MSXML2.ServerXMLHTTP.6.0")
  36.  
  37. ' Prikupi podatke iz tabele
  38. strSQLF = "SELECT * FROM QIzlaz WHERE QIzlaz.BrojRacuna = " & BrojRacuna
  39. Set rs = CurrentDb.OpenRecordset(strSQLF)
  40.  
  41. ' Inicijalizuj items
  42. items = ""
  43.  
  44.  
  45.  
  46. While Not rs.EOF
  47.     ' Dodaj podatke za svaki artikl
  48.     items = items & "{""name"": """ & rs!OpisArt & """, ""labels"": [""" & Stopa & """], ""totalAmount"": " & (rs!Iznos) & ", ""unitPrice"": " & rs!MPC & ", ""quantity"": " & rs!SumOfKolicina & "},"
  49.     amount = amount + rs!Iznos ' Ukupni iznos
  50.     rs.MoveNext
  51. Wend
  52.  
  53. ' Ukloni posljednji zarez
  54. If Right(items, 1) = "," Then
  55.     items = Left(items, Len(items) - 1)
  56. End If
  57.  
  58. rs.Close
  59. Set rs = Nothing
  60. Set db = Nothing
  61.  
  62. If rsp!Papir = 80 Then
  63. ' Formatiraj telo zahteva
  64.  
  65. body = "{""print"": false, ""renderReceiptImage"": true, ""receiptLayout"": ""Slip"", ""receiptImageFormat"": ""Png"", ""receiptSlipWidth"": 400, ""receiptSlipFontSizeNormal"": 23, ""receiptSlipFontSizeLarge"": 27, ""invoiceRequest"": {""invoiceType"": """ & Me.VrstaRN & """, ""transactionType"": ""Sale"", ""payment"": [{""amount"": """ & Me.Uplata & """, ""paymentType"": """ & Me.NP & """}], ""items"": [" & items & "], ""cashier"": """ & Me.Prodavac & """}}"
  66. Else
  67.  
  68. body = "{""print"": false, ""renderReceiptImage"": true, ""receiptLayout"": ""Slip"", ""receiptImageFormat"": ""Png"", ""receiptSlipWidth"": 300, ""receiptSlipFontSizeNormal"": 20, ""receiptSlipFontSizeLarge"": 23, ""invoiceRequest"": {""invoiceType"": """ & Me.VrstaRN & """, ""transactionType"": ""Sale"", ""payment"": [{""amount"": """ & Me.Uplata & """, ""paymentType"": """ & Me.NP & """}], ""items"": [" & items & "], ""cashier"": """ & Me.Prodavac & """}}"
  69. End If
  70. Rem Debug.Print body
  71.  
  72. ' Otvorite HTTP konekciju
  73. http.Open "POST", url, False
  74.  
  75. ' Dodajte zaglavlja
  76. http.setRequestHeader "Authorization", "Bearer " & rsp!ApiKljuc
  77. http.setRequestHeader "RequestId", "12385"
  78. http.setRequestHeader "Content-Type", "application/json"
  79. rsp.Close
  80. Set rsp = Nothing
  81.  
  82. ' Posaljite zahtjev
  83. http.send body
  84.  
  85. ' Dobijte odgovor
  86. response = http.responseText
  87.  
  88.  
  89.     Dim strData As String
  90. Dim str As String
  91. Dim strTempPath As String
  92.  
  93. str = Mid(ExtractBase64String(response), 23)
  94. strTempPath = FolderSlika
  95. Open strTempPath For Binary As #1
  96. Put #1, 1, DecodeBase64(str)
  97. Close #1
  98.  
  99. ' Oslobodite resurse
  100. Set http = Nothing
  101.    
  102. Dim exePath As String
  103.     Dim parameters As String
  104.    
  105.     exePath = PrintEXE
  106.     parameters = PosPrinter & "," & FolderSlika
  107.    
  108.     shell exePath & " " & parameters, vbNormalFocus
  109.  
  110. DoCmd.OpenForm "IspisRacuna"

dragan59 01.10.2024 20:42
Predmet:Re:Fiskalizacija u RS-u

Citiraj Gjoreski:
Izgleda sve e reseno.
Hvala puno na programu. Definitivno radi, ali ja imam jedan problem. Moguce da je do POS printera koji koristim. Koristim Galebov termalni printer RP326 koji moze printati 58 i 80 mm traku. Zapravo je to neki kineski printer Rongta koji je dosta jeftin, a ima USB, serijski i mrezni port. Preko god kojeg porta da printam odsjece mi marginu sa desne strane. Printam na papiru od 58 mmm, a printer je 80 i ima neki nosac rolne koji vodi uzi papir. Isto mi se desava i na papiru od 80 mm. Kad papir stavim udesno lijeva margina mi je OK, ali desna odsjece zadnjih par centimetara. Npr. ovaj odgovor sto je neko stavljao ima sliku od 386 piksela sirine (doo Ribnik, racun obuke) i zadnji red odstampa "OVO NIJE FISKAL" umjesto "OVO NIJE FISKALNI RACUN". Nazire se pocetak slova N i nista vise.
Da li je neko imao slicnih problema? Vjerovatno je do printera. Prijatelj koji mi ga je posudio kaze da ti printeri rade dobro, a da sam ja mozda naletio na los primjerak.

Amelasar 07.10.2024 10:48
Predmet:Re:Fiskalizacija u RS-u

Citat:
Vjerovatno je do printera. Prijatelj koji mi ga je posudio kaze da ti printeri rade dobro, a da sam ja mozda naletio na los primjerak.

Ima li printer svoja podesavanja, kao npr. Epson? Tu se mogu podesavati margine, prazni redovi itd ...

Kako ti stampa iz access reporta?

Gjoreski 09.10.2024 13:43
Predmet:Re:Fiskalizacija u RS-u

@dragan59 Stavi slika da vidam kako izgleda isprintanoto.
Ke probam da go koregiram programot

dragan59 09.10.2024 20:50
Predmet:Re:Fiskalizacija u RS-u

Citiraj Gjoreski:
@dragan59 Stavi slika da vidam kako izgleda isprintanoto.
Ke probam da go koregiram programot
Nema potrebe, definitivno je bilo do printera. Nabavio sam Epson TM-88IV koji stampa uredno bez ikakvih problema i na 56 mm i na 80mm.
Kod jednog klijenta koji ima TM-20III imam problem da steka kod printanja QR koda tako da se stvore horizontalne bijele linije. Mislim da je tu problem do drajvera koji nije dobro podesen, ali mu je spor internet pa je mucno raditi kad ti stalno prekida.
Prijatelj koji inace radi fiskalizaciju mi kaze da taj printer inace radi dobro.
Inace sada pokusavam uraditi racun preko FastReport-a i to ide jako dobro. QR kod je izuzetno lako za implementirati i dobro ga stampa. Doduse ne radim u Accesu nego u Delfiju.
Ovo sa POS printera je uvijek bio problem i dok su radili kao "Generic/Text Only". Svaki je imao svoju implementaciju protokola i bukvalno sam morao pisati potprograme za pojedini printer. A ESC sekvence su bile ludilo. Sada je ipak nesto lakse.

Gjoreski 10.10.2024 00:08
Predmet:Re:Fiskalizacija u RS-u

Super @dragan59 , dago mi e sto e sve reseno

duledixi 22.10.2024 15:04
Predmet:Re:Fiskalizacija u RS-u

Pozdrav, u ovom kodu mi izbacuje gresku "Path/File" access error
switch Spoiler:


kao da putanja foldera nije u redu?1? Putanja je C:\SlikeKasa

Sve ostalo radi super