$reciboIDE = $xCta->setRetenerIDE($Fecha, false, $ide, $ide_observacion);
                }
            }
            //Imprime la Ficha del socio
            $xRec = new cReciboDeOperacion();
            $xRec->setNumeroDeRecibo($recibo, true);
            $xFRM->addHTML($xRec->getFichaSocio());
            $xFRM->addHTML($xRec->getFicha(true));
            $xFRM->addHTML($xRec->getJsPrint(true));
            if (CAPTACION_IMPUESTOS_A_DEPOSITOS_ACTIVO == true) {
                if ($ReciboIDE != 0) {
                    $xFRM->addToolbar($xBtn->getBasic("TR. Imprimir recibo de impuestos", "jsPrintIDE()", "imprimir", "idrec-ide", false));
                }
            }
            if (MODO_DEBUG == true) {
                $msg .= $xCta->getMessages();
                $msg .= $xRec->getMessages();
                $xFL = new cFileLog(false, true);
                $xFL->setWrite($msg);
                $xFL->setClose();
                $xFRM->addToolbar($xFL->getLinkDownload("TR.Archivo de sucesos", ""));
            }
            $xFRM->addToolbar($xBtn->getBasic("TR. Imprimir recibo de deposito", "jsImprimirRecibo()", "imprimir", "idrec-dep", false));
        } else {
            $msg .= "ERROR\tLA CUENTA NO ES OPERATIVA EN LA FECHA {$Fecha}\r\n";
        }
        $xFRM->addToolbar($xBtn->getIrAlInicio(true));
    }
    $xFRM->addAviso($msg, "idmsg", true);
}
echo $xFRM->get();
 /**
  * Genera las Inversiones Automaticas
  * @param integer	$recibo numero de recvio al que se agrega los movimientos
  * @param date		$fecha	Fecha de Inversión
  */
 function inversiones_automaticas($recibo = false, $fecha = false)
 {
     $fecha = $fecha == false ? fechasys() : $fecha;
     $msg = "=================\tINVERSIONES_AUTOMATICAS\t======================\r\n";
     $msg .= "=================\tFECHA:\t{$fecha}\t======================\r\n";
     $msg .= date("H:i:s") . "\tLas Cuentas con Saldo Minimo a " . INVERSION_MONTO_MINIMO . " se ignoran\r\n";
     $cierre_sucursal = getSucursal();
     $fecha_operacion = $fecha;
     $xTb = new cSAFETabla(TCAPTACION_CUENTAS);
     $QL = new MQL();
     $BySucursal = "";
     //AND (`captacion_cuentas`.`sucursal` = '$cierre_sucursal') ";
     $sql_invs = $xTb->getQueryInicial() . "\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t  (`captacion_cuentas`.`inversion_fecha_vcto` = '{$fecha}')\n\t\t\t\t\t\t  AND\n\t\t\t\t\t\t  (`captacion_cuentas`.`saldo_cuenta` >=" . INVERSION_MONTO_MINIMO . ") AND\n\t\t\t\t\t\t  (`captacion_subproductos`.`metodo_de_abono_de_interes` =\"AL_VENCIMIENTO\") {$BySucursal} ";
     $rs = $QL->getDataRecord($sql_invs);
     //setLog($sql_invs);
     foreach ($rs as $rw) {
         $socio = $rw["numero_socio"];
         $cuenta = $rw["numero_cuenta"];
         $dias = $rw["dias_invertidos"];
         $periodo = $rw["inversion_periodo"];
         $tasa_anterior = $rw["tasa_otorgada"];
         $subproducto = $rw["tipo_subproducto"];
         $saldo = $rw["saldo_cuenta"];
         $tasa = $tasa_anterior;
         $tasa2 = $tasa_anterior;
         $periodo = $rw["inversion_periodo"];
         $cInv = new cCuentaInversionPlazoFijo($cuenta, $socio, $dias);
         $cInv->init($rw);
         if ($subproducto != 70) {
             $cInv->setReinversion($fecha, true);
         } else {
             $acciones = floor($saldo / COSTE_POR_ACCION);
             $tasa = 0.08;
             $tasa2 = 0.09;
             //Algoritmo de inversion parcial de
             $cientos = floor($acciones / 100);
             if ($cientos >= 1) {
                 //TODO: considerar una buena revision
                 /*SI: Periodo == PRIMO
                  * TONS DIAS = 180
                  * SI NO: DIAS = (365 - 180)*/
                 if ($periodo % 2 == 0) {
                     //par
                     $dias = 365 - 180;
                 } else {
                     $dias = 180;
                 }
                 $msg .= "MAS_CIEN\tExisten {$cientos} CENTENAS DE ACCIONES\r\n";
                 //inversiones de 100
                 $IDeCien = COSTE_POR_ACCION * ($cientos * 100);
                 //prevee que no se invierta mas de el saldo
                 $IDeCien = $IDeCien > $saldo ? $saldo : $IDeCien;
                 $RInversion = $xInv->setReinversion($fecha, true, $tasa2, $dias, true, $IDeCien);
                 $msg .= "MAS_CIEN\tLa Inversion a tasa de {$tasa2} es de {$IDeCien}\r\n";
                 //inversiones < 100
                 $IMenorDeCien = $saldo - $IDeCien;
                 if ($IMenorDeCien > 0) {
                     $RInversion2 = $xInv->setReinversion($fecha, true, $tasa, $dias, true, $IMenorDeCien);
                     $msg .= "REM_CIEN\tEl remanente a invertir a tasa de {$tasa} es de {$IMenorDeCien}\r\n";
                 }
                 $xInv->setUpdateInversion(true);
             }
         }
         $msg .= $cInv->getMessages("txt");
     }
     return $msg;
 }
                 } else {
                     $xInv = new cCuentaInversionPlazoFijo(false, $socio, $plazo, $tasa, $fechaApertura);
                     //Agrega la Cuenta
                     $ClaveCuenta = $xInv->setNuevaCuenta(99, 2, $socio, $observaciones, DEFAULT_CREDITO, "", "", DEFAULT_GRUPO, $fechaApertura, CAPTACION_TIPO_PLAZO, 99, $plazo, $tasa);
                     if ($ClaveCuenta != false) {
                         $msg .= "{$iReg}\t{$socio}\tCUENTA\tSe Agrego Exitosamente la cuenta {$ClaveCuenta}\r\n";
                         if ($importe > 0) {
                             $xInv->init();
                             $xInv->setFechaDeOperacion($fechaApertura);
                             $xInv->setDiasInvertidos($plazo);
                             $RDeposito = $xInv->setDeposito($importe, DEFAULT_CHEQUE, DEFAULT_TIPO_PAGO, DEFAULT_RECIBO_FISCAL, $observaciones, DEFAULT_GRUPO, $fechaApertura);
                             $msg .= "{$iReg}\t{$socio}\tRECIBO_DEPOSITO\tSe Efectua un Deposito de {$importe} al Recibo {$RDeposito}\r\n";
                             $xInv->init();
                             $recibo_de_reinversion = $xInv->setReinversion($fechaApertura, true, $tasa, $plazo);
                             $msg .= "{$iReg}\t{$socio}\tRECIBO_INVERSION\tSe Efectua una Inversion de {$importe} al Recibo {$recibo_de_reinversion}\r\n";
                             $msg .= $xInv->getMessages("txt");
                         }
                     } else {
                         $msg .= "{$iReg}\t{$socio}\tERROR\tSe Fallo al Agregar la Cuenta\r\n";
                     }
                 }
             }
             $iReg++;
         }
     }
     fclose($gestor);
     $xLog->setWrite($msg);
     echo $xLog->getLinkDownload("Archivo del proceso");
 } else {
     echo "<p class='aviso'>EL TIPO DE ARCHIVO DE " . $usrFiles[$i]['name'] . "(" . $mExt . ") NO SE ACEPTA</p>";
 }
            //inversiones < 100
            $IMenorDeCien = $saldo - $IDeCien;
            if ($IMenorDeCien > 0) {
                $RInversion2 = $xC->setReinversion($fecha_actual, true, $tasa, $dias, true, $IMenorDeCien);
                $msg .= "REM_CIEN\tEl remanente a invertir a tasa de {$tasa} es de {$IMenorDeCien}\r\n";
            }
            $xC->setUpdateInversion(true);
        } else {
            //
            $RInversion = $xC->setReinversion($fecha_actual, true, $tasa, $dias);
        }
        echo $cSoc->getFicha(true);
        //$xC->init();
        echo $xC->getFicha(true);
        if (MODO_DEBUG == true) {
            echo $xC->getMessages("html");
            echo $msg;
        }
        echo "<input type='button' name='btsend' value='IMPRIMIR RECIBO DE DEPOSITO' onClick='jsPrintDeposito()' /> ";
        echo "<input type='button' name='btsend' value='IMPRIMIR/VER CONSTANCIA DE INVERSION' onClick='jsPrintReporto();' />";
        if ($ReciboIDE != false) {
            echo "<input type='button' name='btsend' value='IMPRIMIR/VER RECIBO DE RETENCION IDE' onClick='jsPrintIDE();'>";
        }
    }
}
?>
</body>

<?php 
$jxc->drawJavaScript(false, true);
$jsb = new jsBasicForm("OperacionesEnAcciones", iDE_CAPTACION);
/**
 * Genera las Inversiones Automaticas
 * @param integer $recibo numero de recio al que se agrega los movimientos
 */
function inversiones_automaticas($recibo = false, $fecha = false)
{
    if ($fecha == false) {
        $fecha = fechasys();
    }
    $msg = "=================INVERSIONES_AUTOMATICAS======================\n";
    $msg .= date("Y-m-d H:i:s") . "\tLas Cuentas con Saldo Minimo a " . INVERSION_MONTO_MINIMO . " se ignorar�n\r\n";
    $cierre_sucursal = getSucursal();
    if ($fecha == false) {
        $fecha_operacion = date("Y-m-d");
    } else {
        $fecha_operacion = $fecha;
    }
    $sql_invs = "SELECT\r\n  `captacion_cuentas`.`numero_cuenta`,\r\n  `captacion_cuentas`.`numero_socio`,\r\n  `captacion_cuentas`.`inversion_fecha_vcto`,\r\n  `captacion_cuentas`.`inversion_periodo`,\r\n  `captacion_cuentas`.`tasa_otorgada`,\r\n  `captacion_cuentas`.`dias_invertidos`,\r\n  `captacion_cuentas`.`saldo_cuenta`,\r\n  `captacion_cuentas`.`eacp`\r\nFROM\r\n  `captacion_subproductos` `captacion_subproductos`\r\n    INNER JOIN `captacion_cuentas` `captacion_cuentas`\r\n    ON `captacion_subproductos`.\r\n    `idcaptacion_subproductos` = `captacion_cuentas`.\r\n    `tipo_subproducto`\r\nWHERE\r\n  (`captacion_cuentas`.`inversion_fecha_vcto` = '{$fecha}')\r\n  AND\r\n  (`captacion_cuentas`.`saldo_cuenta` >=" . INVERSION_MONTO_MINIMO . ") AND\r\n  (`captacion_subproductos`.`metodo_de_abono_de_interes` =\"AL_VENCIMIENTO\")\r\n\tAND\r\n\t(`captacion_cuentas`.`sucursal` = '{$cierre_sucursal}')\r\n";
    $rs = mysql_query($sql_invs, cnnGeneral());
    if (!$rs) {
        $msg .= "<p>LA CONSULTA NO SE EJECUTO (CODE: " . mysql_errno() . ")</p>";
    }
    while ($rw = mysql_fetch_array($rs)) {
        $socio = $rw["numero_socio"];
        $cuenta = $rw["numero_cuenta"];
        $dias = $rw["dias_invertidos"];
        $periodo = $rw["inversion_periodo"];
        $tasa_anterior = $rw["tasa_otorgada"];
        //$numero_de_cuenta, $dias_invertidos, $tasa = false
        $cInv = new cCuentaInversionPlazoFijo($cuenta, $socio, $dias);
        $cInv->setReinversion($fecha, true);
        $msg .= $cInv->getMessages();
    }
    return $msg;
}
            $messages .= "WARN\tLa Inversion se CIERRA\r\n";
        } elseif ($saldo >= TOLERANCIA_SALDOS) {
            $messages .= "ERROR\tSDO_MIN\tEL saldo de la Inversion({$saldo}) es menor a " . INVERSION_MONTO_MINIMO . ", la Inversion no se efectua\r\n";
            //LLevar a cuenta Corriente
            $mCorriente = $xSoc->getCuentaDeCaptacionPrimaria(CAPTACION_TIPO_VISTA);
            if ($xTyp->getEvalNotNull(array($mCorriente)) == true) {
                $messages .= "WARN\tSDO_MIN\tSe intenta el Traspaso a cuenta Corriente\r\n";
                $messages .= $xCta->setTraspaso($mCorriente, CAPTACION_TIPO_VISTA);
            }
        }
    } else {
        $messages .= "WARN\tLa Inversion permanece Abierta\r\n";
    }
    $url_recibo_inversion = $xCta->getURLReciboInversion($recibo_de_reinversion);
    if (MODO_DEBUG == true) {
        $xFRM->addLog($messages . $xCta->getMessages());
    }
    $xFRM->addAviso($messages);
    $xCta->init();
    $xFRM->addHElem($xCta->getFicha(true, "", true));
    $xFRM->addToolbar($xBtn->getBasic("TR.Imprimir constancia_de_inversion", "jsPrintReporto()", "imprimir", "idnim", false));
}
echo $xFRM->get();
$jxc->drawJavaScript(false, true);
?>
</body>
<script  >
var mjrsF 		= "../clsfunctions.inc.php";
var mIForm		=	document.frminversiones;
var localDate	= "<?php 
echo fechasys();