Проверка правильности ИНН юридического лица
В 1С часто приходится проверять ИНН: соответствует ли он законодательству или это просто набор ничего не значащих цифр. Вот один из способов:
Функция КонтрольнаяСуммаИНН(n,inn)
Перем checksum[11];
checksum[1]=3;
checksum[2]=7;
checksum[3]=2;
checksum[4]=4;
checksum[5]=10;
checksum[6]=3;
checksum[7]=5;
checksum[8]=9;
checksum[9]=4;
checksum[10]=6;
checksum[11]=8;
s=0;
Для i=1 По n-1 Цикл
s=s+Число(Сред(inn,i,1))*checksum[12-n+i];
КонецЦикла;
Возврат s%11%10;
КонецФункции
Функция ПроверитьИНН(Знач inn)
inn=СокрЛП(Строка(inn));
len=СтрДлина(inn);
Если len=10 тогда
Если Число(Сред(inn,10,1))<>КонтрольнаяСуммаИНН(10,inn) тогда Возврат 0; КонецЕсли;
ИначеЕсли len=12 then
Если Число(Сред(inn,11,1))<>КонтрольнаяСуммаИНН(11,inn) тогда Возврат 0; КонецЕсли;
Если Число(Сред(inn,12,1))<>КонтрольнаяСуммаИНН(12,inn) тогда Возврат 0; КонецЕсли;
Иначе
Возврат 0;
КонецЕсли;
Возврат 1;
КонецФункции
- +4
- 08 июня 2011, 12:04
- 2