Gjoreski 13.09.2024 08:27
Predmet:Re:Fiskalizacija u RS-u

Eve ova e JSON identican na onaj koi je postavio @Dragan59 ,
Ja nemam ovi specijalni znakova na mom racunaru pa ne mogu upisati u kogu.

PreuzmiIzvorni kôd (Visual Basic):
  1. Private Function fnGotovinski_Racun() As String
  2.     Dim invoiceRequest As Object
  3.     Dim payment As Object
  4.     Dim item As Object
  5.     Dim item2 As Object
  6.     Dim itemsCollection As Collection
  7.     Dim paymentsCollection As Collection
  8.     Dim dict As Object
  9.    
  10.     ' Kreiraj glaven dict
  11.    Set dict = CreateObject("Scripting.Dictionary")
  12.    
  13.     ' Kreiraj invoiceRequest
  14.    Set invoiceRequest = CreateObject("Scripting.Dictionary")
  15.     invoiceRequest.Add "invoiceType", "Normal"
  16.     invoiceRequest.Add "transactionType", "Sale"
  17.    
  18.     ' Kreiraj kolekcija za pla?anja
  19.    Set paymentsCollection = New Collection
  20.    
  21.     ' Kreiraj pla?anje
  22.    Set payment = CreateObject("Scripting.Dictionary")
  23.     payment.Add "amount", Format(54.99, "0.00")
  24.     payment.Add "paymentType", "WireTransfer"
  25.     'payment.Add "dateAndTimeOfIssue", Now ' Ako je potrebno
  26.    paymentsCollection.Add payment
  27.    
  28.     ' Dodaj kolekcija pla?anja vo invoiceRequest
  29.    invoiceRequest.Add "payment", paymentsCollection
  30.    
  31.     invoiceRequest.Add "invoiceNumber", "25377-TPV"
  32.    
  33.     ' Kreiraj kolekcija za stavki
  34.    Set itemsCollection = New Collection
  35.    
  36.     ' Kreiraj stav??
  37.    Set item = CreateObject("Scripting.Dictionary")
  38.     item.Add "name", "Tehni?ki pregled MV-M1"
  39.     item.Add "labels", CreateCollectionFromArray(Array("E"))
  40.     item.Add "totalPrice", Format(53.89, "0.00")
  41.     item.Add "unitPrice", Format(53.89, "0.00")
  42.     item.Add "quantity", Format(1, "0.00")
  43.      
  44.     Set item2 = CreateObject("Scripting.Dictionary")
  45.     item2.Add "name", "Tehni?ki pregled MV-M1-2%"
  46.     item2.Add "labels", CreateCollectionFromArray(Array("E"))
  47.     item2.Add "totalPrice", Format(1, "0.00")
  48.     item2.Add "unitPrice", Format(1, "0.00")
  49.     item2.Add "quantity", Format(1, "0.00")
  50.    
  51.    
  52.     itemsCollection.Add item
  53.     itemsCollection.Add item2
  54.    
  55.     invoiceRequest.Add "items", itemsCollection
  56.    
  57.     invoiceRequest.Add "cashier", "Slavica P"
  58.    
  59.     dict.Add "print", "True"
  60.     dict.Add "invoiceRequest", invoiceRequest
  61.    
  62.     fnGotovinski_Racun = JSON.toString(dict)
  63. End Function

dragan59 13.09.2024 20:20
Predmet:Re:Fiskalizacija u RS-u

Nisam govorio o tvom kodu nego o problemu sa forumom.

Gjoreski 14.09.2024 00:26
Predmet:Re:Fiskalizacija u RS-u

Ok ja sam pogresno razumeo.
Dali neko ima fiskalna kasa kako bi testirao koda.
Ja sam sve ovo radio prema data dokumentacija I nemam mogucnos testirati.

Avko 15.09.2024 15:08
Predmet:Re:Fiskalizacija u RS-u

Citiraj dragan59:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 69632 bytes) in /home2/icentarb/public_html/icentar/classes/database/class.db_driver.php on line 220

ova greska ti se javlja kada pises slova sa kvacicom, cirilicu bi trebalo prihvatiti. Zxz radi na tome

Amelasar 16.09.2024 07:20
Predmet:Re:Fiskalizacija u RS-u

Ovaj kod prolazi za gotovinski racun i slanje slike racuna na email:

PreuzmiIzvorni kôd (Text):
  1. Private Sub Gotovinski_Click()
  2.  
  3.     Dim http As Object
  4.     Dim url As String
  5.     Dim body As String
  6.     Dim response As String
  7.    
  8.     ' Definisite URL
  9.     url = "http://192.168.1.21:3566/api/invoices"
  10.    
  11.     ' Kreirajte XMLHTTP objekat
  12.     Set http = CreateObject("MSXML2.ServerXMLHTTP.6.0")
  13.    
  14.     ' Definisite tijelo zahtjeva kao JSON string sa jednim artiklom i jednim nacinom placanja
  15.     body = "{""print"": true, ""email"": ""ofs@gmail.com"", ""invoiceRequest"": {""invoiceType"": ""Training"", ""transactionType"": ""Sale"", ""payment"": [{""amount"": 0.10, ""paymentType"": ""0""}], ""items"": [{""name"": ""KESA TREGERICA"", ""labels"": [""E""], ""totalAmount"": 0.10, ""unitPrice"": 0.05, ""quantity"": 2.000}], ""cashier"": """"}}"
  16.    
  17.     ' Otvorite HTTP konekciju
  18.     http.Open "POST", url, False
  19.    
  20.     ' Dodajte zaglavlja
  21.     http.setRequestHeader "Authorization", "Bearer 4b0920000000000caccdfa5b57eb23f3"
  22.     http.setRequestHeader "RequestId", "19345"
  23.     http.setRequestHeader "Content-Type", "application/json"
  24.    
  25.     ' Posaljite zahtjev
  26.     http.send body
  27.    
  28.     ' Dobijte odgovor
  29.     response = http.responseText
  30.    
  31.     ' Prikazite odgovor
  32.     MsgBox response
  33.     Debug.Print response
  34.     ' Oslobodite resurse
  35.     Set http = Nothing
  36.  
  37. End Sub

Da bi se stampao racun na nekom POS stampacu potrebno je kreirati sliku u png ili pdf i poslati na stampu. Vjerovatno iz odgovora. Kako?

Amelasar 16.09.2024 07:23
Predmet:Re:Fiskalizacija u RS-u

Citiraj Gjoreski:
Ok ja sam pogresno razumeo.
Dali neko ima fiskalna kasa kako bi testirao koda.
Ja sam sve ovo radio prema data dokumentacija I nemam mogucnos testirati.

Za koji dan imacu kasu pa cu testirati.

Amelasar 16.09.2024 17:08
Predmet:Re:Fiskalizacija u RS-u

Ovo je odgovor kase:
Prilozi:
Odgovor.txt (Velicina datoteke:16.87 KB)

Amelasar 16.09.2024 17:23
Predmet:Re:Fiskalizacija u RS-u

Kada posaljem ovaj kod:

PreuzmiIzvorni kôd (Text):
  1. Private Sub Command15_Click()
  2. Dim http As Object
  3.     Dim url As String
  4.     Dim body As String
  5.     Dim response As String
  6.    
  7.     ' Definisite URL
  8.     url = "http://192.168.1.21:3566/api/invoices"
  9.    
  10.     ' Kreirajte XMLHTTP objekat
  11.     Set http = CreateObject("MSXML2.ServerXMLHTTP.6.0")
  12.    
  13.     ' Definisite tijelo zahtjeva kao JSON string sa svim parametrima
  14.     body = "{""print"": true, ""renderReceiptImage"": true, ""receiptLayout"": ""Slip"", ""receiptImageFormat"": ""Png"", ""receiptSlipWidth"": 386, ""receiptSlipFontSizeNormal"": 23, ""receiptSlipFontSizeLarge"": 27, ""invoiceRequest"": {""invoiceType"": ""Training"", ""transactionType"": ""Sale"", ""payment"": [{""amount"": 1.00, ""paymentType"": ""0""}], ""items"": [{""name"": ""Test"", ""labels"": [""\u0415""], ""totalAmount"": 1.00, ""unitPrice"": 0.50, ""quantity"": 2.000}], ""cashier"": ""Prodavac 1""}}"
  15.    
  16.     ' Otvorite HTTP konekciju
  17.     http.Open "POST", url, False
  18.    
  19.     ' Dodajte zaglavlja
  20.     http.setRequestHeader "Authorization", "Bearer 03dbf5a104b4c4d0ed2b298eb7886255"
  21.     http.setRequestHeader "RequestId", "12385"
  22.     http.setRequestHeader "Content-Type", "application/json"
  23.    
  24.     ' Posaljite zahtjev
  25.     http.send body
  26.    
  27.     ' Dobijte odgovor
  28.     response = http.responseText
  29.    
  30.     ' Prikazite odgovor
  31.     MsgBox response
  32.     Debug.Print response
  33.     ' Oslobodite resurse
  34.     Set http = Nothing
  35. End Sub

dobijem odgovor koji je u prilogu.. Mislim da se iz ovog odgovora moze slika png izvuci i poslati na pos printer.

Ovaj dio je ukljucen ""print"": true, i racun bude isprintan na kasi.
Prilozi:
Odgovor1.txt (Velicina datoteke:46.18 KB)

dragan59 16.09.2024 19:17
Predmet:Re:Fiskalizacija u RS-u

Prilog ti nije validan JSON.
Error: Parse error on line 1:
...oiceImagePngBase64":"iVBORw0KGgoAAAANSUh
-----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[', got 'undefined'

dragan59 16.09.2024 19:18
Predmet:Re:Fiskalizacija u RS-u

Citiraj Avko:
Citiraj dragan59:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 69632 bytes) in /home2/icentarb/public_html/icentar/classes/database/class.db_driver.php on line 220

ova greska ti se javlja kada pises slova sa kvacicom, cirilicu bi trebalo prihvatiti. Zxz radi na tome
Ok, hvala mnogo.