Проверка правильности ИНН юридического лица

В 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
  • yababay

Комментарии (2)

RSS свернуть / развернуть
+
0
Спасибо, советы по 1С всегда кстати на Мтааламу
avatar

Sergei_T

  • 08 июня 2011, 13:21
+
0
Это супруга у меня специалист, пишем вместе один проект. Нужно было эти строки на другой хост перебросить. Через копипаст в rdesktop крокозябры лезут, вот и решили использовать Мтааламу в качестве буфера обмена
avatar

yababay

  • 08 июня 2011, 19:22

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.