[ loto17 @ 20.07.2010. 14:54 ] @
Da li postoji nacin da se na sajtu:
http://www.nbs.rs/export/internet/latinica/67/rir.html
simulira kucanje PIB-a u polju: "Poreski broj", simulira pritisak na dugme: "Pretrazi" i tako otvori sledeca stranica koja sadrzi podatke da li je kupac u blokadi ili ne.
Ideja je da korisnik programa svako jutro dobije kompletan izvestaj o plateznoj moci njegovih komitenata ili da prilikom fakturisanja dobije Upozorenje/Zabranu/Informaciju o kupci koji je porucio robu!
Ovde postoji, vrlo simpaticno, resenje o preuzimanju kursne liste sa NBS sajta ( Getsbi / Zoran Eremija ) , ali ovo je daleko veci izazov!
Bitna mi je samo ideja kako proslediti PIB i kako simulirati pritisak na dugme za pretrazivanje, ostalo cu sam odraditi i kompletno resenje poslati ovde!







[Ovu poruku je menjao loto17 dana 20.07.2010. u 16:04 GMT+1]
[ Zoran.Eremija @ 20.07.2010. 18:12 ] @
Moguce je radim na tome nego me ometaju drugi s nekim obavezama. Skoro sam dosao do resenja cim zavrsim okacicu ga ovde :-)
[ Zoran.Eremija @ 21.07.2010. 19:33 ] @
Uspeo sam da dam odgovor na Vase postavljeno pitanje, ali dalje nisam znao tako da s nestrpljenjem ocekujem resenje...
[ loto17 @ 22.07.2010. 07:21 ] @
Zorane, hvala najlepse!!!
Preko vikenda cu da sednem i pokusam da uradim ovo do kraja.
Ako budem uspeo, poslacu ovde kompletno resenje!!!

[ 3okc @ 22.07.2010. 07:58 ] @
Nekako sam iščačkao format za URL!

Code:
http://www.nbs.rs/rir_pn/pn_rir.html.jsp?type=rir_results
&lang=SER_CIR&konverzija=yes&pib=105554837

(za skupštinu stanara)

Dovoljan je i samo PIB, a ukoliko postoji više podataka, odvajamo ih sa '&'. Npr ovako:

Code:
http://www.nbs.rs/rir_pn/pn_rir.html.jsp?type=rir_results
&lang=SER_CIR&konverzija=yes
&sifban=160&partija=304764&kontbr=9&matbr=17724037&pib=105554837
[ smal @ 22.07.2010. 08:05 ] @
Citat:
Zoran.Eremija: Uspeo sam da dam odgovor na Vase postavljeno pitanje


Zorane, ovo je super :) Hvala!
[ Zoran.Eremija @ 22.07.2010. 13:45 ] @
A uz pomoc @3okc evo ga i kompletno resenje...
[ loto17 @ 22.07.2010. 15:34 ] @
Kapa dole!!!
3okc je majstorski resio problem link-a, a ostalo je , vrlo elegantno, odradio Zoran Eremija.
Hvala, momci !!!


[ biske86 @ 22.07.2010. 15:59 ] @
Meni prikazuje stranicu ali i neku grešku kada izaberem treći, četvrti i peti slog. Otvorio sam preko Access 2007.

Evo slike:

[ Zidar @ 22.07.2010. 16:55 ] @
Briljantno

A ja mislio zanm 'sve' Access-u. Predlazem da se nekoliko dana ljudi aktivno sluze programom, da se vidi ima li poneko stucanje tu i tamo, i da se onda postavi ne temu 'progemi koji su radili clanovi foruma'.
[ Zidar @ 22.07.2010. 17:07 ] @
Ja sam dobijao istu gresku kao Biske, ali nisam hteo da kvarim raspolozenje. Posto ne razumem kako cela stvar radi, nisma ni pokusao da poravim problem, ali sam, izgleda, uspeo sam da udarim zakrpu. Ovaj problem je verovatno minoran, ni u kom slucaju ne baca senku na osnovno resenje.

Vole bih da razumem sta se u stvari desava i gde je i kako primenjeno ono sto je dao @zoks. Ako bi Zoran hteo da nam pojasni sta je uradjeno i zasto, bila bi to veelika stvar. Unapred hvala.

Zakrpa:
Na formi "ProveraStatusaKodNBS" postoji procedura Private Sub ProcesPIB(). Tu sam dodao error handling gde gresku 91 jednostavno ignorisem. I Izbacio sam automatsko zatvaranje forme, koje se desava usled greske 91. I izgleda da radi.

Ponovo, nisam ispravio gresku, to moze samo Zoran da uradi. Ja sam je samo ignorisao i sakrio poruku od korisnika. U ovom slucaju cela stvar se isplatila, jer program posle toga radi. Evo zakrplenog koda:
Code:

Private Sub ProcesPIB()
Dim hd As IHTMLDocument2, he As IHTMLElement
Dim klBroj As Integer, klDatum As Date, dtMax As Date, bMax As Long, bCur As Long
Dim s As Byte
    
'Ako se doda error handling, moze se izbeci greska 91
On Error GoTo ProcesPIB_Error

    Set hd = Me.WebBrowser0.Document
    For Each he In hd.all
           If InStr(he.innerText, "Ne postoji") Then
                s = 0
                Exit For
            ElseIf InStr(he.innerText, "u platni promet") Then
                s = 1
            ElseIf InStr(he.innerText, "blokiran po osnovu") Then
                s = 2
                Exit For
            ElseIf InStr(he.innerText, "blokirana ") Then
                s = 3
                Exit For
            End If

    Next
    Forms![Partner]![StatusPrometaID] = s
    'Zidar je iskljucio ovo:
'    DoCmd.Close acForm, "ProveraStatusaKodNBS"

Exit_Here:
    On Error Resume Next
    Exit Sub

ProcesPIB_Error:
Select Case Err.Number
    Case 91
        'do nothing
    Case Else
        MsgBox "Error " & Err.Number _
                & vbCrLf & " " & Err.Description _
                & vbCrLf & " in procedure ProcesPIB of VBA Document Form_ProveraStatusaKodNBS"
End Select
Resume Exit_Here

End Sub



[ joojant200 @ 22.07.2010. 20:37 ] @
Kod mene na:
kucnom racunaru (access 2007) otvori, prikaze rezultat na manje od pola sekunde i odmah zatvori formu.
mom laptopu (access 2007) i zeninom laptopu (access 2003) javi gresku 'run time error 91' i otvori rezultat, kliknem na end i posle toga svaki sledeci otvori, prikaze rezultat na manje od pola sekunde i zatvori.
.
[ biske86 @ 22.07.2010. 21:01 ] @
Evo i kod mene je takva situacija. Zaboravio sam da prijavim tu grešku. Međutim ima jedna još čudija stvar u vezi ovog programa. A to je da tokom drugog pokretanja programa desilo mi se da pritisnem da se proveri za treći red i ono mi se pojavi ona greška u while petlji. Pritisnem END i ponovo pokušam kad ono radi bez problema.
Evo sad sam ponovo probao i nema nikakvih problema.
[ Zoran.Eremija @ 22.07.2010. 21:49 ] @
Ljudi rado bih vam pomogao da se kod mene ta greska javlja :-(

Da bih se mozda locirala greska navescu koju platformu imam:

Windows 7 Ultimate x64
Microsoft Office 2003 (11.8321.8324) SP3

@Zidar osnovnu ideju za ovo resenje sam dobio od doajena programiranja na ovom prostoru Slobodana Jovanovica, direktora racunarskog centra Radio televizije Srbije. Sustina je u tome da se primenom Microsoft HTML Object Library reference procita sadrzaj HTML fajla i unutar njega pronadje kljucna rec (izbegavajuci YU slova).
Buduci da o HTML jako malo znam krenuo sam prvo da prosledim parametar tj vrednost PIB na zadatu stranicu i onda sam u prvoj verziji simulirao prelazak s polja na polje i potvrdu na dugme Pretrazi. Ali problem je nastao kada se dobije rezultat pretrazivanja koji se prikazuje u drugom obliku koji ja i dalje ne poznajem :-) i tu sam zapeo.

Tada je u pomoc uskocio @3okc tako sto je prikazao punu adresu kojom se moze dati parametar za pretragu (PIB). Prakticno mi je otvorio vrata da zavrsim pricu.

Zbunjuje me to sto vidim da kod nekih ne radi kako treba, a zasto ne znam jer i ja sam jako malo znam o ovoj materiji ali sam imao zelju.
[ biske86 @ 22.07.2010. 21:58 ] @
Meni lično ovo ne treba (ili mi trenutno ne treba) i samo sam hteo da ukažem da postoje problemi. Jer ako se ovo ugradi u neki relani sistem a dešavaju se ovakve stvari korisnik će biti frustriran i verovatno će izbegavati taj softver.
[ 3okc @ 22.07.2010. 22:23 ] @
Citat:
biske86: Jer ako se ovo ugradi u neki relani sistem a dešavaju se ovakve stvari korisnik će biti frustriran i verovatno će izbegavati taj softver.


Program u principu - radi. Pitanje je samo koji su zahtevi. :)

I kod mene se dešavaju isti problemi sa prikazom: stranica zatreperi, tj prikaže se na momenat i iščezne. Nikakvo resetovanje tu nije pomoglo i to je tako za sve navedene PIB-ove. Zanimljivo, i meni je prijavio RunTime grešku prilikom prvog pokretanja ali posle više nije. (XP SP3, Office 2003 SP3)

Međutim, program popunjava statuse, tako da ipak vrši funkciju. (Doduše, nije baš jasno šta je sa firmama koje imaju više računa!?) S jedne strane i ovo je ok, međutim, baš i nema smisla da za svaki PIB moram da kliknem, zar ne? Mnogo je 'logičnije' da proveru odradi automatski *za sve* odjednom i, možda, da se piše još i datum/vreme poslednje promene. Npr, ako se status promeni od poslednje provere, upišemo vreme/datum provere, inače ne diramo datum - izuzetak samo ako je status prazan.
[ biske86 @ 22.07.2010. 22:33 ] @
I dalje mislim da je ovo neprihvatljivo ponašanje jednog programa. Ako je samo prikaz mogućnosti onda u redu ali ako ovo treba ugraditi u neku aplikaciju onda se kod mora popraviti.
[ smal @ 22.07.2010. 22:36 ] @
Meni bre radi super, svuda gde sam probao :) I na XP-u i na Win7, i u Accessu 2003 i 2007, i na Runtime 2003/2007. Svuda mi je default browser IE (7 ili 8), ako to ima veze.

Štaviše, već sam napravio aplikaciju sa šifarnikom Partnera iz firme, sa izveštajima itd, pa ću dati sutra snajkama iz računovodstva da se igraju, pa javljam rezultat.
[ Zoran.Eremija @ 22.07.2010. 22:39 ] @
Da dodam da je kod mene IE 8.0.7600.16385 i dalje radi bez problema...
[ joojant200 @ 23.07.2010. 00:54 ] @
Samo sam prebacio u komentar u Form_ProveraStatusaKodNBS - on load event
red: 'DoCmd.Close acForm, "ProveraStatusaKodNBS" i radi.

Zorane, hvala puno i svaka cast, zanimljiva igracka :)

edit: Ranije je na siteu NBS pisao i iznos blokade, vise ne vidim da to ima?
edit2: Nasao/setio se, klikne se na maticni broj kad se izlistaju racuni.

[Ovu poruku je menjao joojant200 dana 23.07.2010. u 02:07 GMT+1]
[ 3okc @ 23.07.2010. 06:30 ] @
Citat:
joojant200: Samo sam prebacio u komentar u Form_ProveraStatusaKodNBS - on load event


Sada i kod mene radi, bravo!

Ostaje još da vidimo da li ova korekcija nosi neke posledice onima kod koji je do sada radilo?!
I dalje je ostala dosadna poruka o RunTime grešci ali i ona se može zaobići, kako je Zidar ranije pokazao.

I ja imam IE 8 (8.0.6001.18702) ali mi nije postavljen kao podrazumevani, možda je tu negde uzrok.
[ Zoran.Eremija @ 23.07.2010. 08:38 ] @
Korigovao sam Time interval i dodao korekciju @Zidar-a pa me intresuje da li ce sada raditi kod onih kojima je davalo gresku
[ abitbp6 @ 23.07.2010. 08:47 ] @
A da se registrujete za NBS web servise, pa da sve ovo i još mnogo, mnogo više imate lepo objašnjeno u dokumentaciji i dobijate lepo upakovano u XML format?
[ smal @ 23.07.2010. 15:01 ] @
Citat:
Zoran.Eremija: Korigovao sam Time interval i dodao korekciju @Zidar-a pa me intresuje da li ce sada raditi kod onih kojima je davalo gresku


Probao sam aplikaciju na 10-ak različitih računara, i nažalost moram reći da nekima ne radi načisto, na nekima puca uz raznorazne poruke o greškama, a na pojedinim radi bez problema. Nisam uspeo da ukapiram zbog čega (za sad)...
[ biske86 @ 23.07.2010. 15:27 ] @
Ja sam imao problem sa runtime greškom ali sada sa ispravljenim modelom koji je postavio Zoran sve radi bez problema. Čak šta više dodato je upozorenje kada hoćemo da proverimo status za kupca koji nema unet PIB (što je slučaj sa 5. redom) i dodata je jedna veoma lepa stvar a to je da se pojavljuje sličica koja nas obaveštava da je proces prikupljanja informacija u toku. To je još jedan plus. Ona ima dve funkcije. Da zadobije pažnju korisnika dok čeka da se informacije povuku sa sajta i da nam da informaciju kada je operacija dobavljanja sa sajta završena (kada se prozorčić zatvori). Jer mnogo je bitno da korisnik dobije povratnu informaciju o uspesno obavljenom poslu (ovde je to nestanak doticnog prozorčića) jer ako korisnik nije siguran da je ispravno izvršio datu operaciju onda se njegovo samopouzdanje remeti i to ga odbija od daljeg korišćenja računara. Možda će neko reći da je ovo glupost ali su istraživanja pokazala da je ovo tačno.
[ vujkev @ 23.07.2010. 17:35 ] @
Citat:
abitbp6: A da se registrujete za NBS web servise, pa da sve ovo i još mnogo, mnogo više imate lepo objašnjeno u dokumentaciji i dobijate lepo upakovano u XML format?

koliko vidim to se plaća :)
Citat:

# Besplatni servisi

* Servis za pristup osnovnim šifarnicima
* Servis za pristup kursnim listama
* Servis za pristup tekućoj kursnoj listi
* Servis za pristup kursnim listama po menjačkim poslovima
* Servis vrednosti investicionih jedinica dobrovoljnih penzionih fondova
* Servis za pristup efektivnim prekonoćnim stopama
* Servis za pristup registru imalaca računa
* Servis za pristup registru učesnika na tržištu menjačkih poslova
* Servis za pristup registru učesnika na tržištu osiguranja
* Servis statistike korišćenja usluge


# Servisi koji se tarifiraju

* Servis za pristup registru dužnika u prinudnoj naplati

[ abitbp6 @ 24.07.2010. 19:57 ] @
Citat:
vujkev: koliko vidim to se plaća :)

Da, cela dva dinara + PDV po jednom pozivu servisa.

http://www.nbs.rs/export/inter.../jedinstvena_tarifa_odluka.pdf

Strana 23.
[ joojant200 @ 24.07.2010. 21:27 ] @
Citat:
abitbp6: Da, cela xxx dinara


...za pravna lica...
Web site je besplatan i za fizicka i za pravna lica, ne vidim u cemu je problem koriscenje accesa kao browsera za pregled nbs site-a :P
[ smal @ 24.07.2010. 21:59 ] @
Citat:
abitbp6: Da, cela dva dinara + PDV po jednom pozivu servisa


Ne razumeš ti nas baš najbolje ovde, izgleda Nije samo poenta da li postoji bolje, efikasnije, pa i svrsishodnije rešenje za konkretan slučaj, nego je, bar ja tako shvatam, zaljubljenicima u Access simpatično i drago što naša alatka može da uradi i nešto za šta nije baš projektovana i gde inače ne pliva najbolje. Kao kad Trtko na pr, napravi animaciju zupčanika ili slično A primer sa NBS-om je baš simpa, i može da se prepravi i za raznorazne druge korisne slučajeve
[ loto17 @ 25.07.2010. 16:01 ] @
Evo, konacno, i mog resenja!
Program je napisan u VB6 i koristi Access bazu.
Arhiva se mora raspakovati u C:\NBS
Pritiskom na dugme "Generisanje", program ce ,na sajtu NBS, proveriti sve kupce iz tabele "Partneri" i napraviti Excel dokument sa svim podacima.
Dobijeni izvestaj otvare sa pritiskom na Meni File/Open.







[Ovu poruku je menjao loto17 dana 25.07.2010. u 17:15 GMT+1]
[ Getsbi @ 25.07.2010. 19:34 ] @
@ loto17
Pravo mesto za kačenje tvog programa je podforum Visual Basic 6 u okviru foruma Programiranje.
[ loto17 @ 25.07.2010. 19:59 ] @
Citat:
Getsbi: @ loto17
Pravo mesto za kačenje tvog programa je podforum Visual Basic 6 u okviru foruma Programiranje.

Ja sam ovu temu ovde otvorio i samo sam prilozio resenje koje vise ne izbacuje gresku Run-Time error 91.
Program, u osnovi, radi isto sto i originalno resenje Zorana.Eremije ali nije napisan u Accessu.
Nisam siguran da li momci, koje je zainteresovala ova tema, prate podforum Visual Basic 6 pa sam ga zato okacio ovde!
Hvala svima koji su pomogli u izradi ovog resenja.




[Ovu poruku je menjao loto17 dana 25.07.2010. u 21:12 GMT+1]
[ xl_kid @ 09.12.2010. 09:50 ] @
@loto17
Da li je moguce ovo pokrenuti iz access-a?

Interesuje me da li je moguće ažutirati listu kupaca a ne svakog kupca ponaosob? U svakom slucaju svaka čast, extra super aplikacija.
[ loto17 @ 09.12.2010. 12:18 ] @
@xl_kid Moguce je pokrenuti ga iz Access-a. Prvo program treba kompajlirati i na neki klik na formi napisati nesto kao: Shell "C:\NBS\NBS.exe"
Nisam ukapirao sta si tacno mislio sa "da li je moguće ažutirati listu kupaca a ne svakog kupca ponaosob? "



[ xl_kid @ 09.12.2010. 14:27 ] @
Mimo pokretanja iz aksesa sam pitao. Interesuje me da li je moguće ažurirati listu od više kupaca odjednom a ne svakog ponaosob. U prethodnom primeru "ProveraStatusaKodNBS3.mdb" je posle svakog kupca "dugme za azuriranje" a mene interesuje zbirno azuriranje tj da li je moguce. Imam nesto preko 80 kupaca koje trebam kontrolisati.
[ loto17 @ 09.12.2010. 16:12 ] @
Citat:
xl_kid: Mimo pokretanja iz aksesa sam pitao. Interesuje me da li je moguće ažurirati listu od više kupaca odjednom a ne svakog ponaosob. U prethodnom primeru "ProveraStatusaKodNBS3.mdb" je posle svakog kupca "dugme za azuriranje" a mene interesuje zbirno azuriranje tj da li je moguce. Imam nesto preko 80 kupaca koje trebam kontrolisati.


Program upravo radi to sto ti pitas! Proverava pib svakog kupca koji se nalazi u tabeli PARTNERI bez obzira koliko ih tamo ima. Kada nadje PIB na sajtu NBS azurira polje OPIS u tabeli PARTNERI i na kraju generise odgovarajuci .xls izvestaj u folderu NBS\Izvestaji. Da bi program radio mimo Accessa potrebno je pokrenuti NBS.exe koji se nalazi u prilozenoj arhivi. Program ce raditi ukoliko imas na racunaru instaliran MicroSoft Visual Studio 6.0 ili VB6 Runtime SP6 i jedino ukoliko je program raspakovan u C:\NBS



[Ovu poruku je menjao loto17 dana 09.12.2010. u 17:31 GMT+1]
[ Zoran.Eremija @ 09.12.2010. 19:04 ] @
Da se mi drzimo Access-a, pa evo i resenje "Proveri Sve"...
[ xl_kid @ 10.12.2010. 09:59 ] @
Zorane, Zorane bas si pravi đavo ... Svaka čast a ti loto da Bog da dobio sedmicu na istoimenoj igri... ma da dobijete svi po jednu
idem ja sad malo da se učim na primerima... Veliko hvala
[ loto17 @ 10.12.2010. 10:18 ] @
Citat:
xl_kid: Zorane, Zorane bas si pravi đavo :D... Svaka čast a ti loto da Bog da dobio sedmicu na istoimenoj igri... ma da dobijete svi po jednu
idem ja sad malo da se učim na primerima... Veliko hvala

Bog te cuo!
Samo napred!


[ loto17 @ 11.12.2010. 22:48 ] @
Do sada smo samo proveravali status kupca u prinudnoj naplati.
Ovo je parce VB6 coda koje prikazuje i iznos blokade
Posto sam ja iz "Drugog foruma" namerno ne saljem ovde kompletno VB6 resenje , ali se nadam se da ce Zoran.Eremija ovo ukljuciti u svoju Access verziju.
Link je: "http://www.nbs.rs/rir_pn/searc...IR&konverzija=yes&pib=" u slucaju da je kupac blokiran.


Code:

Dim hD As IHTMLDocument2, he As IHTMLElement
    Dim hDBlokada As IHTMLDocument2, heBlokada As IHTMLElement
    Dim IznosBlokade As Double
    Dim s As Byte
    Dim Prolaz As Integer
    Set hD = WebBrowser1.document
    For Each he In hD.All
           If InStr(he.innerText, "Ne postoji") Then
                DataEnvironment1.rsPartnerI!Opis = "Ne postoji racun sa zadatim parametrima"
                DataEnvironment1.rsPartnerI.Update
               Exit For
            ElseIf InStr(he.innerText, "u platni promet") Then
                DataEnvironment1.rsPartnerI!Opis = "Ukljucen u platni promet"
                DataEnvironment1.rsPartnerI.Update
               Exit For
            ElseIf InStr(he.innerText, "blokiran po osnovu") Then
                DataEnvironment1.rsPartnerI!Opis = "Blokiran po osnovu prinudne naplate"
                DataEnvironment1.rsPartnerI.Update
                WebBrowser1.Navigate2 "http://www.nbs.rs/rir_pn/searc...IR&konverzija=yes&pib=" & DataEnvironment1.rsPartnerI!pib
                Do Until WebBrowser1.readyState = READYSTATE_COMPLETE
                  DoEvents
                Loop
                Set hDBlokada = WebBrowser1.document
                For Each heBlokada In hDBlokada.activeElement.All
                  If InStr(heBlokada.innerText, "Ukupan iznos blokade") And heBlokada.tagName = "TR" Then
                    If Prolaz = 1 Then
                        DataEnvironment1.rsPartnerI!IznosBlokade = Mid$(heBlokada.innerText, 23, Len(heBlokada.innerText))
                        DataEnvironment1.rsPartnerI.Update
                        Prolaz = 0
                      Else
                        Prolaz = 1
                    End If
                  End If
               Next
               Exit For
            ElseIf InStr(he.innerText, "blokirana ") Then
                DataEnvironment1.rsPartnerI!Opis = "Blokirana zaduženja"
                DataEnvironment1.rsPartnerI.Update
               Exit For
                ElseIf InStr(he.innerText, "privremeno") Then
                DataEnvironment1.rsPartnerI!Opis = "Privremeno neaktivan"
                DataEnvironment1.rsPartnerI.Update
               Exit For
            End If
      Next
[ Zoran.Eremija @ 12.12.2010. 21:42 ] @
Evo malo i Access parica...
[ Zoran.Eremija @ 13.12.2010. 09:14 ] @
Korekcija..., nestajale parice - more ih pojelo :-)
[ loto17 @ 13.12.2010. 09:48 ] @
E, sad vec radi !!!
[ Zoran.Eremija @ 13.12.2010. 09:51 ] @
Opet mala korekcija za one kod kojih je Regional setings Serbian...
[ loto17 @ 13.12.2010. 16:59 ] @
Citat:
Zoran.Eremija: Opet mala korekcija za one kod kojih je Regional setings Serbian...

Jos jedna korekcija!
Sada imamo i ukupan broj dana u blokadi :)

[ Zoran.Eremija @ 14.12.2010. 22:14 ] @
@loto17 Kod mene daje gresku Vas primer, pa sam korigovao i dodao i Broj dana, u mom primeru...
[ gorancho @ 14.12.2010. 23:30 ] @
Šta može još da se povuče od podataka? Može li tačan naziv firme, adresa firme, matični broj ....
[ loto17 @ 15.12.2010. 12:20 ] @
Citat:
Zoran.Eremija: @loto17 Kod mene daje gresku Vas primer, pa sam korigovao i dodao i Broj dana, u mom primeru...

Kod mene (XP SP3 i Access 2010) rade obe varijante.

Citat:
gorancho: Šta može još da se povuče od podataka? Može li tačan naziv firme, adresa firme, matični broj ....

Sve se moze povuci ali pretpostavka je da vec imate osnovne podatke o kupcu ciji trenutni status u NBS zelite da vidite.


[ Zoran.Eremija @ 15.12.2010. 12:38 ] @
@loto17: Daje gresku u prilogu, ali samo kod PartnerID=3 nisam istrazivao dalje priznajem. Dok kod PartnerID=7 radi bez greske...

@gorancho: Slazem se sa kolegom @loto17.
[ Zoran.Eremija @ 15.12.2010. 13:11 ] @
@loto17: Da ne bi ostalo nereseno stavio sam 2 x Replace i sada radi i Vasa verzija
[ loto17 @ 15.12.2010. 14:24 ] @
Citat:
Zoran.Eremija: @loto17: Da ne bi ostalo nereseno stavio sam 2 x Replace i sada radi i Vasa verzija

Bravo Zorane!


[Ovu poruku je menjao loto17 dana 15.12.2010. u 15:35 GMT+1]
[ savetnik.org @ 15.12.2010. 14:51 ] @
Super je ova aplikacija bravo Zorane.

Pozdrav
[ 3okc @ 20.04.2012. 13:02 ] @
Neko misli da pravi biznis od ove usluge... Evo kako izgleda izveštaj koji šalje:



Zanimljivo, o sebi nije ostavio nikakvih podataka a nema ga u Registru pod nazivom kojim se oglašava. :)
[ xl_kid @ 29.05.2012. 06:31 ] @
Poštovani,

koristim ovu aplikaciju za proveru blokade kupaca duže vreme i sve je radilo super do juče. Da li neko zna o čemu se radi. Možda je do sajta NBS!?
[ mrz @ 20.06.2012. 01:26 ] @
Citat:
3okc: Neko misli da pravi biznis od ove usluge... Evo kako izgleda izveštaj koji šalje:



Zanimljivo, o sebi nije ostavio nikakvih podataka a nema ga u Registru pod nazivom kojim se oglašava. :)


Pa zato na nic.rs i onda proveriš u apr.gov.rs vlasnika domena :)
[ blingaro @ 02.07.2012. 18:00 ] @
Ja sam gledao kako ovo sve radi. Postoji jedan problem. U iznosu koji se skida sa sajta NBS i upisuje u tabelu, pare koje predstavljaju poslednje dve cifre nisu odvojene zarezom već su sve cifre odvojene na tri decimale, a na kraju se stavlja zarez i dodaju dve nule. Tako, umesto 6,981,027.53 stoji 698.102.753,00 (PIB 100350880 proveren direktno na sajtu NBS). Možda je ovo problem ipak samo kod mene. 'Ajde ako ima neko rešenje neka neko ispravi ili mi objasni u čemu je caka.
[ Getsbi @ 02.07.2012. 19:00 ] @
Pogledaj kod sebe regionalno setovanje. Thousand i decimal separator.
[ Blue82 @ 30.04.2013. 11:51 ] @
Da li je moguće da kod većeg broja upita NBS shvati šta radimo i blokira nam prilaz sajtu na odredjeno vreme?
Ne bih još da tvrdim ali 4 puta sam probao da predjem oko 800 zapisa i svaki put je NBS prestao da mi radi (ne mogu sajtu pristupiti ni preko explorera) a mislim da sajt radi jer mu pridjem preko proxy-ja.
Jednostavno posle odredjenog broja upita kao da budemo banovani 10-tak, 20 minuta i onda opet sve radi kako treba, čim pokrenem program, prvo lepo radi i onda zakuca i nema dalje.
[ Blue82 @ 30.04.2013. 19:43 ] @
Oooo da, definitivno. Evo sada sam pustio i program od kuce.
Ne znam tacno koliko upita u odredjenom vremenskom periodu dozvoljavaju i posle toga nas banuju na odredjeno vreme. Da li je moguce da samo ja imam taj problem ili niko od vas koji koristite nema vise od 100-200 kupaca?
[ xl_kid @ 09.05.2013. 06:27 ] @
Dnevno proveravam skoro 400 kupaca i do pre par dana nisam imao nikakvih problema. Što se tiče broja upita nemam problema ali kada dodje do kupca koji ima neko zadužene po računu a broj dana i iznos je nula javla mi ERROR 2113. Sve ostalo radi super.

Pomoć :(
[ Zoran.Eremija @ 09.05.2013. 08:29 ] @
Mozete li mi dati PIB za taj slucaj bice mi brze da vidim gde treba korigovati algoritam.
[ xl_kid @ 09.05.2013. 08:50 ] @
Evo pibova:

102020133
103405853
101309627

Dnevno dva puta proveravam blokade (392 upita) i sve radi super (barem do pre par dana).
[ Zoran.Eremija @ 10.05.2013. 19:08 ] @
Citat:
Blue82:
Ne znam tacno koliko upita u odredjenom vremenskom periodu dozvoljavaju i posle toga nas banuju na odredjeno vreme. Da li je moguce da samo ja imam taj problem ili niko od vas koji koristite nema vise od 100-200 kupaca?


Ja sam kod mene probao sa 450 partnera i nisam imao problema. Ipak stavio da pravi malu pauzu izmedju partnera pa probajte.
Novi primer mozete skinuti odavde http://zoraneremija.wix.com/eremijacv#!downloads/c1qda

Kolega @xl_kid probao sam sa Vasim PIB brojevima i ne daje mi greske?!?!
[ xl_kid @ 13.05.2013. 06:57 ] @
Hm... Vasa verzija radi super. Radi i sa Access-om 2010 što je kod mene takođe bio problem. Smanjio sam vreme i radi perfektno. Hvala na pomoći.
[ xl_kid @ 03.06.2013. 07:16 ] @
Da li je neko imao sličan problem? Na sajtu NBS stoji iznos 8,948,183.37 (dva zareza) pa mi prikazuje da je iznos 948,183.37 a ne 8,948,183.37. PIB je 106419401 pa proverite. Kako da rešim ovaj problem?
[ Getsbi @ 03.06.2013. 09:59 ] @
Pretpostavljam da polje treba proširiti za još jedno mesto.
[ Zoran.Eremija @ 03.06.2013. 10:10 ] @
Otklonjen problem http://zoraneremija.wix.com/eremijacv#!downloads/c1qda
[ izonic @ 03.06.2013. 16:20 ] @
Code:
Public Function Broj(StrBroj) As Double
'*******************************************
'*Ime:Broj   (Function)
'*Sadržaj:Pretvara string u broj
'*Autor:     ZXZ
'*Datum:      06 03, 2013, 05:17:27
'*Adresa: Tuzla BiH
'*Email:     [email protected]
'*Ulazni parametri:Broj kao string
'*Vraća vrijednost:Broj
'*******************************************
Dim I As Integer, Duz As Integer
Dim Temp As String, Znak As String * 1

On Error GoTo ErrHandler
Duz = Len(StrBroj)

For I = 1 To Duz
Znak = Mid(StrBroj, I, 1)
    If Znak <> "," Then
    Temp = Temp & Znak
    End If
Next I
Broj = Val(Temp)

ExitHere:
Exit Function
ErrHandler:
Dim strErrString As String
strErrString = "Error Information..." & vbCrLf
strErrString = strErrString & "Error#: " & Err.Number
strErrString = strErrString & "Description: " & Err.Description
MsgBox strErrString, vbCritical + vbOKOnly, "Function: Broj"
Resume ExitHere
End Function
[ Zoran.Eremija @ 21.06.2013. 07:19 ] @
Uradjena je korekcija za one partnere koji su ukljuceni u promet, a bili su u blokadi, da ispise koliko dana su bili u blokadi.

http://zoraneremija.wix.com/eremijacv#!downloads/c1qda
[ markonatom @ 15.07.2013. 12:04 ] @
Sve odlicno funkcionise, svaka cast Zorane. Jedno pitanje, koliko bi bilo komplikovano da se ubaci opcija da kada se provere stanja, ukoliko dodje do promene tj. ako se neko ukljuci u promet odnosno ako mu se odblokira racun, da se to izdvoji tj. da ga nekako lakse uocim.

U svakom slucaju hvala jos jednom za trud.
[ Zoran.Eremija @ 18.07.2013. 07:08 ] @
Citat:
markonatom: koliko bi bilo komplikovano da se ubaci opcija da kada se provere stanja, ukoliko dodje do promene tj. ako se neko ukljuci u promet odnosno ako mu se odblokira racun, da se to izdvoji tj. da ga nekako lakse uocim.


Nije komplikovano pogledajte novi primer http://zoraneremija.wix.com/eremijacv#!downloads/c1qda
[ Sadun @ 19.07.2013. 12:08 ] @
Da podelim info iz prve ruke...
NBS ogranicava broj upita (pristupa sajtu) na 500 u toku 5 minuta. Ako prekoracite blokirani ste narednih 60min
[ goranvuc @ 09.09.2013. 07:35 ] @
Postoji na http://www.a3but.info/taster.html vec gotovo resenje...
[ kikindjanin @ 04.11.2013. 12:44 ] @
Citat:
Zoran.Eremija:
Citat:
markonatom: koliko bi bilo komplikovano da se ubaci opcija da kada se provere stanja, ukoliko dodje do promene tj. ako se neko ukljuci u promet odnosno ako mu se odblokira racun, da se to izdvoji tj. da ga nekako lakse uocim.


Nije komplikovano pogledajte novi primer http://zoraneremija.wix.com/eremijacv#!downloads/c1qda


Poštovani, kada pokušam da uradim proveru za veći broj redova (pravnih lica) dobijam grešku: overflou?
Da li je ovo moguce ispraviti?
U pitanju je broj od oko 7000 redova (Pravnih lica)?
[ Zoran.Eremija @ 04.11.2013. 13:16 ] @
U principu je moguce. Radi se o tome sto je kod svake provere PIB-a potrebno vreme da se taj PIB posalje te da se dobije odgovarajuci odgovor. Lokalni racuar brzo to odradi ali spoljni put je teskoban I zahteva vreme. Prakticno zbog toga sam usporio slanje zahteva za naredni PIB i sve to testirao na kolekciji oko 400 PIB-ova. Kod Vase kolekcije bi verovatno moralo da se to vreme uspori bar za min 10 puta sto onda otvara pitanje svrsishodnosti.

Ideja da napravim ovu proveru je proizisla u momentu kada sa nekim poslovnim partnerom zelim da imam neki poslovni odnos i da proverim njegov status, sto znaci samo jedan se posmatra u tom trenutku. Smatram da se tog koncepta treba drzati.
A ako bas zelite vecu kolekciju provere onda bi concept morao da se promeni uvazavajuci takav zahtev.
[ kikindjanin @ 05.03.2014. 08:43 ] @
Poštovani,
da li postoji mogucnost da dodate jos 2 parametra u program za proveru stanja na NBS-u:
1. Broj pravnih lica koji bi se proverava iz liste u jednom upitu ka sajtu NBS-a (ukoliko imamo npr. 1000 pravnih lica i u parametar unesemo 230, klikom na proveri sve ce se proveravati prvih 230 pa zatim sledecih 230 ....)ž
2. Vreme cekanja između provere u minutima (znaci ako ti unesemo npr 6 to zbaci da ce se prvih 230 pravnih lica proveriti u prvom krugu, pa za 6 minuta sledcih 230 ....)

Unapred hvala na odgovoru.
[ Zoran.Eremija @ 05.03.2014. 22:40 ] @
Pokusao sam da na brzinu odradim to sto ste zeleli.

Pogledajte novi primer http://zoraneremija.wix.com/eremijacv#!downloads/c1qda "ProveraStatusaKodNBS 20140305.zip"

Izvinjavam se ostalim kolegama sto sam malo zapostavio druzenje s vama. Obaveze Dede su ipak prioritetnije :-)
[ kikindjanin @ 06.03.2014. 09:42 ] @
Poštovani Zorane,
hvala na odgovoru.
Ukoliko bude nekih problema postavicu ih ovde.
Pozdrav
[ Blue82 @ 11.03.2014. 13:03 ] @
Ovo iznad kod mene baš i ne fercera.
Pustio sam da sve odradi, i primetih da je neke komitente preskocio.
Ok, njih ću ručno da isklikćem... Međutim primetih da ima statusa koji se ponavljaju. Npr pogledam kod jednog komitenta piše u blokadi, blokiran 110 dana, npr 5.000.000,00 dinara a isti rezultat je i kod komitenta ispod njega. Kao da je proveravao onog gore a upisao onom dole. Kada kliknem ne onog dole koji mi je sumnjiv on ga ponovo očita i promeni mu status u aktivan, ali ostane iznos blokade od poslednjeg očitavanja koje je bilo neispravno (ne osveži ponovo sva polja pa ostanu zaostali).

Nisam gledao u code ali izgleda mi da on svakog komitenta gleda 3s, i onda prelazi na novog. Ako do odziva ne dođe u te 3s onda pređe na novog komitenta, ali ako mu baš tada dođe rezultat prethodnog upiše ga kod tog novog na koga je upravo prebacio i dalje nastaje karambol.

EDIT:
I sada sam mi se desilo da kliknem rucno na nekog komitenta, i on osveži njegove podatke i prikaze ih. Onda kliknem ponovo na istog pa dobijem neke podatke koje do tada nije prikazivao, kao što su iznos blokade i dani blokade.

[Ovu poruku je menjao Blue82 dana 11.03.2014. u 14:50 GMT+1]
[ Zoran.Eremija @ 11.03.2014. 19:58 ] @
Kod mene funkcioniše bez tih problema koje ste naveli, no nije isključeno da imate problema.
U mom pretposlednjem postu sam naveo razloge mogućih problema i namenu ovog primera.
Da ponovim „Ideja da napravim ovu proveru je nastala je u momentu kada sa nekim poslovnim partnerom želim da imam neki poslovni odnos i da proverim njegov status, što znači samo jedan se posmatra u tom trenutku. Smatram da se tog koncepta treba držati“.
[ goranvuc @ 19.05.2014. 15:40 ] @
Kao moj mali doprinos zajednici, napravio sam ActiveX DLL komponentu u kojoj je sve vezano za proveru blokade u NBS "upakovano", a vise o tome, kao i preuzimanje instalacije imate na http://a3but.info/index.php/komponente/nbs-spy.html

Evo kako se jednostavno koristi:
Code:

Private Sub Command1_Click()
   Dim Spy As NBSSpy.Spy
   
   Set Spy = New NBSSpy.Spy
   
   If Spy.GetInfo("106817748") Then
   
      Text1.Text = "Naziv: " & Spy.dataNaziv & vbCrLf
      Text1.Text = Text1.Text & "Adresa: " & Spy.dataAdresa & vbCrLf
      Text1.Text = Text1.Text & "Mesto: " & Spy.dataMesto & vbCrLf
      Text1.Text = Text1.Text & "Maticni broj: " & Spy.dataMBR & vbCrLf
      Text1.Text = Text1.Text & "Ukupan iznos: " & Format(Spy.dataUkupanIznos, "###,##0.00") & vbCrLf
      Text1.Text = Text1.Text & "Ukupno dana: " & Format(Spy.dataUkupnoDana, "###,###") & vbCrLf
      Text1.Text = Text1.Text & "Ukupan broj blokada: " & Format(Spy.dataBrojBlokada, "###,###") & vbCrLf
      Text1.Text = Text1.Text & "Blokiran: " & IIf(Spy.dataBlokiran, "DA", "NE") & vbCrLf
      
   Else
      
      MsgBox "Greska! " & Spy.noDataReturnInfo & Spy.sysErrorDescription
      
   End If
   
   Set Spy = Nothing
   
End Sub


Kome je komplikovano da se pati sa obimnim kodom koji je obajvljen u prethodnim postovima, moze da uziva :)
Ugradjena je i obrada greske, kontrola PIB-a i sve što je već potrebno.

Može se koristiti u Access-u, Excel-u, VB6, VBA i VB script varijantama.

Napomena: Da ne bi neko "gušio" NBS server stavio sam pauzu od 3 sekunde uz svaki poziv...

Pozdrav svima!
[ xl_kid @ 04.11.2015. 11:01 ] @
Poslednjih par dana poslovne partnere koji su u statusu "UKLJUCEN" prikazuje kao da su u statusu "NE POSTOJI". Da li neko zna u cemu je problem?
[ dr.iver @ 29.11.2015. 18:28 ] @
Citat:
xl_kid: Poslednjih par dana poslovne partnere koji su u statusu "UKLJUCEN" prikazuje kao da su u statusu "NE POSTOJI". Da li neko zna u cemu je problem?


Potrebno je formi ProveraStatusaKodNBS koja vrši pretragu na sajtu NBS-e promeniti sledeći deo koda
Code:
ElseIf InStr(he.innerText, "u platni promet") Then
'sa ovim ispod
ElseIf InStr(he.innerText, "uključen") Then

u proceduri ProcesPIB() i radiće kao pre. Izgleda da je NBS skratio ispis. :)
[ xl_kid @ 30.11.2015. 07:06 ] @
Hvala na pomoći. Radi :)
[ Zoran.Eremija @ 02.12.2015. 19:37 ] @
Postavljena je korigovana verzija

http://zoraneremija.wix.com/eremijacv#!downloads/c1qda
[ glikol286 @ 05.12.2015. 08:56 ] @
Ima li neko resenje za linkovanje na APR i proveru podataka npr. preko PIBa? Postoji APRTool za Excell ali izacuje neku gresku stalno. (error 429 valjda)
[ ilekicika @ 18.01.2021. 08:52 ] @
Poštovani,
Nisam dugo koristio aplikaciju "Linkovanje na NBS i provera blokade kupaca", ali sad vidim da na sve privredne subjekte pokazuje status "NE POSTOJI", datum bez ostalih podataka. Da li je nešto izmenjeno kod NBS ili je nešto drugo u pitanju. Da li neko zna o čemu se radi???
Pozdrav