Visual Basic - Verificar el dígito de verificación de un NIT

Life is soft - evento anual de software empresarial
 
Vista:

Verificar el dígito de verificación de un NIT

Publicado por Wilmer Piedrahíta (1 intervención) el 08/04/2005 22:20:36
Hola, esto es un código que me encontré en la página http://www.msusenet.com/archive/index.php/t-320837.html cortesía de Victor Koch.

Function Nit(strNit) As Boolean
Dim i As Byte, chrCar As String
Dim V(1 To 9, 1 To 2) As Integer
Dim bytVerificacion As Byte
Dim intSuma As Integer, dblM As Double

'*********************************************************************
' Carga los factores de verificación
'*********************************************************************

V(1, 1) = 41
V(2, 1) = 37
V(3, 1) = 29
V(4, 1) = 23
V(5, 1) = 19
V(6, 1) = 17
V(7, 1) = 13
V(8, 1) = 7
V(9, 1) = 3

'*********************************************************************

strNit = Replace(strNit, "-", "")
If Len(strNit) > 10 Then
Nit = False
Else
strNit = Format(Val(strNit), String(10, "0"))
If Val(strNit) = 0 Then
Nit = False
Exit Function
End If
For i = 1 To 9
V(i, 2) = Right(Left(strNit, i), 1)
Next i
bytVerificacion = Right(Left(strNit, 10), 1)
intSuma = 0
For i = 1 To 9
intSuma = V(i, 1) * V(i, 2) + intSuma
Next i
dblM = (intSuma Mod 11)
If dblM > 1 Then dblM = 11 - dblM
If dblM = bytVerificacion Then
Nit = True
Else
Nit = False
End If
End If

End Function
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder