[ batalule @ 23.06.2006. 22:18 ] @
Jel zna neko kako da proverim da li je PIB koji je korisnik uneo ispravan? Izguglao sam sve moguce kombinacije ali od opisa provere PIBA ni traga. Pretpostavljam da je poslednji broj u PIBu kontrolna cifra ali ne znam po kom modulu se racuna.
[ phatsa @ 24.06.2006. 10:38 ] @
http://www.cekos.co.yu/aktuelno/a0301061.html

probaj ovo, nisam se udubljivao, ali mislim da ti to treba

uglavnom idi na http://www.cekos.co.yu
pa tamo koristi pretragu, naći ćeš sigurno


[Ovu poruku je menjao phatsa dana 24.06.2006. u 14:25 GMT+1]
[ batalule @ 24.06.2006. 16:38 ] @
Ne ovo na CEKOS-u je za uplatu. Pretpostavljam da PIB ima neku strukturu kao i JMBG. U JMBG prve cifre su datum rodjenja zatim ide sifra okruga zatim ide redni broj iz maticnog registra i na kraju je kontrolni broj za JMBG koji je izracunat iz podataka koji se nalaze u njemu. Tako nesto je verovatno i za PIB jer PIB koristi uprava prihoda da bi definisala poreskog obveznika. Posto fizicka lica definisu preko JMBG-a a poslovne subjekte preko PIB-a mora da postoji neki mehanizam da se pri unosu proveri ispravnost PIB-a. Kapiram da je poreska uprava umrezena i da moze i da se uradi upit nad bazom kada su oni i njihove potrebe u pitanju ali mislim da su bili dovoljno inteligentni da u PIB implemetiraju neki mehanizam za offline proveru kada nema baze sa svim PIB-ovima. Pored toga, PIB je javni podatak i kao takav treba da bude podlozan nekom offline mehanizmu provere pogotovu kada postoji PDV lanac.
[ chachka @ 26.06.2006. 20:56 ] @
Ova tema nema veze sa forumom 'Access'! Postoji i identicno pitanje u '.NET' forumu.

Validacija PIB-a je algoritam nevezan za Access, Oracle, C++, Delphi,... Moderatori bi trebalo da proslede ovakve teme u pravi forum, gde bi odgovor koristio vecem broju ljudi.

Koji je forum pravi za pitanje validacije PIB-a? Neznam, mozda je najblizi 'Art of Programming'.
[ Brz_na_tastaturi @ 30.06.2006. 20:16 ] @


Code:

Public Function ProveriPIB(PIB As String)
Dim c0 As Integer
Dim c1 As Integer
Dim c2 As Integer
Dim c3 As Integer
Dim c4 As Integer
Dim c5 As Integer
Dim c6 As Integer
Dim c7 As Integer
Dim c8 As Integer
Dim zadnji As String
zadnji = Right(PIB, 1)
PIB = Left(PIB, 8)
If Len(PIB) <> 8 Then
   ProveriPIB = 1
Else
       c8 = (CInt(Mid(PIB, 1, 1)) + 10) Mod 10
       If c8 = 0 Then
         c8 = 10
       End If
       c8 = (c8 * 2) Mod 11
       c7 = (CInt(Mid(PIB, 2, 1)) + c8) Mod 10
       If c7 = 0 Then
         c7 = 10
       End If
       c7 = (c7 * 2) Mod 11
       c6 = (CInt(Mid(PIB, 3, 1)) + c7) Mod 10
       If c6 = 0 Then
         c6 = 10
       End If
       c6 = (c6 * 2) Mod 11
       c5 = (CInt(Mid(PIB, 4, 1)) + c6) Mod 10
       If c5 = 0 Then
         c5 = 10
       End If
       c5 = (c5 * 2) Mod 11
       c4 = (CInt(Mid(PIB, 5, 1)) + c5) Mod 10
       If c4 = 0 Then
         c4 = 10
       End If
       c4 = (c4 * 2) Mod 11
       c3 = (CInt(Mid(PIB, 6, 1)) + c4) Mod 10
       If c3 = 0 Then
         c3 = 10
       End If
       c3 = (c3 * 2) Mod 11
       c2 = (CInt(Mid(PIB, 7, 1)) + c3) Mod 10
       If c2 = 0 Then
         c2 = 10
       End If
       c2 = (c2 * 2) Mod 11
       c1 = (CInt(Mid(PIB, 8, 1)) + c2) Mod 10
       If c1 = 0 Then
         c1 = 10
       End If
       c1 = (c1 * 2) Mod 11
       c0 = (11 - c1) Mod 10
       If c0 <> zadnji Then
        ProveriPIB = 1
       Else
        ProveriPIB = 0
       End If
       'return(pib || to_char(c0));
     
End If
End Function




[ batalule @ 01.07.2006. 10:37 ] @
to je to... hvala brzi.
[ AnaMega @ 29.08.2006. 21:46 ] @
Da li neko mozda zna kako validacija PIB-a radi u JavaScriptu, probala sam sve varijante ali ne ide mi nikako uvek javi neku gresku...?
[ Brodoplovac @ 26.12.2012. 15:41 ] @
U prilogu imate PDF dokument koji sadrži algoritam za proveru PIB-a. To je algoritam ISO7064 (mod 11,10). Proverio sam algoritam na dva prava PIB-a i tačan je. Gorenavedeni VBA kod upravo prati ovaj algoritam.