Od nedavno je uvedena obaveza da se svaki račun, predračun ili drugo potraživanje od preduzeđa ili institucija koje su korisnici javnih sredstava mora registrovati u Centralnom registru računa koji vodi Uprava ze trezor. Neregistrovanje izdatih računa povlači visoke kazne.
Pored gomile problema uvedenih ovim očigledno nedovoljno promišljenom i kontroverznom procedurom pojavljuje se i problem – kako znati ko je korisnik javnih sredstava, odnosno kako izbeći da se greškom pošalje račun takvom korisniku a da se prethodno ne registruje u Centralni registar računa.
Logično razmišljanje je da bi trebalo da postoji spisak takvih korisnika koji bi se mogao preuzeti, i podaci iz njega uvesti u knjigovodstveni program. To bi omogućilo da se, prilikom kreiranja računa automatski proveri i da li taj račun mora da se registruje u Registru centalnih računa.
Kao i sve druge implementacije elektronske uprave u Srbiji, tako se i sa ovom stiče utisak da neko namerno gleda kako da oteža postupak krajnjim korisnicima. Spisak je dostupan u elektronskom obliku u XLS formatu (Microsoft Excell) ali je sadržaj namenjen da ga čitaju ljudi a ne računari.
Uprava za trezor, pored Registra centralnih računa vodi i Registar korisnika javnih sredstava (Registar KJS). Pregled korisnika javnih sredstava, je moguć u obliku pretraživača (https://registarkjs.trezor.gov.rs/), koji može da prikaže podatke u mašinski čitljivom obliku (XML, CSV, JSON) ali je namerno napravljen tako da mora da ga koristi čovek, ručno izvrši pretragu a zatim i ručno preuzme datoteku. Nekome očigledno nikako ne odgovara automatska obrada.
Uz nešto analize kako pretraživač Registra KJS radi, napravio sam jednostavan PHP skript koji simulira osobu koja pristupa tom pretraživaču i automatski preuzima listu svih korisnika javnih sredstava u JSON formatu.
<?php $m_query = "searchJBKJS=&searchNaziv=&searchMesto=&searchMB=&searchPIB=&searchTip=&searchExTip=JSON"; $m_url = "http://registarkjs.trezor.gov.rs/Home/ExportData"; $ch = curl_init($m_url); curl_setopt ($ch, CURLOPT_POST, true); curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt ($ch, CURLOPT_AUTOREFERER, true); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt ($ch, CURLOPT_POSTFIELDS, $m_query); curl_setopt ($ch, CURLOPT_HTTPAUTH, 'CURLAUTH_ANY'); $m_result = json_decode (curl_exec ($ch)); curl_close ($ch); $m_get_url = "http://registarkjs.trezor.gov.rs//$m_result"; $ch = curl_init($m_get_url); curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt ($ch, CURLOPT_AUTOREFERER, true); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt ($ch, CURLOPT_HTTPAUTH, 'CURLAUTH_ANY'); $m_result = curl_exec ($ch); curl_close ($ch); echo $m_result; ?>
Ovo je pojednostavljen kod koji teba daposluži samo kao primer. Ako mislite da na ovaj način preuzimate podatke treba da ga dopunite proverom grešaka, formata i svime onim što je potrebno da bi on bio robustan i pouzdan.
Na sličan način možete podatke preuzimati i iz drugih programskih jezika.
Ovaj skript treba uporebljavati tako što se povremeno preuzme spisak i prebaci u lokalnu bazu na osnovu koje se vrši provera. Iako je praktično moguće napraviti da program direktno na sajtu proverio konkretnog korisnika javnih sredstava pomoži PIB, naziva ili nekog drugogo podataka, ne preporučujem vam da to radite jer biste tako pravili dodatni saobraćaj na sajtu trezora na koji oni sigurno ne bi gledali sa osobravanjem. I ovako je moguće da će, kada saznaju da ipak mogu da se podaci preuzmu automatski da preduzmu nešto da to onemoguće, ali ako im poraste opterećenje sajta zbog čestih upita onda je sasvim sigurno da će to uraditi.
