******************************************************** * 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
Menu
▼
1 de octubre de 2004
Calcular Digito de Verificacion de NIT (Colombia)
Rutina para calcular el digito de verificacion de NIT (para Colombia)
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.