* Datos && surgen de la tabla de vencimientos de cuotas, excepto ldFeCalc, que en este caso es Hoy.
lnInteresMora=5
lnCapital = 10000
ldFeVencim=Date(2014,5,22)
ldFeCalc=Date()
* Cálculo de tiempo de Mora
lnDiasMora=ldFeCalc - ldFeVencim
lnQuincenas= Int(lnDiasMora / 15 )
*1) Cálculo sin anatocismo (interés simple)
* Monto = Capital * (1+i*n)
n = lnQuincenas
i = lnInteresMora/100
lnMonto = ROUND( lnCapital * (1 + i * n) , 2)
lnRecargo = lnMonto - lnCapital
lcMensaje="Capital: "+TRANSFORM(lnCapital,"999,999.99")+CHR(13);
+"Dias en mora: "+TRANSFORM(ldFeCalc - ldFeVencim,"9,999")+CHR(13);
+"Mora en quincenas: "+TRANSFORM(lnQuincenas)+CHR(13);
+"Porcentaje de Recargo: "+TRANSFORM(lnInteresMora,"999.99%")+CHR(13);
+"Monto de Recargo: "+ TRANSFORM(lnRecargo,"999,999.99")+CHR(13);
+"Monto Adeudado al "+DTOC(ldFeCalc)+" "+TRANSFORM(lnMonto,"999,999.99")
MESSAGEBOX(lcMensaje,0,"Recargo determinado sin Anatocismo")
* ----------------------------------------------------------------
*2) Cálculo con anatocismo (interés compuesto)
* M = C * (1+i)^n
* En lugar de la tasa subperiódica, tomo el período como una quincena
i = lnInteresMora/100
n = lnQuincenas
lnMonto = ROUND( lnCapital * ( 1 + i)^n , 2 )
lnRecargo= lnMonto - lnCapital
lcMensaje="Capital: "+TRANSFORM(lnCapital,"999,999.99")+CHR(13);
+"Dias en mora: "+TRANSFORM(ldFeCalc - ldFeVencim,"9,999")+CHR(13);
+"Mora en quincenas: "+TRANSFORM(lnQuincenas)+CHR(13);
+"Porcentaje de Recargo: "+TRANSFORM(lnInteresMora,"999.99%")+CHR(13);
+"Monto de Recargo: "+ TRANSFORM(lnRecargo,"999,999.99")+CHR(13);
+"Monto Adeudado al "+DTOC(ldFeCalc)+" "+TRANSFORM(lnMonto,"999,999.99")
MESSAGEBOX(lcMensaje,0,"Recargo determinado con Anatocismo")