$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, El Mes Anterior==" . $xF->getFechaMesAnterior() . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, dos meses atras==" . $xF->getFechaMesAnterior(false, 2) . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}  - 30 Dias==" . $xF->setRestarDias(30) . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}  + 30 Dias==" . $xF->setSumarDias(30) . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}  + 2 meses==" . $xF->setSumarMeses(2) . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}  - 2 meses==" . $xF->setRestarMeses(2) . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Nombre del Dia==" . $xF->getDayName() . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Dia Inicial del mes==" . $xF->getDiaInicial() . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Obtener Dia Habil==" . $xF->getDiaHabil() . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Dias desde el 31Dic2013==" . $xF->setRestarFechas($xF->get(), "2013-12-31") . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Buscar Sabado(D6) para el dia de hoy==" . $xF->getDiaAbonoSemanal(6) . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Buscar NOMBRE Sabado(D6) para el dia de hoy==" . $xF->getDayName($xF->getDiaAbonoSemanal(6)) . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Fecha de Pago Decenal 1==" . $xF->getDiaAbonoDecenal(10, 20, 30, "2014-03-02") . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Fecha de Pago Decenal 1==" . $xF->getDiaAbonoDecenal(10, 20, 30, "2014-03-11") . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Fecha de Pago Decenal 1==" . $xF->getDiaAbonoDecenal(10, 20, 30, "2014-03-18") . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Fecha de Pago Decenal 1==" . $xF->getDiaAbonoDecenal(10, 20, 30, "2014-03-20") . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Fecha de Pago Decenal 1==" . $xF->getDiaAbonoDecenal(10, 20, 30, "2014-03-24") . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Fecha de Pago Decenal 1==" . $xF->getDiaAbonoDecenal(10, 20, 30, "2014-03-29") . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Fecha de Pago Decenal 1==" . $xF->getDiaAbonoDecenal(10, 20, 30, "2014-03-31") . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Obtener dias Loborales en el mes==" . $xF->getDiasHabilesEnRango("2014-03-31", "2014-03-01") . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Obtener entero del mes==" . $xF->getInt(fechasys()) . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, DIAS CORRIENTES DE MES" . $xF->getDiasCorrientesDeMes() . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, sumar  7 dias time stamp 84600==" . $xF->getFechaByInt($xF->getInt(fechasys()) + (7 + 1) * 84600) . "</p>");
$xHFrm->addHElem("<p class='aviso'>" . $xF->getMessages(OUT_HTML) . "</p>");
//$xHFrm->addHTML("<p>Esto es un parrafo de prueba</p>");
echo $xHFrm->get();
echo $xP->setBodyEnd();
echo $xP->end();
//=====================================================================================================
?>
 
 function getInteresDevengado($fecha_de_calculo = false, $parcialidad = false, $fecha_anterior = false, $solo_mora_corriente = false)
 {
     $FECHA_DE_OPERACION = $fecha_de_calculo == false ? fechasys() : $fecha_de_calculo;
     $OProd = $this->getOProductoDeCredito();
     $xF = new cFecha(0, $FECHA_DE_OPERACION);
     $credito = $this->mNumeroCredito;
     $PERIODO_A_PAGAR = $parcialidad === false ? $this->getPeriodoActual() : $parcialidad;
     $ESTADO_ACTUAL = $this->getEstadoActual();
     $TASA_NORMAL = $this->getTasaDeInteres();
     $TASA_MORA = $this->getTasaDeMora();
     $SALDO_ACTUAL = $this->getSaldoActual();
     $BASE_NORMAL = $this->getSaldoActual();
     $BASE_MORA = $this->getSaldoActual();
     $TIPO_DE_PAGO = $this->getTipoDePago();
     $PAGOS_SIN_CAPITAL = $this->getPagosSinCapital();
     $DIAS_NORMAL = 0;
     $DIAS_MORA = 0;
     $DIVISOR_DE_INTERESES = EACP_DIAS_INTERES;
     $MONTO_ORIGINAL_DE_CREDITO = $this->getMontoAutorizado();
     $rw = $this->getDatosDeCredito();
     $socio = $this->getClaveDePersona();
     $fecha = $this->getFechaDeMinistracion();
     $msg = "";
     $interes = 0;
     $moratorio = 0;
     $cobranza = 0;
     $xF2 = new cFecha();
     $xPlan = null;
     $PlanInit = false;
     if ($fecha_anterior == false) {
         $credito = setNoMenorQueCero($credito);
         $sqlDev = "SELECT * FROM `creditos_sdpm_acumulado` WHERE credito = {$credito} ";
         $DDev = obten_filas($sqlDev);
         $FECHA_DE_ULTIMO_PAGO = isset($DDev["fechaActual"]) ? $DDev["fechaActual"] : $this->getFechaDeMinistracion();
     } else {
         $FECHA_DE_ULTIMO_PAGO = $fecha_anterior;
     }
     //pre evaluadores
     if ($xF2->getInt($FECHA_DE_ULTIMO_PAGO) < $xF2->getInt($FECHA_DE_OPERACION)) {
         $DIAS_NORMAL = $xF->setRestarFechas($FECHA_DE_OPERACION, $FECHA_DE_ULTIMO_PAGO);
         if ($this->getPeriocidadDePago() == CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO) {
         } else {
             $xPlan = $this->getOPlanDePagos();
             $PlanInit = $xPlan->init();
             $DLetra = $xPlan->getOLetra($PERIODO_A_PAGAR);
             $FECHA_COMPROMETIDA_DE_PAGO = $DLetra->getFechaDePago();
             //$MONTO_PAGADO_DE_PARCIALIDAD	= 0;
         }
         if ($TASA_MORA > 0) {
             if ($this->getPeriocidadDePago() == CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO) {
                 $FECHA_COMPROMETIDA_DE_PAGO = $this->getFechaDeMora();
                 $DIAS_MORA = $xF->setRestarFechas($FECHA_DE_OPERACION, $FECHA_COMPROMETIDA_DE_PAGO);
                 $DIAS_MORA = $DIAS_MORA < 0 ? 0 : $DIAS_MORA;
                 $msg .= "WARN\tDIAS_MORA\tDias de mora Calculado entre {$FECHA_DE_OPERACION} y {$FECHA_COMPROMETIDA_DE_PAGO}\r\n";
                 $msg .= "WARN\tBASE_MORA_LETRA\tBase de Mora {$BASE_NORMAL}, por Dias {$DIAS_MORA} a TASA {$TASA_MORA}, desde el dia {$FECHA_COMPROMETIDA_DE_PAGO}\r\n";
             } else {
                 if ($PlanInit == true) {
                     if (isset($FECHA_COMPROMETIDA_DE_PAGO) and $FECHA_COMPROMETIDA_DE_PAGO != false) {
                         $DIAS_MORA = $xF->setRestarFechas($FECHA_DE_OPERACION, $FECHA_COMPROMETIDA_DE_PAGO);
                         $DIAS_MORA = $DIAS_MORA < 0 ? 0 : $DIAS_MORA;
                         $BASE_MORA = $DLetra->getCapital();
                         // + $DLetra->getInteres() + $DLetra->getOtros();
                         //$DIAS_MES	= $xF->g
                         if ($solo_mora_corriente == true) {
                             if ($DIAS_MORA > $xF->getDiasCorrientesDeMes()) {
                                 $DIAS_MORA = $xF->getDiasCorrientesDeMes();
                             }
                         }
                         $msg .= "WARN\tBASE_MORA_LETRA\tBase de Mora {$BASE_MORA}, por Dias {$DIAS_MORA} a TASA {$TASA_MORA}, desde el dia {$FECHA_COMPROMETIDA_DE_PAGO}\r\n";
                         $msg .= "WARN\tDIAS_MORA\tDias de mora Calculado entre {$FECHA_DE_OPERACION} y {$FECHA_COMPROMETIDA_DE_PAGO}\r\n";
                     } else {
                         $msg .= "WARN\tMORA\tSin datos para letra {$PERIODO_A_PAGAR}\r\n";
                     }
                 } else {
                     $msg .= "WARN\tNO_INIT\tPLAN NO INICIADO\r\n";
                 }
                 $msg .= $xPlan->getMessages(OUT_TXT);
             }
             //Ajustar dias de mora MAXIMO
             if ($DIAS_MORA > INTERES_DIAS_MAXIMO_DE_MORA) {
                 $DIAS_MORA = INTERES_DIAS_MAXIMO_DE_MORA;
             }
             if ($DIAS_NORMAL > INTERES_DIAS_MAXIMO_A_DEVENGAR) {
                 $DIAS_NORMAL = INTERES_DIAS_MAXIMO_A_DEVENGAR;
             }
             if ($BASE_NORMAL <= 0) {
                 $BASE_MORA = 0;
                 $DIAS_MORA = 0;
                 $TASA_MORA = 0;
             }
             eval($OProd->getPreModInteres());
             $moratorio = $BASE_MORA * $DIAS_MORA * $TASA_MORA / $DIVISOR_DE_INTERESES;
             $interes = $BASE_NORMAL * $DIAS_NORMAL * $TASA_NORMAL / $DIVISOR_DE_INTERESES;
             if ($OProd->getAplicaMoraPorGastos() == SYS_UNO) {
                 $cobranza = $moratorio;
                 $msg .= "WARN\tBASE_CBZA_LETRA\tBase de Cobranza {$moratorio}\r\n";
                 $moratorio = 0;
             }
             //POS Valuadores
             eval($OProd->getPosModInteres());
             $msg .= "{$socio}\t {$credito}\tSALDO: {$BASE_NORMAL}\t DIAS : {$DIAS_NORMAL}\tINTERES : {$interes}\tMORA : {$moratorio}\r\n";
         } else {
             $msg .= "OK\tTASA_MORA\t Tasa de Mora ({$TASA_MORA}) CERO\r\n";
         }
     } else {
         $msg .= "WARN\tNO_CALCULO\tNo se Calculan Devengados ({$FECHA_DE_OPERACION}|{$FECHA_DE_ULTIMO_PAGO})\r\n";
     }
     $arrInteres[SYS_INTERES_NORMAL] = $interes;
     $arrInteres[SYS_INTERES_MORATORIO] = $moratorio;
     $arrInteres[SYS_GASTOS_DE_COBRANZA] = $cobranza;
     $this->mMessages .= $msg;
     $arrInteres[SYS_MSG] = $msg;
     return $arrInteres;
 }