Привет!<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>Но в типовых тоже что то есть. Я даже уже не помню, сам я это написал или честно стырил где то"
Спасибо огромное! только что в торговле нашел в модуле регламентнаяОтчетность! но все равно спасибо!
1C:Лекторий: 20 февраля 2025 года, начало в 12:00 — Бесплатная онлайн-лекция с демонстрацией возможностей кадрового электронного документооборота от 1С 1C:Лекторий: 25 февраля 2025 года — Бесплатная онлайн-лекция о новом в 1С:ERP и 1С:КА версии 2.5.21 и 1С:УТ версии 11.5.21: ставки НДС в агентской схеме по закупке, учет прослеживаемой номенклатуры в производстве и др. |
1C:Лекторий: 27 февраля 2025 года, начало в 10:00 — Бесплатная онлайн-лекция об учете туристического налога в решениях 1С 1C:Лекторий: 4 марта 2025 года — Бесплатная онлайн-лекция о новом в программе «1С:ЗУП 8» ред.3 - версии 3.1.30-3.1.32 |