COM i VB6

Nov 29, 2012 at 8:11 AM

Poštovanje!
Molim pomoc ako moze u vezi com dll-a i VB6. Registrirao sam dll i napravio tlb i radi sve ok. I echo i slanje racuna i ostalo.
Problem je u tome da ne mogu vidjeti funkcije/membere klase CentralniInformacijskiSustav u Object Browser-u.

Dakle vidim library Raverus_FiskalizacijaDEV_COM i vidim klasu CentralniInformacijskiSustav ali ne vidim members u kalsi. Da li je to moguce slozit na koji nacin?

Postoji li kakav doc sa funkcijama u dll-u?

Nov 29, 2012 at 8:19 AM
dankoh wrote:

Poštovanje!
Molim pomoc ako moze u vezi com dll-a i VB6. Registrirao sam dll i napravio tlb i radi sve ok. I echo i slanje racuna i ostalo.
Problem je u tome da ne mogu vidjeti funkcije/membere klase CentralniInformacijskiSustav u Object Browser-u.

Dakle vidim library Raverus_FiskalizacijaDEV_COM i vidim klasu CentralniInformacijskiSustav ali ne vidim members u kalsi. Da li je to moguce slozit na koji nacin?

Postoji li kakav doc sa funkcijama u dll-u?

Nino nam je obecao da ce kod iduceg "build-anja" verzije omoguciti i to.. :)

 

 

Nov 29, 2012 at 8:20 AM

To bi bilo odlicno. Hvala na brzom odgovoru.

 

 

lp

Nov 29, 2012 at 8:28 AM
dankoh wrote:

To bi bilo odlicno. Hvala na brzom odgovoru.

 

 

lp

Mada u ovom primjeru kod COM-a imas sve kaj ti je potrebno.

Coordinator
Nov 29, 2012 at 1:50 PM

Inače, dokumentacija i primjeri su ovdje: http://fiskalizacija.codeplex.com/wikipage?title=Potpisivanje%20i%20slanje%20pozivanjem%20COM%20DLL-a

Dec 10, 2012 at 2:23 PM

Za kod u VB6. Trebao bih primjer od a-ž. Nije mi jasan slijed postupaka u primjeru za vbs. Prvo se formira xml string? Valjda ide prvo Uuid i ZKI ?

Stari sam programer, malo zahrđao a imam neke vb6 kase koje moram hitno doraditi. Svaka mi je pomoć dobrodošla. Hvala

Coordinator
Dec 10, 2012 at 2:28 PM

COM dokumentacija je ovdje: http://fiskalizacija.codeplex.com/wikipage?title=Potpisivanje%20i%20slanje%20pozivanjem%20COM%20DLL-a

Dec 10, 2012 at 2:35 PM
nenadk wrote:

Za kod u VB6. Trebao bih primjer od a-ž. Nije mi jasan slijed postupaka u primjeru za vbs. Prvo se formira xml string? Valjda ide prvo Uuid i ZKI ?

Stari sam programer, malo zahrđao a imam neke vb6 kase koje moram hitno doraditi. Svaka mi je pomoć dobrodošla. Hvala

Pa to bi ti islo nekako ovako .. :)

Kreiraj XML, prema strukturi i onda:

 

potpisaniXml = myObject.PotpisiXmlDokument(xml, "FISKAL 1")     ' ovo potpisuje tvoj XML file
soap = myObject.DodajSoapEnvelope(potpisaniXml) ' ovo dodaje SOAP element na tu poruku
odgovor = myObject.PosaljiPotpisanuSoapXmlPoruku(soap)  ' ovo salje poruku
cStrjir = myObject.DohvatiJir(odgovor)     ' e sada ovdje lovimoJIR
greska = myObject.OdgovorGreska     ' a ovdje gresku ako je ima

If greska <> "" Then        ' ispitujemo da li ima greske
lPoslano = False        ' ovo indikato da se upise u racun da nije poslano u CIS
cStrjir = myObject.DohvatiGresku(myObject.OdgovorGreska) ' ovdje si stavljam u JUR poruku od greske.
End If

 

I to bi bilo to. Ukratko. :)

 

Dec 10, 2012 at 2:37 PM

Da, zaboravio napomenuti da prvo ide :

 cStrZk = myObject.ZastitniKodIzracun("FISKAL 1", cMaticniBroj, cDatum, CStr(mBrojRacuna), gOznakaPoslovnogProstora, "1", cIznRac)   '  Zastitni kod

cStrUUID = myObject.GenerirajUuid() ' UID poruke

Dec 10, 2012 at 8:07 PM

gornav13, hvala. mislim da je to jasno (dok ne isprobam)

Dec 14, 2012 at 9:56 AM

Poštovani,

postoji li negdje primjer za slanje podataka o poslovnom prostoru? Naime koristim VB 6 + COM, kreirao sam XML, te mi nije jasno što dalje. U vbs primjeru razrađeno je slanje računa, pa Vas molim, ukoliko nije problem, kao gornji slučaj za slanje računa.

Hvala

Dec 14, 2012 at 11:07 AM

 


Private Sub btnPosaljiPodatke_Click()
    Dim odgovor As String
    Dim jir As String
    Dim myObject As Raverus_FiskalizacijaDEV_COM.CentralniInformacijskiSustav
    SavedPointer = Screen.MousePointer
    Screen.MousePointer = 11
    Set myObject = New Raverus_FiskalizacijaDEV_COM.CentralniInformacijskiSustav
    uuid = myObject.GenerirajUuid
    datum = Now
    sXML = "<?xml version=""1.0"" encoding=""utf-8""?>"
    sXML = sXML & "<tns:PoslovniProstorZahtjev xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" Id=""signXmlId"" xmlns:tns=""http://www.apis-it.hr/fin/2012/types/f73"">"
    sXML = sXML & "<tns:Zaglavlje>"
    sXML = sXML & "<tns:IdPoruke>" & uuid & "</tns:IdPoruke>"
    sXML = sXML & "<tns:DatumVrijeme>" & Format(datum, "dd.MM.yyyyTHH:mm:ss") & "</tns:DatumVrijeme>"
    sXML = sXML & "</tns:Zaglavlje>"
    sXML = sXML & "<tns:PoslovniProstor>"
    sXML = sXML & "<tns:Oib>" & txtOib & "</tns:Oib>"
    sXML = sXML & "<tns:OznPoslProstora>" & txtOznPoslProstora & "</tns:OznPoslProstora>"
    sXML = sXML & "<tns:AdresniPodatak>"
    sXML = sXML & "<tns:Adresa>"
    sXML = sXML & "<tns:Ulica>" & txtUlica & "</tns:Ulica>"
    sXML = sXML & "<tns:KucniBroj>" & txtKucniBroj & "</tns:KucniBroj>"
    If Trim(txtKucniBrojDodatak) <> "" Then sXML = sXML & "<tns:KucniBrojDodatak>" & txtKucniBrojDodatak & "</tns:KucniBrojDodatak>"
    sXML = sXML & "<tns:BrojPoste>" & txtBrojPoste & "</tns:BrojPoste>"
    sXML = sXML & "<tns:Naselje>" & txtNaselje & "</tns:Naselje>"
    sXML = sXML & "<tns:Opcina>" & txtOpcina & "</tns:Opcina>"
    sXML = sXML & "</tns:Adresa>"
    sXML = sXML & "</tns:AdresniPodatak>"
    sXML = sXML & "<tns:RadnoVrijeme>" & txtRadnoVrijeme & "</tns:RadnoVrijeme>"
    sXML = sXML & "<tns:DatumPocetkaPrimjene>" & Format(txtDatumPocetkaPrimjene, "dd.MM.yyyy") & "</tns:DatumPocetkaPrimjene>"
    If chkZatvarnje.Value = 1 Then sXML = sXML & "<tns:OznakaZatvaranja>Z</tns:OznakaZatvaranja>"
    sXML = sXML & "<tns:SpecNamj>" & txtSpecNamj & "</tns:SpecNamj>"
    sXML = sXML & "</tns:PoslovniProstor>"
    sXML = sXML & "</tns:PoslovniProstorZahtjev>"
    
    odgovor = myObject.PosaljiSoapPoruku(sXML, "FISKAL 1")
    Screen.MousePointer = SavedPointer
END SUB

 

Dec 17, 2012 at 7:35 PM

Na jednom računalu sam bez problema preuzeo digitalni certifikat i sve radi. Na bilo kojem drugom računalu mi u kod preuzimanja klijentskog certifikata (via CSP)javlja "Security protocol error".

U čemu je problem?

Dec 17, 2012 at 10:34 PM
Edited Dec 17, 2012 at 10:36 PM

@goranv13 -  zar nije jednostavnije ovako

 

Public Function izracunJIR(xml As String) As String
    Dim myObject As Raverus_FiskalizacijaDEV_COM.CentralniInformacijskiSustav
    Set myObject = New Raverus_FiskalizacijaDEV_COM.CentralniInformacijskiSustav
    odgovor = myObject.PosaljiSoapPorukuCertifikatDatoteka(xml, t_ProgSettings.certPath, t_ProgSettings.certPassword)
    izracunJIR = myObject.dohvatiJIR(odgovor)
    Set myObject = Nothing
End Function

metoda PosaljiSoapPorukuCertifikatDatoteka u sebi ima i rutinu za potpisivanje xml-a, dakle samo jedna metoda , a ti koristis 3 metode za isto: 

potpisaniXml = myObject.PotpisiXmlDokument(xml, "FISKAL 1")     ' ovo potpisuje tvoj XML file
soap = myObject.DodajSoapEnvelope(potpisaniXml)  ' ovo dodaje SOAP element na tu poruku
odgovor = myObject.PosaljiPotpisanuSoapXmlPoruku(soap) 
zasto? lp, sanjin