El dígito de verificación o chequeo se usa en diferentes trámites de la DIAN como por ejemplo para obtener una copia del RUT.
Durante muchos años el manejo del Dígito de Verificación del "Número de Identificación Tributaria” (NIT por sus letras iniciales), fue un tema de manejo exclusivo de las autoridades colombianas de impuestos. Hacia finales de los 80's los primeros fabricantes de Software contable estaban preocupados por conocer y obtener el algoritmo que hiciera el mencionado cálculo, para insertar ese código en sus programas y garantizarle así a sus clientes la correcta inclusión de los NIT's utilizados, al conseguir que el NIT estuviera asociado a un número de control denominado “Dígito de Verificación” (o dígito de chequeo).
Si el programas en Genexus y necesitas incluir el dígito de verificación en las entidades de terceros para Colombia, aquí te dejo el código que puedes optimizar si lo deseas.
Crear un procedimiento
// parametros
Parm(in:&Nit,out:&midigito);
// Source de procedimiento
&NitTemporal = &Nit.ToString()
&div = 11
&NitTemporal =Padl(&NitTemporal, 15,'0' )
&Extraido = val(&NitTemporal.Substring(15,1)) * 3 + val(&NitTemporal.Substring(14,1)) * 7 + val(&NitTemporal.Substring(13,1)) * 13 + val(&NitTemporal.Substring(12,1)) * 17
+ val(&NitTemporal.Substring(11,1)) * 19 + val(&NitTemporal.Substring(10,1)) * 23 + val(&NitTemporal.Substring(9,1)) * 29 + val(&NitTemporal.Substring(8,1)) * 37
+ val(&NitTemporal.Substring(7,1)) * 41 + val(&NitTemporal.Substring(6,1)) * 43 + val(&NitTemporal.Substring(5,1)) * 47 + val(&NitTemporal.Substring(4,1)) * 53
+ val(&NitTemporal.Substring(3,1)) * 59 + val(&NitTemporal.Substring(2,1)) * 67 + val(&NitTemporal.Substring(1,1)) * 71
&Extraido1 = &Extraido /11
&Entero = int(&Extraido1)
&Multiplo = &Entero * &div
&Residuo = &Extraido - &Multiplo
If &Residuo = 0
&midigito =0
Else
If &Residuo =1
&midigito = 1
else
&midigito = &Div - &Residuo
endIf
EndIf
// Definición de variables
&Nit = Numeric(15,0) mínimo 11
&Div ) Numeric(2,0)
&Extraido = Numeric(4,0)
&Multiplo = NUmeric(4,0)
&Extraido1 = Numeric(7,2)
&Entero = Numeric(4,0)
&NitTemporal = Char(15)
&Residuo = Numeric(2,0)
&midigito = Numeric(1,0)
Si no saben como descargar rut es muy sencillo la era digital ha simplicado todo y lo que antes era ir a buscar de manera manuel ahora se puede desde el computador
ResponderBorrar