POČETNA SPI SC servis

Metoda dohvatiRaspodjeluPoPozicijamaDokumenta

Opis Metoda za dohvaćanje raspodjele dokumenta po pozicijama.

Specifikacija ulaznog XML-a:

Struktura Opis Tip podatka Uvjet Broj pojavljivanja elementa
dohvatiRaspodjeluPoPozicijamaDokumentaRequest
VsID Identifikator vanjskog sustava (dogovara se) string(36) 1..1
Godina Poslovna godina dokumenata za kojeg se dohvaća raspodjela smallint 1..1
DokVrsta Vrsta dokumenta u LC SPI sustavu
Enumeracija:
"URA192" - ulazni račun
"KNZ192" - knjižni zapis (dobavljača)
"PLN127" - plan nabave
"NAR127" - narudžbenica
"UGO125" - ugovor
string(40) 1..1
DokGUID Identifikator dokumenta uniqueidentifier 1..1
VratiCPVOznaku Na zahtjev vraća u Responseu Šifru CPV oznake
false - ne vraća CPV oznaku
true - vraća CPV oznaku
bit 0..1
/dohvatiRaspodjeluPoPozicijamaDokumenta

* DokVrsta je obvezan kako bi se znalo koji tipo podatka se šalje za dohvat raspodjele po pozicijama

Specifikacija izlaznog XML-a:

Struktura Opis Tip podatka Uvjet Broj pojavljivanja elementa
dohvatiRaspodjeluPoPozicijamaDokumentaResponse
VsID Identifikator vanjskog sustava (dogovara se) string(36) 1..1
Godina Poslovna godina smallint 1..1
DokVrsta Vrsta dokumenta u LC SPI sustavu
Enumeracija:
"URA192" – ulazni račun
"KNZ192" - knjižni zapis (dobavljača)
"PLN127" - plan nabave
"NAR127" - narudžbenica
"UGO125" – ugovor
string(40) 1..1
raspodjele {Or 1..1
raspodjela 1..n
PozSifra Šifra pozicije
detalji pozicije se dohvaćaju metodom dohvatiPozicijeSIznosima
string(8) 1..1
KonKonto Konto troška vezan za poziciju
detalji konta se dohvaćaju metodom dohvatiKontniPlan
string(12) 0..1
Iznos Iznos po poziciji decimal(18,2) 1..1
CPVSifra CPV Oznaka glavnog rječnika string(10) 0..1
/raspodjela
/raspodjele
greska Or} 1..1
Greska 1 – greška (globalna);
2 - greška (nije pronađen dokument sa poslanim identifikatorom)
tinyint 1..1
OpisGreske Opis greške prilikom ažuriranja podatka string(300) 1..1
/greska
/dohvatiRaspodjeluPoPozicijamaDokumentaResponse

* U odgovoru metode popis pozicija raspodjele s obzirom na vrstu dokumenta DokVrsta.

Primjer requesta:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v0="http://www.spi.hr/ws/razmjena/sc/razmjenalc127/v0.1"> <soapenv:Header /> <soapenv:Body> <v0:dohvatiRaspodjeluPoPozicijamaDokumentaRequest> <v0:VsID>SC</v0:VsID> <v0:Godina>2023</v0:Godina> <v0:DokVrsta>UGO125</v0:DokVrsta> <v0:DokGUID>2514A4A8-E62A-EE11-8110-00145ED6B470</v0:DokGUID> <!--Optional:--> <v0:VratiCPVOznaku>1</v0:VratiCPVOznaku> </v0:dohvatiRaspodjeluPoPozicijamaDokumentaRequest> </soapenv:Body> </soapenv:Envelope>

Primjer responsea:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns4:dohvatiRaspodjeluPoPozicijamaDokumentaResponse xmlns:ns7="http://www.spi.hr/ws/razmjena/sc/v0.1" xmlns:ns6="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02" xmlns:ns5="http://www.spi.hr/ws/razmjena/sc/razmjenalc125/v0.1" xmlns:ns4="http://www.spi.hr/ws/razmjena/sc/razmjenalc127/v0.1" xmlns:ns3="http://www.spi.hr/ws/razmjena/sc/razmjenasc/v0.1" xmlns:ns2="http://www.spi.hr/ws/razmjena/sc/razmjenarp/v0.1"> <ns4:VsID>SC</ns4:VsID> <ns4:Godina>2023</ns4:Godina> <ns4:DokVrsta>UGO125</ns4:DokVrsta> <ns4:raspodjele> <ns4:raspodjela> <ns4:PozSifra>R0034</ns4:PozSifra> <ns4:KonKonto>322110</ns4:KonKonto> <ns4:Iznos>5000.00</ns4:Iznos> <ns4:CPVSifra>30192000-1</ns4:CPVSifra> </ns4:raspodjela> <ns4:raspodjela> <ns4:PozSifra>R0175</ns4:PozSifra> <ns4:KonKonto>3221118</ns4:KonKonto> <ns4:Iznos>5000.00</ns4:Iznos> <ns4:CPVSifra>30192000-1</ns4:CPVSifra> </ns4:raspodjela> </ns4:raspodjele> </ns4:dohvatiRaspodjeluPoPozicijamaDokumentaResponse> </soap:Body> </soap:Envelope>

Primjer dohvata podataka za stavku plana nabave '14/19-3JR':

--OBVEZNI PARAMETRI DECLARE @Godina SMALLINT= 2019; DECLARE @DokVrsta VARCHAR(40)= PLN127; DECLARE @OznakaStavke VARCHAR(20)= '14/19-3JR'; -- OPCIONALNI PARAMETRI DECLARE @OrgNivo VARCHAR(9); IF @DokVrsta = PLN127 BEGIN ( SELECT POZ.SIFRAPOZ, POZ.NAZIVPOZ, PNR.PlaniranaVrijednost FROM lc127_plannabave AS pn INNER JOIN lc127_glavaplananabave AS gpn ON gpn.GlavaPlanaNabaveID = pn.GlavaPlanaNabaveID INNER JOIN LC127_CPVGlavniRjecnik AS cpv ON cpv.CPVGlavniRjecnikID = pn.CPVGlavniRjecnikID INNER JOIN LC127_PlanNabaveRazrada PNR ON PNR.PlanNabaveID = pn.PlanNabaveID INNER JOIN LC127_PlanNabaveRazradaNeSektor PNRNS ON PNRNS.PlanNabaveRazradaNeSektorID = PNR.PlanNabaveRazradaNeSektorID INNER JOIN LC147_PlanStavke AS PS ON PS.PlanStavkeID = PNRNS.PlanStavkeID INNER JOIN LC147_Pozicije AS POZ ON POZ.PozicijeID = PS.PozicijeID INNER JOIN LCZAJ_RacunskiPlan rp ON rp.RacunskiPlanID = POZ.RacunskiPlanID WHERE gpn.Aktivnost = 'A' AND gpn.Godina = @Godina AND pn.EvidencijskiBroj = @OznakaStavke ); END; ELSE IF @DokVrsta = NAR127 BEGIN -- U RAZVOJU END; ELSE IF @DokVrsta = ... BEGIN -- END;