Mar. 16th, 2011

aentelis: (Default)

Возможно кому-нибудь пригодится:
http://programmersforum.ru/showpost.php?p=758141&postcount=8

'Проверка номера ОГРН или ОГРНИП (Основной Государственный Регистрационный Номер 
‘(для Индивидуального Предпринимателя)) 'Состоят из 13 (или 15) цифр, из них последняя - n1 - контрольная. 'Контрольная цифра равна остатку от деления на 11 (или на 13) числа, 'состоящего из первых 12 (или 14) цифр. Если остаток больше 9, то
'n1 = последней цифре остатка. 'Результат: False при неверном ОГРН – True при прошедшем контроль
Public Function CheckOGRN(s As String) As Boolean Dim l As Long Dim k As Long Dim d1 As Currency Dim t As String l = Len(s) CheckOGRN = False If Not (l = 13 Or l = 15) Then Exit Function 'Неверная длина If Not s Like String(l, "#") Then Exit Function 'Присутствуют не цифры d1 = CCur(Left$(s, l - 1)) l = l - 1 t = CStr(d1 / l) k = InStr(t, Format$(0, ".")) 'Проверяем есть ли десятичный разделитель If k > 0 Then t = Left$(t, k - 1) 'Если да - выделяем целую часть CheckOGRN = Right(CStr(d1 - l * CCur(t)), 1) = Right$(s, 1) End Function

Profile

aentelis: (Default)
aentelis

August 2011

S M T W T F S
 123 456
78910111213
14151617181920
21222324252627
28293031   

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 28th, 2017 08:52 am
Powered by Dreamwidth Studios