function setCambiarFechaDeVencimiento($fecha)
 {
     $xF = new cFecha();
     $xPer = new cPeriocidadDePago($this->getPeriocidadDePago());
     $xPer->init();
     $xPdto = $this->getOProductoDeCredito();
     $dias_tolerados_del_plan = $xPer->getDiasToleradosEnVencer();
     $dias_tolerados_del_pdto = $xPdto->getDiasTolerados();
     $total_dias_tolerados = $dias_tolerados_del_pdto + $dias_tolerados_del_plan;
     $this->mMessages .= "WARN\tDias tolerados del Producto {$dias_tolerados_del_pdto}, Dias Tolerados de la periocidad {$dias_tolerados_del_plan} \r\n";
     $sucess = false;
     if ($xF->getInt($fecha) > $xF->getInt($this->getFechaDeVencimiento())) {
         $nuevos_dias = $xF->setRestarFechas($fecha, $this->getFechaDeMinistracion());
         $nuevos_pagos = $this->getPagosAutorizados();
         ceil($nuevos_dias / $this->getPagosAutorizados());
         if ($this->getPeriocidadDePago() != CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO) {
             $nuevos_pagos = ceil($nuevos_dias / $this->getPagosAutorizados());
         }
         $nuevos_pagos = $nuevos_pagos > $this->getPagosAutorizados() ? $nuevos_pagos : $this->getPagosAutorizados();
         $fecha_de_vencimiento = $fecha;
         $fecha_de_vencimiento_dinamico = $xF->setSumarDias($total_dias_tolerados, $fecha);
         $fecha_de_mora = $xF->setSumarDias($dias_tolerados_del_pdto, $fecha);
         $this->mMessages .= "WARN\tNuevos dias {$nuevos_dias}, Nuevo pagos {$nuevos_pagos}, vencimiento {$fecha_de_vencimiento}, Venc dinamico {$fecha_de_vencimiento_dinamico}, Mora {$fecha_de_mora} \r\n";
         $sucess = true;
         $this->setUpdate(array("dias_autorizados" => $nuevos_dias, "pagos_autorizados" => $nuevos_pagos, "fecha_revision" => fechasys(), "fecha_vencimiento" => $fecha_de_vencimiento, "fecha_mora" => $fecha_de_mora, "fecha_vencimiento_dinamico" => $fecha_de_vencimiento_dinamico));
     } else {
         $this->mMessages .= "ERROR\tLa fecha no puede ser cambiada a uno menor ({$fecha}) \r\n";
     }
     return $sucess;
 }