процедура проверки правильности заведенного инн

Новая тема
Привет!

Народ, есть у кого-нибудь процедура проверки корректности введенного инн через контрольную сумму? или есть ли она в типовых конфах?

Спасибо
"Функция глПроверкаИНН(ИННиКПП) Экспорт

Перем ФакторИНН[11];

ПолныйИНН=СтрЗаменить(СокрЛП(ИННиКПП),"/","\");
ПозицияРазделителя=Найти(ПолныйИНН,"\");
Если ПозицияРазделителя>0 Тогда
ТекИНН=Лев(ПолныйИНН,ПозицияРазделителя-1);
ТекКПП=Сред(ПолныйИНН,ПозицияРазделителя+1);
Иначе
ТекИНН=ПолныйИНН;
ТекКПП="""";
КонецЕсли;

Если (СтрДлина(ТекИНН)<>12) И (СтрДлина(ТекИНН)<>10) Тогда
Возврат(0);
КонецЕсли;

ФакторИНН[1]=3;
ФакторИНН[2]=7;
ФакторИНН[3]=2;
ФакторИНН[4]=4;
ФакторИНН[5]=10;
ФакторИНН[6]=3;
ФакторИНН[7]=5;
ФакторИНН[8]=9;
ФакторИНН[9]=4;
ФакторИНН[10]=6;
ФакторИНН[11]=8;

НомерВНалоговой=Лев(ТекИНН,4);
НомерНалогоплательщика=Сред(ТекИНН,5,?(СтрДлина(ТекИНН)=10,5,6));
КонтрольнаяСумма=Прав(ТекИНН,?(СтрДлина(ТекИНН)=10,1,2));
ИННХороший=1;

Если СтрДлина(ТекИНН)=10 Тогда
КонтрольнаяСумма2=0;
Для t=1 По 9 Цикл
КонтрольнаяСумма2=КонтрольнаяСумма2+Число(Сред(ТекИНН,t,1))*ФакторИНН[t+2];
КонецЦикла;
КонтрольнаяСумма2=КонтрольнаяСумма2 % 11;
КонтрольнаяСумма2=КонтрольнаяСумма2 % 10;
Если КонтрольнаяСумма2<>Число(КонтрольнаяСумма) Тогда
ИННХороший=0;
КонецЕсли;
Иначе
КонтрольнаяСумма2=0;
Для t=1 По 10 Цикл
КонтрольнаяСумма2=КонтрольнаяСумма2+Число(Сред(ТекИНН,t,1))*ФакторИНН[t+1];
КонецЦикла;
КонтрольнаяСумма2=КонтрольнаяСумма2 % 11;
КонтрольнаяСумма2=КонтрольнаяСумма2 % 10;

КонтрольнаяСумма3=0;
Для t=1 По 11 Цикл
КонтрольнаяСумма3=КонтрольнаяСумма3+Число(Сред(ТекИНН,t,1))*ФакторИНН[t];
КонецЦикла;
КонтрольнаяСумма3=КонтрольнаяСумма3 % 11;
КонтрольнаяСумма3=КонтрольнаяСумма3 % 10;

Если (КонтрольнаяСумма2<>Число(Лев(КонтрольнаяСумма,1))) ИЛИ (КонтрольнаяСумма3<>Число(Прав(КонтрольнаяСумма,1))) Тогда
ИННХороший=0;
КонецЕсли;
КонецЕсли;

Возврат(ИННХороший);

КонецФункции

Но в типовых тоже что то есть. Я даже уже не помню, сам я это написал или честно стырил где то"
Спасибо огромное! только что в торговле нашел в модуле регламентнаяОтчетность! но все равно спасибо!
Читают тему
(гостей: 1)

Быстрый переход