Dva računa za redom imaju različiti ZKI a isti JIR u razmaku od 5 minuta???

Jan 11, 2013 at 11:30 PM

U jednoj trgovini jučer trgovkinja je primjetila da dva računa za redom izdana u razmaku od 5 minuta imaju isti JIR. ZKI jer različit ali je JIR isti.

Više ne znam u šta da sumnjam. U svoj soft, u poreznu upravu ili Raverus dll.
Odmah nakon dobivanja JIR-a isti se zapisuje u bazu. To je iduća linija koda ako je digitalni potpis povratne poruke valjan. Ako nije sve se obustavlja i vraća na unos računa s porukom o grešci.

Kad disabliram internet uredno dobijem prazan JIR.

Koji dan prije na jednom drugom mjestu uspjeli su napraviti par računa koji uopće nemaju ZKI!!!

Znam da je ZKI prazan ako nema certifikata, ali nakon tih praznih opet je sve normalno proradilo.

 

Gremlini????

Jan 12, 2013 at 1:05 AM

a što se događa sa uuid-om?

Jan 12, 2013 at 6:31 AM

Ne znam što radite kada dobijete exception koji počinje sa s001-s006. Svaki od njih ima znaćenje, mi npr. za te exceptions ne priznajemo ZKI dok se ne vidi gdje je greška. Normalno ako nema interneta ZKI ide bez JIR-a dalje. Naravno, ne priznajemo ZKI ako se UUID razlikuje..

Jan 12, 2013 at 8:46 AM

Exception sam obradio i provjereno funkcionira (par puta fulao OIB kod prijave prodavaonice.

CASE EXCEPTION:

IF cis.OdgovorGreska<>Null THEN
    Error("Greška: "+XMLExtractString(cis.OdgovorGreska.InnerXml,"tns:SifraGreske")," ",XMLExtractString(cis.OdgovorGreska.InnerXml,"tns:PorukaGreske"))
    RESULT False
END   
IF HError <> 0 THEN
    Error("Greška: "+HError+" "+HErrorInfo)
    RESULT False
END
RESULT True

Na temelju RESULT-a odlučujem šta ću dalje...

Jan 12, 2013 at 10:19 AM

Za isti JIR ne znam, to bi trebao reći Nino, vjerojatno je teoretski moguće dobiti isti u nekoj beskonačnoj varijanti, još nam ostaje i uuid, da li imate kontrolu request/response prema njemu. Osim toga ako ZKI nije dužine hex 32 mi smatramo da je to false.. pa bi takav račun trebali odbiti..

Jan 12, 2013 at 3:22 PM

Ufff. Nisam ja uopće kontrolirao da li je IdPoruke isti na zahtjevu i odgovoru. No dobro sad sam to ubacio pa izgleda otprilike ovako:

IF pos_config.nofiskal<>1
dok=cis:Posaljiracun(rac,pos_fiskal.ozncert)
dokp=dok
IF Potpisivanje::ProvjeriPotpis(dokp)<>1 THEN
    Error("Digitalni potpis povratne poruke nije valjan")
    RESULT False
END
XMLSrc is string = fLoadText(".\xml\RacunZahtjev.xml")
IF (XMLExtractString(XMLSrc, "tns:IdPoruke",1,XMLExact)<>XMLExtractString(dok.InnerXml,"tns:IdPoruke")) THEN
pos_zagl.jir=Null   
ELSE
pos_zagl.jir=XMLExtractString(dok.InnerXml,"tns:Jir")
END
END

Dakle ako UUID zahtjeva i odgovora nisu isti trpa null u jir i ide na naknadnu fiskalizaciju.

E mene sad zanima da li postoji neka direktna funkcija za čitanje UUID-a iz zahtjeva (u memoriji), jer nisam ništa našao pa sam uključio da genereira XML pa ga čita iz dokumenta ručno. Ja nisam stavio da generira UUID explicitno pošto sam vidio da DLL to obavlja umjesto mene :)

Ako je CIS nedostupan exception se aktivira već kod PosaljiRacun() funkcije...

Jan 12, 2013 at 3:57 PM

Nije mi vrag dao mira pa sam išao provjeriti u poreznu po ZKI-ju.

Drugi račun nije evidentiran :(

Ostao mu je JIR od prethodnog očito. Samo ne znam kako.

Coordinator
Jan 13, 2013 at 8:34 AM

Pretpostavljam da je greška negdje kod tebe, Porezna garantira da će za svaku primljenu poruku vratiti novi JIR. FiskalizacijaDEV.DLL/EXE/COM samo vade JIR iz XML poruke primljene iz Porezne, nema tu neke mudrosti...