Привет!<br><br>Народ, есть у кого-нибудь процедура проверки корректности введенного инн через контрольную сумму? или есть ли она в типовых конфах?<br><br>Спасибо
Привет!<br><br>Народ, есть у кого-нибудь процедура проверки корректности введенного инн через контрольную сумму? или есть ли она в типовых конфах?<br><br>Спасибо
"Функция глПроверкаИНН(ИННиКПП) Экспорт<br> <br> Перем ФакторИНН[11];<br> <br> ПолныйИНН=СтрЗаменить(СокрЛП(ИННиКПП),"/","\");<br> ПозицияРазделителя=Найти(ПолныйИНН,"\");<br> Если ПозицияРазделителя>0 Тогда<br> ТекИНН=Лев(ПолныйИНН,ПозицияРазделителя-1);<br> ТекКПП=Сред(ПолныйИНН,ПозицияРазделителя+1);<br> Иначе<br> ТекИНН=ПолныйИНН;<br> ТекКПП="""";<br> КонецЕсли;<br> <br> Если (СтрДлина(ТекИНН)<>12) И (СтрДлина(ТекИНН)<>10) Тогда<br> Возврат(0);<br> КонецЕсли;<br> <br> ФакторИНН[1]=3;<br> ФакторИНН[2]=7;<br> ФакторИНН[3]=2;<br> ФакторИНН[4]=4;<br> ФакторИНН[5]=10;<br> ФакторИНН[6]=3;<br> ФакторИНН[7]=5;<br> ФакторИНН[8]=9;<br> ФакторИНН[9]=4;<br> ФакторИНН[10]=6;<br> ФакторИНН[11]=8;<br> <br> НомерВНалоговой=Лев(ТекИНН,4);<br> НомерНалогоплательщика=Сред(ТекИНН,5,?(СтрДлина(ТекИНН)=10,5,6));<br> КонтрольнаяСумма=Прав(ТекИНН,?(СтрДлина(ТекИНН)=10,1,2));<br> ИННХороший=1;<br> <br> Если СтрДлина(ТекИНН)=10 Тогда<br> КонтрольнаяСумма2=0;<br> Для t=1 По 9 Цикл<br> КонтрольнаяСумма2=КонтрольнаяСумма2+Число(Сред(ТекИНН,t,1))*ФакторИНН[t+2];<br> КонецЦикла;<br> КонтрольнаяСумма2=КонтрольнаяСумма2 % 11;<br> КонтрольнаяСумма2=КонтрольнаяСумма2 % 10;<br> Если КонтрольнаяСумма2<>Число(КонтрольнаяСумма) Тогда<br> ИННХороший=0;<br> КонецЕсли;<br> Иначе<br> КонтрольнаяСумма2=0;<br> Для t=1 По 10 Цикл<br> КонтрольнаяСумма2=КонтрольнаяСумма2+Число(Сред(ТекИНН,t,1))*ФакторИНН[t+1]; <br> КонецЦикла;<br> КонтрольнаяСумма2=КонтрольнаяСумма2 % 11;<br> КонтрольнаяСумма2=КонтрольнаяСумма2 % 10;<br> <br> КонтрольнаяСумма3=0;<br> Для t=1 По 11 Цикл<br> КонтрольнаяСумма3=КонтрольнаяСумма3+Число(Сред(ТекИНН,t,1))*ФакторИНН[t]; <br> КонецЦикла;<br> КонтрольнаяСумма3=КонтрольнаяСумма3 % 11;<br> КонтрольнаяСумма3=КонтрольнаяСумма3 % 10;<br> <br> Если (КонтрольнаяСумма2<>Число(Лев(КонтрольнаяСумма,1))) ИЛИ (КонтрольнаяСумма3<>Число(Прав(КонтрольнаяСумма,1))) Тогда<br> ИННХороший=0;<br> КонецЕсли;<br> КонецЕсли;<br> <br> Возврат(ИННХороший);<br> <br>КонецФункции<br><br>Но в типовых тоже что то есть. Я даже уже не помню, сам я это написал или честно стырил где то"
Спасибо огромное! только что в торговле нашел в модуле регламентнаяОтчетность! но все равно спасибо!
26 апреля 2024 года — Форум пользователей «1С:Документооборота» |
1C:Лекторий: 7 мая 2024 года — Бесплатная онлайн-лекция о новом в 1С:ЗУП (версии 3.1.27-3.1.29): поддержка изменений по налогам и взносам, СЭДО, регистрация в органе статистики и другие изменения 1C:Лекторий: 14 мая 2024 года — Бесплатная онлайн-лекция об учете в 1С:БГУ 8 (ред. 2) невостребованной кредиторами задолженности. Серия 1С:Консалтинг для госсектора |