Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.03.10;
Скачать: [xml.tar.bz2];

Вниз

Алгоритмы проверки ИНН, ОГРН, КПП и прочих номеров.   Найти похожие ветки 

 
Карелин Артем   (2003-02-19 09:57) [0]

Где найти?


 
Карелин Артем   (2003-02-19 16:32) [1]

up


 
AK-74   (2003-02-19 16:51) [2]

Ну не бывает "правильных" ИННов! Только первые четыре цифры - типа номера налоговой


 
Reindeer Moss Eater   (2003-02-19 16:54) [3]

Длина правильных ИНН - 10 или 12 символов. Все символы - арабские цифры


 
Sergey Masloff   (2003-02-19 17:13) [4]

Проверка ИНН. Автор функции - А.Камбалов (ACampball@mail.ru)
Думаю, комментариев не надо

function CheckINN(const INN: string): Boolean;
const
factor1: array[0..8] of byte = (2, 4, 10, 3, 5, 9, 4, 6, 8);
factor2: array[0..9] of byte = (7, 2, 4, 10, 3, 5, 9, 4, 6, 8);
factor3: array[0..10] of byte = (3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8);
var
i: byte;
sum: word;
sum2: word;
begin
Result := False;

try
if Length(INN) = 10 then begin
sum := 0;
for i:=0 to 8 do
sum := sum + StrToInt(INN[i+1])*factor1[i];
sum := sum mod 11;
sum := sum mod 10;
Result := StrToInt(INN[10]) = sum;
end
else if Length(INN) = 12 then begin
sum := 0;
for i:=0 to 9 do
sum := sum + StrToInt(INN[i+1])*factor2[i];
sum := sum mod 11;
sum := sum mod 10;
sum2 := 0;
for i:=0 to 10 do
sum2 := sum2 + StrToInt(INN[i+1])*factor3[i];
sum2 := sum2 mod 11;
sum2 := sum2 mod 10;
Result := (StrToInt(INN[11]) = sum) and
(StrToInt(INN[12]) = sum2);
end; //
except
Result := False;
end; // try
end;



 
Ketmar   (2003-02-19 17:20) [5]

мда. комментариев не надо. проще сразу расстрелять за такой код.

Satanas Nobiscum! 19-Feb-XXXVIII A.S.


 
Sergey Masloff   (2003-02-19 17:30) [6]

Ketmar ©
>проще сразу расстрелять за такой код

Вашей версии я что-то не увидел. Так что лучше б Вам, уважаемый, помолчать пока ;-)


 
Delirium^.Tremens   (2003-02-19 17:45) [7]


> Вашей версии я что-то не увидел. Так что лучше б Вам, уважаемый,
> помолчать пока ;-)

Украинским эльфам еще не присвоили ИНН :-)


 
handra   (2003-02-19 17:49) [8]

Проверка правильности страхового номера пенсионного фода.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function CheckPFCertificate(const PF: string): Boolean;
var
sum: Word;
i: Byte;
begin
Result := False;
sum := 0;
if Length(PF) <> 11 then Exit;

try
for i:=1 to 9 do
sum := sum + StrToInt(PF[i])*(9-i+1);
sum := sum mod 101;
Result := StrToInt(Copy(PF, 10, 2)) = sum;
except
Result := False;
end; // try
end;


 
Ketmar   (2003-02-19 17:55) [9]

>Sergey Masloff (19.02.03 17:30)
а я вообще не знаю что такое ИНН.

Satanas Nobiscum! 19-Feb-XXXVIII A.S.


 
MsGuns   (2003-02-19 21:49) [10]

>Ketmar © (19.02.03 17:55)
> а я вообще не знаю что такое ИНН.

Вырастешь - узнаешь ;)




 
Карелин Артем   (2003-02-20 12:12) [11]

Sergey Masloff (19.02.03 17:13), handra © (19.02.03 17:49) Спасибо.

А по другим номерам есть что-либо?


 
VictorT   (2003-02-21 10:45) [12]

Я пол года проработал в пенсионном фонде, могу сказать одно - хотя для ИНН и есть определёные правила, сама налоговая их слабо соблюдает. К примеру я могу сказать, что они не уникальны (я сам лично видел сотни одинаковых номеров). А когда среди них ещё и встречаются однофамильцы_тёзки_одинаковое_отчество_дата_рождения (что тоже не редкий случай), то получается, что вообще невозможно идентифицировать человека. Формат точно не помню, но в номере зашифрована дата рождения и пол (правда часто неправильно).


 
Reindeer Moss Eater   (2003-02-21 11:04) [13]

А какие значения может принимать пол? (полный список)


 
Danilka   (2003-02-21 11:19) [14]

VictorT © (21.02.03 10:45)
полная лажа.
я работал в НИ полтора года, правдад давно тогда только у предприятий инн были, сейчас у меня там брат работает, специально у него спросил как инн они делают.

1. никакой привязки к имени и фамилии. в каждом городе х..ва куча людей с одинаковым именем фамилией и отчеством., и полом соответсвенно :)) по полу тоже никакой привязки.
2. инн в базе - уникальный. если подаются сведения с одинаковыми ИНН, но на разных людей, то у таких людей от отбирается :)) короче, им надо получать новый инн...
3. инн формируется так - первые цифры код налоговой, последние две - CRC, а посередке - счетчик в программе, но могут и сами ручками забить, если кому надо - могут попросить клевый номер...
4. идентифицировать можно легко по паспортным данным они всегда уникальны. правда тут геморой с замной паспортов, но вполне решаемый.


 
VictorT   (2003-02-21 14:37) [15]


> А какие значения может принимать пол? (полный список)

Насколько я помню, пол кодировался чётностью или нечётностью одной из цифр.

> Danilka © (21.02.03 11:19)

Ну, я вообще-то про Украину говорил, извиняюсь, забыл уточнить.
Насчёт уникальности, то в теории они действительно должны быть уникальными, но на практике это не так. Насчёт привязки к фамилии имени, я не говорил, что она есть, я имел в виду другое.


 
Danilka   (2003-02-21 14:38) [16]

VictorT © (21.02.03 14:37)
>Ну, я вообще-то про Украину говорил

тады, может быть, извиняйте за грубый тон, я про тольятти говорил...



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.03.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.6 MB
Время: 0.049 c
3-29714
vladimirS
2003-02-19 08:16
2003.03.10
IBRestoreService лаждый раз разный размер БД ...


1-29845
esa
2003-02-28 12:52
2003.03.10
Конвертор из DOC в HTML


14-30054
insmod
2003-02-16 19:26
2003.03.10
Где найти описание парсинга на дельфи?


1-29805
Шурик Ш
2003-02-27 18:15
2003.03.10
А можно ли выровнять колонку StringGrid а по правому краю?


1-29844
ghg
2003-02-28 11:55
2003.03.10
сохранение Tbitmap в нетипизированный файл





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский