******************************************************** * FUNCION : Nit_DV * FUNCION : Devuelve el Digito de Verificacion de un Nit (COLOMBIA) * PARAMETROS : Numero de Nit a Calcular * RETORNO : Digito de Verificación * AUTOR : Nelson Cortes (nelson_cortes@tutopia.com) ******************************************************** FUNCTION Nit_DV(_Nit) LOCAL _TipoRet, lnRetorno, Arreglo_PA, WSuma, WDato, WDig_Ver, I _TipoRet = VARTYPE(_Nit) DO CASE CASE _TipoRet == "C" _Nit = ALLTRIM(_Nit) CASE _TipoRet == "N" OR _TipoRet == "Y" _Nit = ALLTRIM(STR(_Nit)) OTHERWISE =MESSAGEBOX("El valor de entrada NIT no se ha podido procesar.",0+48,_SCREEN.cNomApp) RETURN ENDCASE DIMENSION Arreglo_PA(15) Arreglo_PA(1) = 71 Arreglo_PA(2) = 67 Arreglo_PA(3) = 59 Arreglo_PA(4) = 53 Arreglo_PA(5) = 47 Arreglo_PA(6) = 43 Arreglo_PA(7) = 41 Arreglo_PA(8) = 37 Arreglo_PA(9) = 29 Arreglo_PA(10) = 23 Arreglo_PA(11) = 19 Arreglo_PA(12) = 17 Arreglo_PA(13) = 13 Arreglo_PA(14) = 7 Arreglo_PA(15) = 3 lnRetorno = 0 WDato=RIGHT(SPACE(15)+ALLTRIM(_Nit),15) WSuma=0 WDig_Ver=0 FOR I = 1 TO 15 WSuma=WSuma+(VAL(SUBSTR(WDato,I,1))*Arreglo_PA(I)) ENDFOR WSuma=MOD(WSuma,11) IF(WSuma=0 .OR. WSuma=1) lnRetorno = WSuma ELSE lnRetorno = 11 - WSuma ENDIF IF _TipoRet == "C" RETURN ALLTRIM(STR(lnRetorno)) ELSE RETURN lnRetorno ENDIF ENDFUNCOscar Arley Yepes Aristizabal
1 de octubre de 2004
Calcular Digito de Verificacion de NIT (Colombia)
Rutina para calcular el digito de verificacion de NIT (para Colombia)
Suscribirse a:
Comentarios de la entrada
(
Atom
)
Que tal Oscar, serias tan amable me indicas como seria el formulario para realizar ese clculo del digito de verificacion, se uy poco de VFP.
ResponderBorrarGracias.