Rutina para verificar el NIT
El parametro es el NIT y devuelve el digito verificador que es el último numero del NIT y solo comparan que sean iguales
*!*-------------------------------------------------------------!
*!* Function : VerificarNit(lcMyNIT) !
*!*-------------------------------------------------------------!
*** Verifica el Numero de NIT
FUNCTION VerificaNit
PARAMETERS lc_NIT
lnSuma = 0
lcCopiaNIT = lc_NIT
IF VAL(TRIM((SUBSTR(lcCopiaNIT, 11, 3))))<=100
FOR lnPosicion = 1 TO 13
lnSuma = lnSuma+VAL(SUBSTR(lcCopiaNIT, lnPosicion, 1))*(15-lnPosicion)
ENDFOR
lnDigitoVerificador = MOD(lnSuma, 11)
IF lnDigitoVerificador=10
lnDigitoVerificador = 0
ENDIF
ELSE
FOR lnPosicion = 1 TO 13
lnFactor = (3+6*INT((lnPosicion+4)/6))-lnPosicion
lnSuma = lnSuma+VAL(SUBSTR(lcCopiaNIT, lnPosicion, 1))*lnFactor
ENDFOR
lnResiduo = MOD(lnSuma, 11)
IF lnResiduo>1
lnDigitoVerificador = 11-lnResiduo
ELSE
lnDigitoVerificador = 0
ENDIF
ENDIF
lcDigitoVerificadorNIT = STR(lnDigitoVerificador)
RETURN lcDigitoVerificadorNIT
ENDFUNC