Natrag   Forum.hr > Informatička tehnologija > Za napredne korisnike > Programiranje

Programiranje Za programere i one koji to žele postati ...

Odgovor
 
Tematski alati Opcije prikaza
Old 09.03.2024., 09:28   #1101
Quote:
sanjinkleva kaže: Pogledaj post
Pozdrav, nisam uspio poslati napojnica zahtjev na fiskalizaciju, imam raverus 3.1 COM dll . Sta da radim? Koristim VB6, javlja mi gresku "The remote server returned an error (500). Internal Server Error
Uspio sam ide bez editiranje source-a raverusa....samo sam imao krivi
XML koji sam slao ....jbg...ako kome informacija pomaze, eto! hvala svejedno!
sanjinkleva is offline  
Odgovori s citatom
Old 09.03.2024., 09:33   #1102
Quote:
nanoIT kaže: Pogledaj post
Pozz.. ukoliko ima netko riješenu fiskalizaciju napojnice uz pomoć Raverus.FiskalizacijaDEV.COM.dll a spreman ju je podijeliti
molim vas da mi se javi.

Unaprijed zahvaljujem.
Public Function FiskalizirajNapojnicu() As String
Dim sXML As String
Dim myObject As Raverus_FiskalizacijaDEV_COM.CentralniInformacijsk iSustav
Set myObject = New Raverus_FiskalizacijaDEV_COM.CentralniInformacijsk iSustav
myObject.CISUrl = t_ProgSettings.CISUrl
sXML = "<?xml version=""1.0"" encoding=""utf-8""?>" & _
"<tns:NapojnicaZahtjev xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" Id=""signXmlId"" xmlns:tns=""http://www.apis-it.hr/fin/2012/types/f73"">" & _
"<tns:Zaglavlje>" & _
"<tns:IdPoruke>4248d349-11be-4279-aa56-787d295e20e8</tns:IdPoruke>" & _
"<tnsatumVrijeme>09.03.2024T08:39:49</tnsatumVrijeme>" & _
"</tns:Zaglavlje>" & _
"<tns:Racun>" & _
"<tns:Oib>65042658222</tns:Oib>" & _
"<tns:USustPdv>true</tns:USustPdv>" & _
"<tnsatVrijeme>09.03.2024T08:39:43</tnsatVrijeme>" & _
"<tns:OznSlijed>P</tns:OznSlijed>" & _
"<tnsrRac>" & _
"<tnsrOznRac>385</tnsrOznRac>" & _
"<tns:OznPosPr>PJ1</tns:OznPosPr>" & _
"<tns:OznNapUr>3</tns:OznNapUr>" & _
"</tnsrRac>" & _
"<tns:Pdv>" & _
"<tns:Porez>" & _
"<tns:Stopa>25.00</tns:Stopa>" & _
"<tns:Osnovica>1.60</tns:Osnovica>" & _
"<tns:Iznos>0.40</tns:Iznos>" & _
"</tns:Porez>" & _
"</tns:Pdv>"
sXML = sXML & "<tns:IznosUkupno>2.00</tns:IznosUkupno>" & _
"<tns:NacinPlac>G</tns:NacinPlac>" & _
"<tns:OibOper>44231589200</tns:OibOper>" & _
"<tns:ZastKod>b9c2116b2c5c58809aea7da86b803b65 </tns:ZastKod>" & _
"<tns:NakDost>false</tns:NakDost>" & _
"<tns:Napojnica>" & _
"<tns:iznosNapojnice>1.00</tns:iznosNapojnice>" & _
"<tns:nacinPlacanjaNapojnice>T</tns:nacinPlacanjaNapojnice>" & _
"</tns:Napojnica>" & _
"</tns:Racun>" & _
"</tns:NapojnicaZahtjev>"

odgovor = myObject.PosaljiSoapPorukuCertifikatDatoteka(sXML, t_ProgSettings.certPath, t_ProgSettings.certPassword)


End Function


Pazi pri tome da ti svi OIBI,, ZKI odgovaraju racunu koji si vec fiskalizirao, inace ces dobiti interntal server error...poz!
sanjinkleva is offline  
Odgovori s citatom
Old 26.03.2024., 10:23   #1103
Ekipa jel se tko susreo sa ovakvom porukom na demo okolini:
"Podaci za račun u poruci dostave podataka o napojnici razlikuju se od podataka fiskaliziranog računa ili račun nije fiskaliziran"

Račun je fiskalizirani (uredno dohvatio JIR) i podaci za XML napojnicu su doslovno c/p sa XML računa i opet dobivam ovu grešku

__________________
"Some things are too hot to touch
The human mind can only stand so much"

- Bob Dylan
Johnny B. is offline  
Odgovori s citatom
Old 26.03.2024., 12:21   #1104
zanemarite, i službeno sam bedak

sve radi
__________________
"Some things are too hot to touch
The human mind can only stand so much"

- Bob Dylan
Johnny B. is offline  
Odgovori s citatom
Old 15.04.2024., 10:01   #1105
Pozdrav ljudi, može mali help? Pitao sam i APIS ali sam dobio generalni odgovor... Znači imam JAVA program i za implementaciju fiskalizaciju napojnica. Ali mi javlja da podaci računa su drugačiji nego podaci već poslanog računa iako sam već 5 puta pregledao i property-e i iz baze u bazu sve sve i ne mogu naći u čemu je stvar, pa ako može help ... Doslovno je copy paste kako sam i gore našao računa, u kombinaciji s iznosom napojnice i tipom plaćanja.

SOAPMessage soapMessage = MessageFactory.newInstance().createMessage();
SOAPEnvelope envelope = soapMessage.getSOAPPart().getEnvelope();
envelope.addNamespaceDeclaration(myNamespace, myNamespaceURI);

SOAPBody soapBody = envelope.getBody();
SOAPElement rootElem = soapBody.addChildElement("NapojnicaZahtjev", myNamespace);
Name idName = envelope.createName("Id");
rootElem.addAttribute(idName, "NapojnicaZahtjev");
rootElem.setIdAttribute("Id", true);

// Header
Date currentDate = new Date();
SOAPElement headerElem = rootElem.addChildElement("Zaglavlje", myNamespace);
headerElem.addChildElement("IdPoruke", myNamespace).addTextNode(UUID.randomUUID().toStrin g());
headerElem.addChildElement("DatumVrijeme", myNamespace).addTextNode(new SimpleDateFormat("dd.MM.yyyy").format(currentDate) + "T" + new SimpleDateFormat("HH:mms").format(currentDate));

// Invoice data 1
SOAPElement invoiceElem = rootElem.addChildElement("Racun", myNamespace);
invoiceElem.addChildElement("Oib", myNamespace).addTextNode(GetFiscOib(false));
invoiceElem.addChildElement("USustPdv", myNamespace).addTextNode(invoice.isInVatSystem ? "true" : "false");
invoiceElem.addChildElement("DatVrijeme", myNamespace).addTextNode(new SimpleDateFormat("dd.MM.yyyy").format(invoice.date ) + "T" + new SimpleDateFormat("HH:mms").format(invoice.date)) ;
invoiceElem.addChildElement("OznSlijed", myNamespace).addTextNode("P");
SOAPElement invoiceNumberElem = invoiceElem.addChildElement("BrRac", myNamespace);
invoiceNumberElem.addChildElement("BrOznRac", myNamespace).addTextNode("" + invoice.invoiceNumber);
invoiceNumberElem.addChildElement("OznPosPr", myNamespace).addTextNode("" + invoice.officeTag);
invoiceNumberElem.addChildElement("OznNapUr", myNamespace).addTextNode("" + invoice.cashRegisterNumber);
InvoiceTaxes invoiceTaxes = ClientAppUtils.CalculateTaxes(invoice);
SOAPElement taxesElem = invoiceElem.addChildElement("Pdv", myNamespace);
for (int i = 0; i < invoiceTaxes.taxRates.size(); ++i){
if(invoiceTaxes.isConsumpionTax.get(i))
continue;

SOAPElement taxElem = taxesElem.addChildElement("Porez", myNamespace);
taxElem.addChildElement("Stopa", myNamespace).addTextNode(ClientAppUtils.DoubleToPr iceString(invoiceTaxes.taxRates.get(i)));
taxElem.addChildElement("Osnovica", myNamespace).addTextNode(ClientAppUtils.DoubleToPr iceString(invoiceTaxes.taxBases.get(i)));
taxElem.addChildElement("Iznos", myNamespace).addTextNode(ClientAppUtils.DoubleToPr iceString(invoiceTaxes.taxAmounts.get(i)));
}
float totalPrice = ClientAppUtils.FloatToPriceFloat(invoice.totalPric e * (100f - invoice.discountPercentage) / 100f - invoice.discountValue);
invoiceElem.addChildElement("IznosUkupno", myNamespace).addTextNode(ClientAppUtils.FloatToPri ceString(totalPrice));
invoiceElem.addChildElement("NacinPlac", myNamespace).addTextNode(GetPaymentMethodCode(invo ice));
invoiceElem.addChildElement("OibOper", myNamespace).addTextNode(invoice.staffOib);
invoiceElem.addChildElement("ZastKod", myNamespace).addTextNode(invoice.zki);
invoiceElem.addChildElement("NakDost", myNamespace).addTextNode("false");
SOAPElement napojnicaElement = invoiceElem.addChildElement("Napojnica", myNamespace);
DecimalFormatSymbols symbols = new DecimalFormatSymbols(Locale.forLanguageTag("hr-HR"));
symbols.setDecimalSeparator('.');
DecimalFormat df = new DecimalFormat("0.00", symbols);
String formattedValue = df.format((double) iznosNapojnice);
System.out.println(formattedValue);
napojnicaElement.addChildElement("iznosNapojnice", myNamespace).addTextNode(formattedValue);
napojnicaElement.addChildElement("nacinPlacanjaNap ojnice", myNamespace).addTextNode(invoice.tipNapojnice);

// Save message
soapMessage.setProperty(SOAPMessage.WRITE_XML_DECL ARATION, "true");
soapMessage.saveChanges();

// Sign the message
SignMessage(rootElem, "#NapojnicaZahtjev", !invoice.isTest);
soapMessage.saveChanges();


SOAPConnection soapConnection = SOAPConnectionFactory.newInstance().createConnecti on();
SOAPMessage soapResponse = soapConnection.call(soapMessage, FISK_URL_TEST);

final int timeout;
if (isNow){
timeout = 1000 * ClientAppSettings.GetInt(Values.AppSettingsEnum.SE TTINGS_FISCALISATION_WAITTIME.ordinal());
} else {
timeout = 1000 * ClientAppSettings.GetInt(Values.AppSettingsEnum.SE TTINGS_FISCALISATION_WAITTIME_REPEAT.ordinal());
}
URL endpoint = new URL(new URL(invoice.isTest ? FISK_URL_TEST : FISK_URL_PROD), "", new URLStreamHandler() {
@Override
protected URLConnection openConnection(URL url) throws IOException {
URL target = new URL(url.toString());
URLConnection connection = target.openConnection();
// Connection settings
connection.setConnectTimeout(timeout);
connection.setReadTimeout(timeout);
return connection;
}
});
SOAPMessage soapResponse = soapConnection.call(soapMessage, endpoint);


ClientAppLogger.GetInstance().LogFiscalizationXMLR eceived(soapResponse, "R-" + invoice.invoiceNumber + "-"+ invoice.officeTag + "-" + invoice.cashRegisterNumber);

Iterator reponseIterator = soapResponse.getSOAPBody().getChildElements();
while(reponseIterator.hasNext()){
Node responseNode = (Node) reponseIterator.next();
ClientAppLogger.GetInstance().LogMessage("Response node: " + responseNode.getNodeName());
if("tns:NapojnicaOdgovor".equals(responseNode.getN odeName())){
ClientAppLogger.GetInstance().LogMessage(responseN ode.getTextContent());
NodeList racunOdgovorNodes = responseNode.getChildNodes();
for(int i = 0; i < racunOdgovorNodes.getLength(); ++i){
ClientAppLogger.GetInstance().LogMessage("racun odgovor node: " + responseNode.getNodeName());
Node racunOdgovorNode = (Node) racunOdgovorNodes.item(i);
if("tns:PorukaOdgovora".equals(racunOdgovorNode.ge tNodeName())){
NodeList porukaOdgovoraNodes = responseNode.getChildNodes();
for(int j = 0; j < porukaOdgovoraNodes.getLength(); ++j){
Node porukaOdgovoraNode = (Node) porukaOdgovoraNodes.item(j);
ClientAppLogger.GetInstance().LogMessage("poruka odgovora node: " + porukaOdgovoraNodes.item(j));
if("tns:SifraPoruke".equals(porukaOdgovoraNode.get NodeName())){
ClientAppLogger.GetInstance().LogMessage(porukaOdg ovoraNode.getTextContent());
};
}
}
else if ("tns:Greske".equals(racunOdgovorNode.getNodeName( ))){
ClientAppLogger.GetInstance().LogMessage(racunOdgo vorNode.getTextContent());
NodeList porukaGresakaNodes = racunOdgovorNode.getChildNodes();
for(int k = 0; k < porukaGresakaNodes.getLength(); ++k){
Node porukaGresakaNode = (Node) porukaGresakaNodes.item(k);
ClientAppLogger.GetInstance().LogMessage("poruka gresaka node: " + porukaGresakaNodes.item(k));
if ("tns:Greska".equals(porukaGresakaNode.getNodeName ())){
NodeList porukaNaGreskiNodes = porukaGresakaNode.getChildNodes();
for(int m = 0; m < porukaNaGreskiNodes.getLength(); ++m){
Node porukaGreskeNode = (Node) porukaNaGreskiNodes.item(m);
ClientAppLogger.GetInstance().LogMessage("poruka na greski node: " + porukaNaGreskiNodes.item(m));
if("tns:PorukaGreske".equals(porukaGreskeNode.getN odeName())){
ClientAppLogger.GetInstance().LogMessage(porukaGre skeNode.getTextContent());
}
}

}
}
}
}
}
}
asfutura is offline  
Odgovori s citatom
Old 15.04.2024., 14:30   #1106
Je li račun fiskaliziran u momentu slanja zahtjeva za napojnicu?
DilanDog is offline  
Odgovori s citatom
Old 15.04.2024., 17:23   #1107
Sada bubam napamet,

").format(currentDate))

Je ovo ok da bude currentDate, tj pretposta ljam da uzima trenutno vrijeme, a možda mora ići vrijeme sa računa?
skijam is offline  
Odgovori s citatom
Old 16.04.2024., 08:05   #1108
pa usporedi XML-ove računa i napojnice, moraju biti isti osim onog dodatnog dijela za napojnice
__________________
"Make up your mind. Is Death a friend? Then go joyfully to hunt with it, as I did. If it's an enemy, then fight it. But don't sag here like a wounded cow waiting for predators to finish it off. You are not prey, nor I! If we must die, let us die as wolves!”- Nighteyes
Baphomet is offline  
Odgovori s citatom
Old 19.04.2024., 11:33   #1109
Pozdrav, novi sam u fiskalizaciji, znam druge programske jezike, ali ne znam xml, našao sam staru skriptu za fiskalizaciju, koja je koristila .pfx certifikat, prepravio sam na .p12, ako bi bili od pomoći pa samo bacili oko na xml koji se šalje na poreznu, da li sam dobro napravio, i treba mi pomoć, pošto razvijam u web pregledniku program za fiskalizaciju, kako ste rješili automatsko slanje na printer računa nakon klika na izdaj račun.. Hvala

I jesam li dobro napravio za slanje poreznih skupina sa računa(25%, 13% i 5%, kao i 0% za oslobođene od pdv-a..


hvala

<tns:RacunZahtjev Id="66223a2f05e33" xmlns:tns="http://www.apis-it.hr/fin/2012/types/f73">
<tns:Zaglavlje>
<tns:IdPoruke>55b45de1-d1b3-4b73-bc2c-2f6363eb3737</tns:IdPoruke>
<tnsatumVrijeme>19.04.2024T12:32:31</tnsatumVrijeme>
</tns:Zaglavlje>
<tns:Racun>
<tns:Oib>33423177737</tns:Oib>
<tns:USustPdv>1</tns:USustPdv>
<tnsatVrijeme>19.04.2024T12:32:31</tnsatVrijeme>
<tns:OznSlijed>P</tns:OznSlijed>
<tnsrRac>
<tnsrOznRac>331</tnsrOznRac>
<tns:OznPosPr>POSL1</tns:OznPosPr>
<tns:OznNapUr>1</tns:OznNapUr>
</tnsrRac>
<tns:Pdv>
<tns:Porez>
<tns:Stopa>25.00</tns:Stopa>
<tns:Osnovica>160.00</tns:Osnovica>
<tns:Iznos>40.00</tns:Iznos>
</tns:Porez>
<tns:Porez>
<tns:Stopa>13.00</tns:Stopa>
<tns:Osnovica>0.88</tns:Osnovica>
<tns:Iznos>0.12</tns:Iznos>
</tns:Porez>
<tns:Porez>
<tns:Stopa>5.00</tns:Stopa>
<tns:Osnovica>9.52</tns:Osnovica>
<tns:Iznos>0.08</tns:Iznos>
</tns:Porez>
<tns:Porez>
<tns:Stopa>0.00</tns:Stopa>
<tns:Osnovica>100.00</tns:Osnovica>
<tns:Iznos>0.00</tns:Iznos>
</tns:Porez>
</tns:Pdv>
<tns:IznosUkupno>311.00</tns:IznosUkupno>
<tns:NacinPlac>G</tns:NacinPlac>
<tns:OibOper>33423177737</tns:OibOper>
<tns:ZastKod>87100d45a42e5beda7ae0a64681b512b</tns:ZastKod>
<tns:NakDost>0</tns:NakDost>
</tns:Racun>
</tns:RacunZahtjev>
damjan24 is offline  
Odgovori s citatom
Old 20.04.2024., 11:54   #1110
I imam još jedno pitanje, jer ne mogu pronaći način izračuna PNP kada je uključena i stopa PDV-a.. Da li se ovako ispravno izračunava

PDV 25%:
Osnovica: 160,00
PDV: 40,00
Ukupno: 200,00

PNP 3%:
Osnovica(155,34) = osnovica_pdv(160,00) - 3% pnp(4,66)
PNP: 4,66
Ukupno: 160,00


Jel se pnp izračunava od osnovice pdv-a?



evo primjer u xml

<tnsrRac>
<tnsrOznRac>436</tnsrOznRac>
<tns:OznPosPr>POSL1</tns:OznPosPr>
<tns:OznNapUr>1</tns:OznNapUr>
</tnsrRac>
<tns:Pdv>
<tns:Porez>
<tns:Stopa>25.00</tns:Stopa>
<tns:Osnovica>160.00</tns:Osnovica>
<tns:Iznos>40.00</tns:Iznos>
</tns:Porez>
</tns:Pdv>
<tns:Pnp>
<tns:Porez>
<tns:Stopa>3.00</tns:Stopa>
<tns:Osnovica>155.34</tns:Osnovica>
<tns:Iznos>4.66</tns:Iznos>
</tns:Porez>
</tns:Pnp>
<tns:IznosUkupno>200.00</tns:IznosUkupno>
damjan24 is offline  
Odgovori s citatom
Old 22.04.2024., 09:22   #1111


Valjda je osnovica za PDV i PNP ista

Ovako nekako

<tns:Porez>
<tns:Stopa>25.00</tns:Stopa>
<tns:Osnovica>156.25</tns:Osnovica>
<tns:Iznos>39.06</tns:Iznos>
</tns:Porez>
</tns:Pdv>
<tns:Pnp>
<tns:Porez>
<tns:Stopa>3.00</tns:Stopa>
<tns:Osnovica>156.25</tns:Osnovica>
<tns:Iznos>4.69</tns:Iznos>
</tns:Porez>
</tns:Pnp>
<tns:IznosUkupno>200.00</tns:IznosUkupno>
__________________
"Make up your mind. Is Death a friend? Then go joyfully to hunt with it, as I did. If it's an enemy, then fight it. But don't sag here like a wounded cow waiting for predators to finish it off. You are not prey, nor I! If we must die, let us die as wolves!”- Nighteyes
Baphomet is offline  
Odgovori s citatom
Old 22.04.2024., 11:10   #1112
:-) Tako je, osnovica za PDV i PNP je ista.
AyV4n is offline  
Odgovori s citatom
Odgovor



Kreni na podforum




Sva vremena su GMT +2. Trenutno vrijeme je: 15:14.