• 7 odgovora
  • 14.609 pregleda
Validacija PIB-a 23.06.2006. u 22:18 · pre 247 meseci #1
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.
Re: Validacija PIB-a 24.06.2006. u 16:38 · pre 247 meseci #3
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.
Re: Validacija PIB-a 26.06.2006. u 20:56 · pre 247 meseci #4
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'.
Potpis
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
Re: Validacija PIB-a 30.06.2006. u 20:16 · pre 247 meseci #5


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




Potpis
Možda je tačno da je sve već rečeno, samo nisu svi sve čuli i razumeli ...
Re: Validacija PIB-a 29.08.2006. u 21:46 · pre 245 meseci #7
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...?
Re: Validacija PIB-a 26.12.2012. u 15:41 · pre 168 meseci #8
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.

Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme