Centar za edukaciju-BiH



#21 29.08.2024 21:55
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,644


Predmet:Re:Fiskalizacija u RS-u
Vidjet cu koja referenca radi na 2003 access pa javim.
Kod za prenos iz json u variable cu uraditi dok nadjem vremena.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#22 29.08.2024 23:59
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,644


Predmet:Re:Fiskalizacija u RS-u
URL = "http://192.168.1.21:3566/api/invoices"neznam kakav ti je ovo url i sta imas tamo.
Ali znam da je ovo lokalna mreza e sad dali tamo imas server neznam.
zasto nisi radila sa icentrom dok probavas.
Treba ucitati referencu Microsoft XML, v6.0
Uzmi moj orginalan kod pa probaj dali radi.
Ja sam probao i na access 97 i radi.
Znaci probano na 2007 i 97
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#23 30.08.2024 06:14
Amelasar Van mreze
Clan
Registrovan od:07.04.2011
Postovi:304


Predmet:Re:Fiskalizacija u RS-u
Kasa se poveze na wifi. To je mala kasa koja radi na androidu https://ofs.ba/..._print.pdf
Stavim joj staticku IP adresu i u sustini ona je server. Preuzima pozive i komunicira sa serverom poreske uprave.

Probacu sa icentrom.
Pozdrav, Amela
↑  ↓

#24 30.08.2024 18:13
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,644


Predmet:Re:Fiskalizacija u RS-u
E hvala na ovome. Ja to nisam znao pa mi cudno bilo otkuda ip 192.168.
Eto sada treba jednu po jednu krajnu tacku raditi. One koje ideu prema kasi.
Povratne se nemogu raditi dok se ne napravi funkcija koja ce citati variable iz json fajla koji se vraca ali sve ostalo se moze uraditi.
Kad nadjem vremena uradit cu tu funkciju.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#25 01.09.2024 20:54
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,644


Predmet:Re:Fiskalizacija u RS-u
Da bih napravios kod koji ce iz json fajla izvuci podatke treba mi taj jedan orginalan json a vi koji iate printer dobit cete ga ako posaljet neki rcun na obradu.
Dali postoj testni rezim valjda ima pa da mozete to uraditi bez posljedica.
evo jean json string koji se salje staticki iz https://api.ofs.ba:
POST
Gotovinski racun sa vise stavki i vise nacina placanja uz slanje na e-mail

Prilozi:
Informacije o tipu datoteke za:txt  json.txt
Preuzimanja:17
Velicina datoteke:1.12 KB


Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#26 03.09.2024 01:09
Amelasar Van mreze
Clan
Registrovan od:07.04.2011
Postovi:304


Predmet:Re:Fiskalizacija u RS-u
Ne razumijem kako da posaljem json string i kako da dobijem odgovor?
Dostupna mi je kasa (kasa printer jer moze da radi i bez racunara).
Pozdrav, Amela
↑  ↓

#27 03.09.2024 01:18
Amelasar Van mreze
Clan
Registrovan od:07.04.2011
Postovi:304


Predmet:Re:Fiskalizacija u RS-u
Da li se moze odraditi preko skripte:

PreuzmiIzvorni kôd (Text):
  1. # PowerShell skripta za slanje HTTP POST zahteva
  2.  
  3. $url = "http://127.0.0.1:3566/api/invoices"
  4. $headers = @{
  5.     Authorization = "Bearer 0123456789abcdef0123456789abcdef"
  6.     ContentType = "application/json"
  7.     RequestId = "12345"
  8. }
  9. $body = @{
  10.     print = $false
  11.     email = "test@ofs.ba"
  12.     invoiceRequest = @{
  13.         invoiceType = "Normal"
  14.         transactionType = "Sale"
  15.         payment = @(
  16.             @{
  17.                 amount = 100.00
  18.                 paymentType = "Cash"
  19.             },
  20.             @{
  21.                 amount = 200.00
  22.                 paymentType = "Card"
  23.             }
  24.         )
  25.         items = @(
  26.             @{
  27.                 name = "Artikl 1"
  28.                 labels = @("F")
  29.                 totalAmount = 100.00
  30.                 unitPrice = 50.00
  31.                 quantity = 2.000
  32.             },
  33.             @{
  34.                 name = "Artikl 2"
  35.                 labels = @("F")
  36.                 totalAmount = 200.00
  37.                 unitPrice = 200.00
  38.                 quantity = 1.000
  39.             }
  40.         )
  41.         cashier = "Radnik 1"
  42.     }
  43. } | ConvertTo-Json
  44.  
  45. $response = Invoke-RestMethod -Uri $url -Method Post -Headers $headers -Body $body
  46. Write-Output $response

PreuzmiIzvorni kôd (Text):
  1. @echo off
  2. powershell -ExecutionPolicy Bypass -File "C:\putanja\do\sendRequest.ps1"
  3. pause

Pozdrav, Amela
↑  ↓

#28 03.09.2024 16:34
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,644


Predmet:Re:Fiskalizacija u RS-u
Na stranici https://api.ofs.ba/ imaju sve pristupne tacke kao i odgovor poreske ne njih u nekoliko programskih jezika ali ne i u vba, pa mozete odabrati neki drugi jezik koji znate da mozete lakse raditi.
Ja cu za primjer uzeti HTTP-HTTP samo da bi vidjeli sta treba proslijediti od podataka.
Primjer Provera dostupnosti
(Ovo je ujedno i prva pristuna tacka):

PreuzmiIzvorni kôd (Text):
  1. GET /api/attention HTTP/1.1
  2. Host: 127.0.0.1:3566
  3. Authorization: Bearer 0123456789abcdef0123456789abcdef
;
Znaci trebamo proslijediti u ovom slucaju samo autorizacioni kod (token) koji se salje u hederu.
Evo kako bi izgledalo to u vba.

PreuzmiIzvorni kôd (Visual Basic):
  1. Function ProvjeraDostupnosti()
  2. Dim objHTTP As Object
  3. Dim url As String
  4. Dim authHeader As String
  5. Dim response As String
  6.    
  7. ' Postavi URL i Authorization header
  8. url = "http://127.0.0.1:3566/api/attention" '// ovo treba promijeniti i staviti IP printera : 3566 je port
  9. authHeader = "Bearer 0123456789abcdef0123456789abcdef" ' Ovo neznam dali postoji autorizacioni kod ako postoji
  10. ' treba ga staviti. Autorizacioni kod se dobije od poreske to treba vidjeti. Ako nema moze se ispustiti
  11.  
  12. ' Kreiraj XMLHTTP objekat
  13. Set objHTTP = CreateObject("MSXML2.XMLHTTP")
  14.  
  15. ' Otvori HTTP zahtev
  16. objHTTP.Open "GET", url, False
  17.  
  18. ' Postavi Authorization header
  19. objHTTP.setRequestHeader "Authorization", authHeader
  20.  
  21. ' Posalji zahtev
  22. objHTTP.send
  23.  
  24. ' Dobavi odgovor
  25. response = objHTTP.responseText
  26.  
  27. ' Prikazi odgovor (na primer, u Immediate Window)
  28. Debug.Print response
  29. 'zatvori objHTTP
  30. Set objHTTP = Nothing
  31.  
  32. End Function

Ova pristupna tacka ne vraca nista nazalost.
Bilo bi bolje da vrati makar Ok ali tako je.
U ovoj pristunoj tacki mi i ne saljemo nista u data prena poteskoj.
Sledeci primjer cemo uzeti gdje se nesto salje u poresku gdje imamo neki odgovor.
Mi saljemo podatke u json formatu a i odgovor dobijamo u json formatu.
Za slanje nam nije problem jer je json struktuirani string pa u njega mozeemo ubaciti nase vb promjenjljive ondje gdje na treba promjenjljiva vrijednost ali mi isto trebamo iz json odgovora pokupiti neke vrijednosti koje pretpostavljam da se zapisuju u vasu bazu.
Tj kod treba napraviti.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#29 03.09.2024 19:18
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,644


Predmet:Re:Fiskalizacija u RS-u
Ja sam za sledeci primjer uzeo Gotovinski racun jer ovdje imamo data i pri slanju a i mamo i odgovor(json).
Json za jedan artikl izgleda ovako:
PreuzmiIzvorni kôd (Text):
  1. {
  2.     "invoiceRequest": {
  3.         "invoiceType": "Normal",
  4.         "transactionType": "Sale",
  5.         "payment": [
  6.             {
  7.                 "amount": 100.00,
  8.                 "paymentType": "Cash"
  9.             }
  10.         ],
  11.         "items": [
  12.             {
  13.                 "name": "Artikl 1",
  14.                 "labels": [
  15.                     "F"
  16.                 ],
  17.                 "totalAmount": 100.00,
  18.                 "unitPrice": 50.00,
  19.                 "quantity": 2.000
  20.             }
  21.         ],
  22.         "cashier": "Radnik 1"
  23.     }
  24. }
a za 3 artikla:
PreuzmiIzvorni kôd (Text):
  1. {
  2.     "invoiceRequest": {
  3.         "invoiceType": "Normal",
  4.         "transactionType": "Sale",
  5.         "payment": [
  6.             {
  7.                 "amount": 100.00,
  8.                 "paymentType": "Cash"
  9.             }
  10.         ],
  11.         "items": [
  12.             {
  13.                 "name": "Artikl 1",
  14.                 "labels": [
  15.                     "F"
  16.                 ],
  17.                 "totalAmount": 100.00,
  18.                 "unitPrice": 50.00,
  19.                 "quantity": 2.000
  20.             },
  21.             {
  22.                 "name": "Artikl 2",
  23.                 "labels": [
  24.                     "G"
  25.                 ],
  26.                 "totalAmount": 150.00,
  27.                 "unitPrice": 75.00,
  28.                 "quantity": 2.000
  29.             },
  30.             {
  31.                 "name": "Artikl 3",
  32.                 "labels": [
  33.                     "H"
  34.                 ],
  35.                 "totalAmount": 200.00,
  36.                 "unitPrice": 100.00,
  37.                 "quantity": 2.000
  38.             }
  39.         ],
  40.         "cashier": "Radnik 1"
  41.     }
  42. }
Sto znaci da je json dinamican pored toga sto su vrijednosti u njemu dinamicne.
Ukoliko uradim samo za dinamicke vrijednosti bojim se da se necete snaci pa bi dobro bilo da neko postavi tabele racuna i stavki racuna da bih mogao napisati kod za dinamicki json da ja ne izmisljam tabele niti polja.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#30 03.09.2024 20:09
Amelasar Van mreze
Clan
Registrovan od:07.04.2011
Postovi:304


Predmet:Re:Fiskalizacija u RS-u
Evo tabela racun i stavke racuna.

Prilozi:
Informacije o tipu datoteke za:rar  Tabele.rar
Preuzimanja:6
Velicina datoteke:13.72 KB


Pozdrav, Amela
↑  ↓

Stranice (10):1,2,3,4,5,6,7,8,9,10


Sva vremena su GMT +01:00. Trenutno vrijeme: 6: 01 am.