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...