Buenos dias!
Quisiera hacerles la siguiente consulta:
¿Cómo se calcula el digito verificador correspondiente a un RUC (Registro Unico de Contribuyentes) de Paraguay?
El RUC es un numero que identifica a los contribuyentes que deben pagar impuestos.
Para Personas fisicas: Es el numero de documento de identidad seguido de un guión y el digito verificador. Ej: 1946520-3
Para personas juridicas: Es un numero de 8 cifras que empieza en 80000000 seguido de un guión y el digito verificador. Ej: 80009735-1
En el sitio oficial de la entidad recaudadora de Paraguay existe el codigo fuente en Visual Basic, les trascribo a continuación. Me gustaria conocer en terminos sencillos el algoritmo para calcular este digito verificador (DV). Muchisimas gracias por la ayuda.
FUNCION PARA EL CALCULO DEL DIGITO VERIFICADOR EN VISUAL BASIC
Function getDV(RUC As String) As String
getDV = calcular(RUC, 11)
End Function
Function calcular(numero As String, basemax As Integer) As String
Dim codigo As Long
Dim numero_al As String
Dim i
For i = 1 To Len(numero)
Dim c
c = Mid$(numero, i, 1)
codigo = Asc(UCase(c))
If Not (codigo >= 48 And codigo <= 57) Then
numero_al = numero_al & codigo
Else
numero_al = numero_al & c
End If
Next
Dim k: Dim total
k = 2
total = 0
For i = Len(numero_al) To 1 Step -1
If (k > basemax) Then k = 2
Dim numero_aux
numero_aux = Val(Mid(numero_al, i, 1))
total = total + (numero_aux * k)
k = k + 1
Next
Dim resto: Dim digito
resto = total Mod 11
If (resto > 1) Then
digito = 11 - resto
Else
digito = 0
End If
calcular = digito
End Function
Lun, 21/03/2011 - 19:37
#1
Digito verificador
parece que utiliza el método del módulo 11
consiste en multiplicar cada cifra del número por un valor (las unidades se multiplican por 2, las decenas por 3, las centenas por 4, ...) se suman los resultados de esas multiplicaciones y se calcula el resto de dividirlo por 11
el dígito de verificación es 11 menos el resto de la división
mira en este artículo de la wikipedia, donde explican esto del módulo 11
------
Ya sé Excel, pero necesito más ahora en pdf
------
Ya sé Excel, pero necesito más.
¡¡¡Wow, Pacomegia, me dejas impresionado con tu sabiduría, muchísimas gracias por tan valiosa información!!! Siempre quise saber esto y gracias a ti he obtenido la más acertada de las respuestas :):):)
Es la primera vez que escucho sobre el módulo 11, ¿cómo supiste que de eso se trataba?
Estoy tan feliz de aprender algo sorprendente gracias a ti, ¡mil gracias!