$tasaAhorro = $cT->cFloat($DConv["tasa_ahorro"]);
                 if ($ContratoCorriente == 0 and $tasaAhorro > 0) {
                     $xCapta = new cCuentaALaVista(false);
                     $ContratoCorriente = $xCapta->setNuevaCuenta(99, DEFAULT_SUBPRODUCTO_CAPTACION, $socio, "CUENTA POR IMPORTACION", $credito);
                     $msg .= "{$iReg}\t{$socio}\t{$credito}\tAgregando una Cuenta Corriente {$ContratoCorriente} NUEVO\r\n";
                 }
                 //Agregar
                 $ok = $xCred->add($producto, $socio, $ContratoCorriente, $monto, $periocidad, $pagos, 0, CREDITO_DEFAULT_DESTINO, $credito, DEFAULT_GRUPO, "", "CREDITO IMPORTADO #{$iReg}", DEFAULT_USER, $ministracion);
                 if ($ok == true) {
                     ///Inicializar
                     //autorizar
                     $xCred->setAutorizado($monto, $pagos, $periocidad, CREDITO_TIPO_AUTORIZACION_AUTOMATICA, $ministracion, "CREDITO IMPORTADO #{$iReg}", false, $ministracion, 2, false, $vencimiento, CREDITO_ESTADO_AUTORIZADO, $monto, 0, $UltimaOperacion);
                     $xCred->init();
                     //ministrar
                     $xCred->setForceMinistracion();
                     $xCred->setMinistrar(DEFAULT_RECIBO_FISCAL, DEFAULT_CHEQUE, $monto, DEFAULT_CUENTA_BANCARIA, 0, DEFAULT_CUENTA_BANCARIA, "CREDITO IMPORTADO #{$iReg}", $ministracion);
                     if ($monto > $saldo) {
                         $abono = $monto - $saldo;
                         $msg .= "{$iReg}\t{$socio}\t{$credito}\tAgregando un Abono por {$abono} por el Saldo {$saldo} del Monto {$monto}\r\n";
                         $xCred->setAbonoCapital($abono, 1, DEFAULT_CHEQUE, DEFAULT_RECIBO_FISCAL, "CREDITO IMPORTADO #{$iReg}", DEFAULT_GRUPO, $UltimaOperacion);
                     }
                 } else {
                     $msg .= "{$iReg}\t{$socio}\t{$credito}\tEL Credito no se pudo agregar\r\n";
                 }
                 $msg .= $xCred->getMessages("txt");
             }
         }
         $iReg++;
     }
 }
 fclose($gestor);
//$txt 	= $xHTxt->getDeMoneda("id", "Moneda de Prueba",  100);
$miFecha = fechasys();
$xF = new cFecha(0, $miFecha);
$runTest = isset($_GET["run"]) ? true : false;
$persona_de_pruebas = parametro("persona", 99999, MQL_INT);
$credito_de_pruebas = 29000201;
$xAML = new cAMLPersonas($persona_de_pruebas);
$x2AML = new cAMLPersonas_PerfilTransaccional($persona_de_pruebas);
if ($runTest == true) {
    $xCred = new cCredito($credito_de_pruebas);
    $init = true;
    $xCred->init();
    //Ministrar
    if ($xCred->getEsAfectable() == false) {
        $xCred->setForceMinistracion();
        $xCred->setMinistrar("", DEFAULT_CHEQUE, 0, DEFAULT_CUENTA_BANCARIA, 0, 0, "", '2014-01-01');
        $init = $xCred->init();
    }
    if ($init == true) {
        $xRec = new cReciboDeOperacion(RECIBOS_TIPO_PAGO_CREDITO, true);
        $xRec->setDocumento($xCred->getNumeroDeCredito());
        $xRec->setSocio($xCred->getClaveDePersona());
        $idrec = $xRec->setNuevoRecibo($xCred->getClaveDePersona(), $xCred->getNumeroDeCredito(), fechasys(), 1);
        $xCred->setReciboDeOperacion($idrec);
        //agregar pagos
        $xCred->setAbonoCapital(2200, 1, DEFAULT_CHEQUE, TESORERIA_COBRO_EFECTIVO, DEFAULT_RECIBO_FISCAL, "", DEFAULT_GRUPO, "2014-01-15");
        //if($xCred->getORecibo() != null){ $xCred->getORecibo()->setFinalizarRecibo(true); }
        $xCred->setAbonoCapital(5200, 1, DEFAULT_CHEQUE, TESORERIA_COBRO_EFECTIVO, DEFAULT_RECIBO_FISCAL, "", DEFAULT_GRUPO, "2014-01-20");
        //if($xCred->getORecibo() != null){ $xCred->getORecibo()->setFinalizarRecibo(true); }
        $xCred->setAbonoCapital(6200, 1, DEFAULT_CHEQUE, TESORERIA_COBRO_EFECTIVO, DEFAULT_RECIBO_FISCAL, "", DEFAULT_GRUPO, "2014-01-30");
        //if($xCred->getORecibo() != null){ $xCred->getORecibo()->setFinalizarRecibo(true); }
$cheque2 = 0;
$recibo_fiscal = parametro("idfoliofiscal");
$fecha = parametro("idfechaactual", false, MQL_DATE);
//descuentos
$creditodescontado = parametro("idcreditodescontado", 0, MQL_INT);
$montocreditodesc = parametro("idmontocreditodescontado", 0, MQL_FLOAT);
$montocomision = parametro("idmontocomisiondescontado", 0, MQL_FLOAT);
$xHP->init();
$xFRM = new cHForm("frmacciones", "./");
if ($idsolicitud <= 0 or $monto_cheque1 <= 0) {
    echo JS_CLOSE;
} else {
    $xCred = new cCredito($idsolicitud, $idsocio);
    $xCred->init();
    if ($xCred->getEstadoActual() == CREDITO_ESTADO_AUTORIZADO or $monto_cheque1 <= 0) {
        $recibo = $xCred->setMinistrar($recibo_fiscal, $cheque, $monto_cheque1, $cuenta_cheques, $cheque2, $cuenta_cheques2, $observaciones, $fecha);
        if (setNoMenorQueCero($recibo) > 0) {
            $xFRM->addHTML($xCred->getFichaDeSocio());
            $xFRM->addHTML($xCred->getFicha());
            $xFRM->OButton("TR.RECIBO DE MINISTRACION", "jsImprimirReciboMinistracion()", $xFRM->ic()->REPORTE, "id4");
            $xFRM->addToolbar($xBtn->getIrAlInicio(true));
            $uPagare = "elUrl='" . $xCred->getOProductoDeCredito()->getPathPagare($idsolicitud) . "';";
            $uContrato = "esUrl='" . $xCred->getPathDelContrato() . "';";
            if ($creditodescontado >= DEFAULT_CREDITO) {
                $xDCred = new cCredito($creditodescontado);
                $xDCred->init();
                $saldodesc = $xDCred->getSaldoActual($fecha);
                if ($saldodesc < $montocreditodesc) {
                    $montocreditodesc = $saldodesc;
                    $montocomision = $montocomision + ($montocreditodesc - $saldodesc);
                }
 function setRegenerarCreditosMinistraciones($incluirSinSaldo)
 {
     //Reconstruye el Movimiento de Ministracion de Creditos
     //
     $wGeneral = $incluirSinSaldo == "SI" ? "" : "WHERE saldo_actual > 0 AND fecha_ministracion > '2006-12-01'";
     //
     $msg = "============================\t\tGENERANDO MINISTRACIONES DE CREDITOS \r\n ";
     //Obtiene el Listado de Movimientos 110
     $SQLMinistraciones = " SELECT\n\t\t\t\t\t\t\t\tCONCAT(`operaciones_mvtos`.`docto_afectado`, '-',\n\t\t\t\t\t\t\t\t`operaciones_mvtos`.`tipo_operacion`) AS 'id',\n\t\t\t\t\t\t\t\t`operaciones_mvtos`.`afectacion_real`  AS 'monto'\n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos`\n\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t(`operaciones_mvtos`.`tipo_operacion` =110) ";
     $arrMin = array();
     $rsM = mysql_query($SQLMinistraciones, cnnGeneral());
     while ($rx = mysql_fetch_array($rsM)) {
         $arrMin[$rx["id"]] = $rx["monto"];
     }
     //==============================================================================
     $fecha = fechasys();
     $cheque = DEFAULT_CHEQUE;
     $recibo_fiscal = "NA";
     $observaciones = "GENERADO_EN_LA_UTILERIA_874";
     //==============================================================================
     $CRecibo = new cReciboDeOperacion(1, true);
     //Set a Mvto Contable
     //$CRecibo->setGenerarPoliza();
     //$CRecibo->setGenerarTesoreria();
     $recibo = $CRecibo->setNuevoRecibo(DEFAULT_SOCIO, DEFAULT_CREDITO, $fecha, 1, 1, $observaciones, $cheque, "ninguno", $recibo_fiscal, DEFAULT_GRUPO);
     $CRecibo->setNumeroDeRecibo($recibo);
     //Genera los Creditos
     $sql = "SELECT\n\t\t\t\t\t\t\t\t\t\t\t\t`creditos_solicitud`.*,\n\t\t\t\t\t\t\t\t\t\t\t\t`creditos_tipoconvenio`.*,\n\t\t\t\t\t\t\t\t\t\t\t\t`creditos_periocidadpagos`.*,\n\t\t\t\t\t\t\t\t\t\t\t\t`creditos_estatus`.*,\n\t\t\t\t\t\t\t\t\t\t\t\t`creditos_solicitud`.`tasa_interes` AS `tasa_ordinaria_anual`,\n\t\t\t\t\t\t\t\t\t\t\t\t`creditos_solicitud`.`tipo_autorizacion` AS `tipo_de_autorizacion`,\n\t\t\t\t\t\t\t                    `creditos_solicitud`.`tasa_ahorro` AS `tasa_de_ahorro`\n\t\t\t\t\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t`creditos_tipoconvenio` `creditos_tipoconvenio`\n\t\t\t\t\t\t\t\t\tINNER JOIN `creditos_solicitud` `creditos_solicitud`\n\t\t\t\t\t\t\t\t\tON `creditos_tipoconvenio`.`idcreditos_tipoconvenio`\n\t\t\t\t\t\t\t\t\t= `creditos_solicitud`.`tipo_convenio`\n\t\t\t\t\t\t\t\t\t\tINNER JOIN `creditos_periocidadpagos`\n\t\t\t\t\t\t\t\t\t\t`creditos_periocidadpagos`\n\t\t\t\t\t\t\t\t\t\tON `creditos_periocidadpagos`.\n\t\t\t\t\t\t\t\t\t\t`idcreditos_periocidadpagos` =\n\t\t\t\t\t\t\t\t\t\t`creditos_solicitud`.`periocidad_de_pago`\n\t\t\t\t\t\t\t\t\t\t\tINNER JOIN `creditos_estatus`\n\t\t\t\t\t\t\t\t\t\t\t`creditos_estatus`\n\t\t\t\t\t\t\t\t\t\t\tON `creditos_estatus`.`idcreditos_estatus` =\n\t\t\t\t\t\t\t\t\t\t\t`creditos_solicitud`.`estatus_actual`\n\t\t\t\t\t\t\t\t\t\t\t{$wGeneral}\n\t\t\t\t\t\t\t\t  ";
     $rs = mysql_query($sql, cnnGeneral());
     while ($rw = mysql_fetch_array($rs)) {
         $socio = $rw["numero_socio"];
         $credito = $rw["numero_solicitud"];
         $monto = $rw["monto_autorizado"];
         $fecha_ministracion = $rw["fecha_ministracion"];
         $CCredito = new cCredito($credito, $socio);
         $CCredito->init($rw);
         $CCredito->setForceMinistracion();
         if (!isset($arrMin["{$credito}-110"])) {
             $idreciboMin = $CCredito->setMinistrar($recibo_fiscal, DEFAULT_CHEQUE, $monto, DEFAULT_CUENTA_BANCARIA, DEFAULT_CHEQUE, DEFAULT_CUENTA_BANCARIA, $observaciones, $fecha_ministracion, $recibo);
         }
         $msg .= $CCredito->getMessages("txt");
     }
     $CRecibo->setFinalizarRecibo(true);
     $msg .= $CRecibo->getMessages("txt");
     return $msg;
 }