EGN

9 отговора 834 прегледа
#1

EGN

Някой може ли да ми каже от къде мога да намеря таблицата за ЕГН , Данъчен номер и Булстат - трябва да направя програма за тяхната проверка за валидност.

// За егн намерих ама за др. не

Благодаря предварително.

Отговор
в отговор на MM #2

Re: EGN

Булстат
[линк]
ЕГН
[линк]

Отговор
в отговор на тpaлaлa #4

Re: EGN

Но за данъчен номер май няма там.

----------------------------------
помислих, хареса ми, помислих пак...
Отговор
в отговор на Щиpлиц #5

Re: EGN

Sorry, че е в такъв вид - ама един познат ми го прати преди години - мога да ти пусна и код ако искаш - ама е Pascal ;-))

---------------------------- EGN -------------------------------------
-- d1, d2..., d10 sa chislata na EGN ot liavo na diasno
-- brojat na znacheshtite cifri triabva da byde mejdu 2 i 10
-- uslowieto za prawilno EGN e
-- d10 = MOD( MOD( 2*d1 + 4*d2 + 8*d3 + 5*d4 + 10*d5 + 9*d6 + 7*d7 + 3*d8 +
6*d9, 11 ), 10 );

--------------------------- BULSTAT ---------------------------------
-- d1, d2..., d9 sa chislata na BULSTAT, a d10...d13 na nomera ot liavo na
diasno
-- checksum = MOD( 1*d1 + 2*d2 + 3*d3 + 4*d4 + 5*d5 + 6*d6 + 7*d7 + 8*d8,
11 );
-- IF checksum = 10 THEN
-- checksum = MOD( MOD( 3*d1 + 4*d2 + 5*d3 + 6*d4 + 7*d5 + 8*d6 + 9*d7 +
10*d8, 11 ), 10 );
-- uslowieto za weren BULSTAT e
-- checksum = d9
--
-- ako sledwa]ite 4 cifri gi ima:
-- checksum = MOD( 2*d9 + 7*d10 + 3*d11 + 5*d12, 11 );
-- IF checksum = 10 THEN
-- checksum = MOD( MOD( 4*d9 + 9*d10 + 5*d11 + 7*d12, 11 ), 10 );
-- uslowieto za weren nomer e
-- checksum = d13
----------------------------- Данъчен номер ---------------------------
TIN(tax identification number) e 10 cifreno chislo.
10tata cifra e kontrolna.
izchislqwa se po sledniq nachin:
neka 1,2,3,4,5,6,7,8,9 sa poziciite w TIN ot liawo na diasno.
opredelqme slednite tegla: 4,3,2,7,6,5,4,3,2
umnozhawame wsqka poziciq po syotwetnoto teglo.
sybirame tezi proizwedeniq i razdelqme poluchenata
suma na 11.
kontrolnoto chislo (10tata cifra) = 11 - ostatykyt pri
delenieto s 11.
ako ostatykyt e 1, to TIN e newaliden
ako ostatykyt e 0, to kontrolnoto chislo syshto e 0.

---
Е т'ва е живот!
Отговор
в отговор на PhantomAS #6

Re: EGN

а за лична карта и шофьорска книжка?

Отговор
в отговор на PhantomAS #7

Re: EGN

За егн и булстат съм го направил ама за данъчния номер несъм
що то немога да намеря таблицата.

Всепак благодаря

Отговор
в отговор на MM #8

Re: EGN

Пробвох това което си дал за данъчния намер но нещо не е така .

Пример :
4 3 2 7 6 5 4 3 2 - тегла
1 2 2 1 1 6 9 5 9 6
==============
резултат = 126

5 = 126 mod 11

да ли бъркам някъде !


Отговор
в отговор на mm #9

Re: EGN

Да, не си забелязал правилно, че контролната цифра е равна на:
intCheck = 11 - (intSum Mod 11)

т.е. от 11 се изважда остатъка след делението на 11 ;о)
айде, и успех.

П.П. На Бейсик ли пишеш?

----------------------------------
помислих, хареса ми, помислих пак...

Редактирано от Щиpлиц на

Отговор
в отговор на mm #10

За "мързеливите" - тук...

Мисля, че кода е достатъчно ясен

function CheckDanNumb(S:String):Boolean;
const T : array [1..9] of Byte = (4, 3, 2, 7, 6, 5, 4, 3, 2);
var i : Integer;
Sum: Integer;
begin
Result := false;
if Length(S) <> 10 then Exit;
Sum := 0;
for i := 1 to 9 do Sum := Sum + T[ i ]*StrToInt(S[ i ]);
Result := ( 11 - ( Sum Mod 11 )) = StrToInt( S[10] );
end;


---
Е т'ва е живот

Редактирано от PhantomAS на

Отговор