Привет!<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>Но в типовых тоже что то есть. Я даже уже не помню, сам я это написал или честно стырил где то"
Спасибо огромное! только что в торговле нашел в модуле регламентнаяОтчетность! но все равно спасибо!
20 ноября 2024 года — Единый торговый семинар 1С 10 декабря 2024 года — Практическая конференция «День Документооборота» |
1C:Лекторий: 19 ноября 2024 года, начало в 12:00 — Бесплатная онлайн-лекция об онлайн-кассах: как правильно выбрать смарт-терминал 1C:Лекторий: 21 ноября 2024 года, начало в 12:00 — Бесплатная онлайн-лекция «Зачем организации переходить на КЭДО» |