function jsaEliminarRecibo($numero)
{
    if (setNoMenorQueCero($numero) > 0) {
        $oficial = elusuario($_SESSION["log_id"]);
        $cRec = new cReciboDeOperacion(false, false, $numero);
        $cRec->setNumeroDeRecibo($numero);
        $cRec->setRevertir();
        return $cRec->getMessages(OUT_HTML);
    }
}
function jsaGetReciboEnSesion($ctrl)
{
    if (isset($_SESSION["recibo_en_proceso"])) {
        $recibo = $_SESSION["recibo_en_proceso"];
        $xRec = new cReciboDeOperacion(200, false, $recibo);
        $xRec->setNumeroDeRecibo($recibo, true);
        $xRec->setGenerarPoliza();
        $xRec->setForceUpdateSaldos();
        $xRec->setFinalizarRecibo(true);
    }
    return "<input type=\"button\" value=\"Imprimir el Recibo # " . $_SESSION["recibo_en_proceso"] . "\" onclick=\"cImprimirRecibo(" . $_SESSION["recibo_en_proceso"] . ")\" id=\"idButtonGo\" />";
}
function Common_c8581154ac4e27cb0e122d71341dd7d8($strCmd)
{
    $DPar = explode(STD_LITERAL_DIVISOR, $strCmd);
    $xTip = new cTipos();
    //
    $socio = $xTip->cInt($DPar[0]);
    $cuenta = $xTip->cInt($DPar[1]);
    $deposito = $xTip->cFloat($DPar[2]);
    $retiro = $xTip->cFloat($DPar[3]);
    $nota = $xTip->cChar($DPar[4]);
    $numero = $xTip->cInt($DPar[5]);
    $limit = $xTip->cInt($DPar[6]);
    if (isset($_SESSION["recibo_en_proceso"])) {
        $recibo = $_SESSION["recibo_en_proceso"];
        $fecha = fechasys();
        $_SESSION["total_recibo_en_proceso"] += $deposito - $retiro;
        $xRec = new cReciboDeOperacion(200, false, $recibo);
        $xRec->setNumeroDeRecibo($recibo, true);
        $DRec = $xRec->getDatosInArray();
        $cheque = $DRec["cheque_afectador"];
        $tipopago = $DRec["tipo_pago"];
        $recibofiscal = $DRec["recibo_fiscal"];
        if ($deposito > 0 or $retiro > 0) {
            $xC = new cCuentaALaVista($cuenta);
            $grupo = DEFAULT_GRUPO;
            $xC->setSocioTitular($socio);
            $xC->setReciboDeOperacion($recibo);
            if ($deposito > 0) {
                $xC->setDeposito($deposito, $cheque, $tipopago, $recibofiscal, $nota, $grupo, $fecha, $recibo);
            }
            if ($retiro > 0) {
                $xC->setRetiro($retiro, $cheque, $tipopago, $recibofiscal, $nota, $grupo, $fecha, $recibo);
            }
        }
        if ($numero == $limit) {
            $xRec->setForceUpdateSaldos();
            $xRec->setFinalizarRecibo(true);
            //$MsgEnd		.= "**** proceso terminado ****";
        }
    }
    //retorna el id del control de origen para neutralizar
    return "-{$numero}";
}
$messages = "";
$fechaop = parametro("f", fechasys());
$xF = new cFecha(0, $fechaop);
/**
 * Generar el Archivo HTMl del LOG
 * eventos-del-cierre + fecha_de_cierre + .html
 *
 */
$aliasFil = getSucursal() . "-eventos-al-cierre-de-colocacion-del-dia-{$fechaop}";
$xLog = new cFileLog($aliasFil);
$ql = new MQL();
$xRec = new cReciboDeOperacion(12);
$xRec->setGenerarPoliza();
$xRec->setForceUpdateSaldos();
$idrecibo = $xRec->setNuevoRecibo(DEFAULT_SOCIO, DEFAULT_CREDITO, $fechaop, 1, 12, "CIERRE_DE_COLOCACION_{$fechaop}", DEFAULT_CHEQUE, DEFAULT_TIPO_PAGO, DEFAULT_RECIBO_FISCAL, DEFAULT_GRUPO);
$xRec->setNumeroDeRecibo($idrecibo);
$messages .= "=======================================================================================\r\n";
$messages .= "=========================\t\t" . EACP_NAME . " \r\n";
$messages .= "=========================\t\t" . getSucursal() . " \r\n";
$messages .= "=======================================================================================\r\n";
$messages .= "=========================\t\tINICIANDO EL CIERRE DE COLOCACION ====================\r\n";
$messages .= "=========================\t\tRECIBO: {$idrecibo}\t\t\t\t   ====================\r\n";
//reconstruir db de pagos
$ql->setRawQuery("CALL `proc_historial_de_pagos` ");
$xCUtils = new cUtileriasParaCreditos();
$messages .= $xCUtils->setEstatusDeCreditos($idrecibo, $fechaop, false, true);
if (date("Y-m-t", strtotime($fechaop)) == date("Y-m-d", strtotime($fechaop))) {
    $messages .= $xCUtils->setGenerarMvtoFinDeMes($xF->getDiaInicial(), $xF->getDiaFinal());
}
if (CREDITO_CIERRE_FORZAR_DEVENGADOS == true) {
    $messages .= $xCUtils->setReestructurarSDPM_Planes(true, false, false, false, $xF->getDiaInicial(), false);
 //si el IDE es mayor a cero
 if ($ide > 0) {
     $saldo = $xCta->getNuevoSaldo();
     $ide_observacion = "Retencion Generada por un Deposito de {$monto}, Recibo {$recibo}, saldo de {$saldo}";
     //Si el Saldo de la Cuenta es Mayor al IDE
     if ($saldo > $ide) {
         $reciboIDE = $xCta->setRetenerIDE($Fecha, false, $ide, $ide_observacion);
     } else {
         //Si no el IDE es igual al Saldo
         $ide = $saldo;
         $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", ""));
 function add($observaciones, $fecha_operacion = false)
 {
     $fecha_operacion = $fecha_operacion == false ? fechasys() : $fecha_operacion;
     $xRecN = new cReciboDeOperacion(RECIBOS_TIPO_PLAN_DE_PAGO, true);
     $this->mNumeroDePlan = $xRecN->setNuevoRecibo($this->mClaveDePersona, $this->mClaveDeCredito, $fecha_operacion, 0, false, $observaciones, DEFAULT_CHEQUE, TESORERIA_COBRO_NINGUNO, DEFAULT_RECIBO_FISCAL, $this->mClaveDeGrupo);
     $xRecN->setNumeroDeRecibo($this->mNumeroDePlan, true);
     $xRecN->setDefaultEstatusOperacion(OPERACION_ESTADO_GENERADO);
     $this->init($this->mNumeroDePlan);
     //, $xRecN->getDatosInArray());
     $this->mMessages .= $xRecN->getMessages();
     $this->mORec = $xRecN;
     unset($xRecN);
     return $this->mNumeroDePlan;
 }
$thTit = "Monto Autorizado";
$idplan = $_GET["plan"];
$tipo_docto = 40;
$rs_find_plan = false;
if (!isset($idplan)) {
    $idgrupo = $_GET["on"];
    $sql_find_plan = "SELECT * FROM operaciones_recibos WHERE grupo_asociado={$idgrupo} AND tipo_docto=14 LIMIT 0,1";
    $rs_find_plan = obten_filas($sql_find_plan);
    $idplan = $rs_find_plan["idoperaciones_recibos"];
}
//
echo "";
//
//$rsrain 	= mysql_query($sqlrain);
$xRec = new cReciboDeOperacion($tipo_docto, $idplan);
$xRec->setNumeroDeRecibo($idplan, true, $rs_find_plan);
$rsr = $xRec->getDatosReciboInArray();
//while ($rsr = mysql_fetch_array($rsrain)) {
$idgrupo = $rsr["grupo_asociado"];
$tipo_docto = $rsr["tipo_docto"];
//
$sql_infogroup = "select * from socios_grupossolidarios ";
$sql_infogroup .= " where idsocios_grupossolidarios={$idgrupo}";
$lafila = the_row($sql_infogroup);
//
$nombregrupo = $lafila["nombre_gruposolidario"];
$presidenta = $lafila["representante_numerosocio"];
$mynom = getNombreSocio($presidenta);
$nomrep = $lafila["representante_nombrecompleto"];
$nomvv = $lafila["vocalvigilancia_nombrecompleto"];
if ($tipo_docto == 14) {
 function getGenerarBaseGravadaMensualIDE($fecha = false)
 {
     if ($fecha == false) {
         $fecha = fechasys();
     }
     $msg = "";
     $msg .= "============== GENERANDO EL MOVIMIENTO DE BASE GRAVABLE DEL IDE\t==========\r\n";
     $msg .= "============== FECHA: {$fecha}                                    ==========\r\n";
     $xF = new cFecha(0, $fecha);
     $dia_inicial = $xF->getDiaInicial();
     $dia_final = $xF->getDiaFinal();
     $sqlGravados = "SELECT\n\t\t\t\t\t\t\t\t`operaciones_mvtos`.`socio_afectado`,\n\t\t\t\t\t\t\t\tSUM(`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\t\t\tINNER JOIN `operaciones_recibos` `operaciones_recibos`\n\t\t\t\t\t\t\t\t\tON `operaciones_mvtos`.`recibo_afectado` = `operaciones_recibos`.\n\t\t\t\t\t\t\t\t\t`idoperaciones_recibos`\n\t\t\t\t\t\t\t\t\t\tINNER JOIN `eacp_config_bases_de_integracion_miembros`\n\t\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`\n\t\t\t\t\t\t\t\t\t\tON `operaciones_mvtos`.`tipo_operacion` =\n\t\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`miembro`\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`fecha_afectacion` >='{$dia_inicial}')\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`fecha_afectacion` <='{$dia_final}')\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`eacp_config_bases_de_integracion_miembros`.`codigo_de_base` = 2600)\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`operaciones_recibos`.`tipo_pago` = 'efectivo' )\n\t\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`codigo_de_base`,\n\t\t\t\t\t\t\t`operaciones_mvtos`.`socio_afectado`,\n\t\t\t\t\t\t\t`operaciones_recibos`.`tipo_pago` ";
     //$msg		.= "$sqlGravados\r\n";
     //Agregar Recibo
     $xRec = new cReciboDeOperacion(10);
     //$xRec->setGenerarPoliza();
     $xRec->setForceUpdateSaldos();
     $idrecibo = $xRec->setNuevoRecibo(1, 1, $fecha, 1, 10, "BASE_REMANENTE_GRAVABLE_AL_IDE", "NA", "ninguno", "NA", DEFAULT_GRUPO);
     $xRec->setNumeroDeRecibo($idrecibo);
     $rs = getRecordset($sqlGravados);
     while ($rw = mysql_fetch_array($rs)) {
         $socio = $rw["socio_afectado"];
         $excencion = EXCENCION_IDE;
         $base_gravada = setNoMenorQueCero($rw["monto"] - $excencion);
         if ($base_gravada > 0) {
             $xRec->setNuevoMvto($dia_final, $base_gravada, 9302, 1, "", 1, false, $socio, 1);
         }
     }
     $xRec->setFinalizarRecibo();
     $msg .= $xRec->getMessages("txt");
     return $msg;
 }
$permiso = getSIPAKALPermissions($theFile);
if ($permiso === false) {
    header("location:../404.php?i=999");
}
$_SESSION["current_file"] = addslashes($theFile);
//<=====	FIN_H
$iduser = $_SESSION["log_id"];
//=====================================================================================================
include_once "../core/entidad.datos.php";
include_once "../core/core.deprecated.inc.php";
include_once "../core/core.fechas.inc.php";
include_once "../libs/sql.inc.php";
include_once "../core/core.config.inc.php";
include_once "../core/core.operaciones.inc.php";
$oficial = elusuario($iduser);
$idrec = $_POST["idrecibo"];
//$frn 		= $_GET["u"];
if (!$idrec) {
    echo JS_CLOSE;
}
$cRec = new cReciboDeOperacion(false, false, $idrec);
$cRec->setNumeroDeRecibo($idrec);
$cRec->setRevertir();
//echo $cRec->getMessages("html");
saveError(10, $_SESSION["SN_b80bb7740288fda1f201890375a60c8f"], "EL Usuario {$oficial} Elimino el Recibo {$idrec} y sus Operaciones");
if ($u == "exn") {
    header("location: frmeditarrecibos.php");
} else {
    header("location: frmeliminarrecibos.php");
}
//*/
 function setTraspaso($CuentaDestino, $TipoDestino, $observaciones = "", $monto = false)
 {
     if ($this->mCuentaIniciada == false) {
         $this->init();
     }
     $cuentaOrigen = $this->mNumeroCuenta;
     $socio = $this->mSocioTitular;
     $saldoOrigen = $this->mSaldoActual;
     $fechaOperacion = fechasys();
     $tipoPago = TESORERIA_COBRO_NINGUNO;
     $cheque = "NA";
     $reciboFiscal = "";
     $tipoDocumento = 9;
     $msg = "";
     if ($TipoDestino == CAPTACION_TIPO_PLAZO) {
         $xCDestino = new cCuentaInversionPlazoFijo($CuentaDestino, $socio);
     } else {
         $xCDestino = new cCuentaALaVista($CuentaDestino, $socio);
     }
     $xCDestino->init();
     if ($monto > $saldoOrigen) {
         $msg .= "ERROR\tEl Monto a Retirar {$monto} es mayor al saldo de Origen {$saldoOrigen} \r\n";
     } else {
         //Crear el Recibo
         $xRec = new cReciboDeOperacion($tipoDocumento);
         $ReciboTrasp = $xRec->setNuevoRecibo($socio, $cuentaOrigen, $fechaOperacion, 1, $tipoDocumento, $observaciones, $cheque, $tipoPago);
         $xRec->setNumeroDeRecibo($ReciboTrasp);
         $xRec->setGenerarPoliza();
         $xRec->setForceUpdateSaldos();
         $xRec->initRecibo();
         $this->setCuentaBancaria(DEFAULT_CUENTA_BANCARIA);
         $this->setReciboDeOperacion($ReciboTrasp);
         $this->setForceOperations(true);
         $xCDestino->setReciboDeOperacion($ReciboTrasp);
         $this->setRetiro($monto, $cheque, $tipoPago, $reciboFiscal, $observaciones, DEFAULT_GRUPO, $fechaOperacion, $ReciboTrasp);
         $xCDestino->setDeposito($monto, $cheque, $tipoPago, $reciboFiscal, $observaciones, DEFAULT_GRUPO, $fechaOperacion, $ReciboTrasp);
         $xRec->setFinalizarRecibo(true);
         $msg .= $xRec->getMessages("txt");
     }
     return $msg;
 }
function Common_c5fe0408555dbf392918c6f77a4d01b2($params)
{
    $stdDiv = STD_LITERAL_DIVISOR;
    $DPar = explode($stdDiv, $params, 10);
    //mensajes
    //grupo
    $xTip = new cTipos();
    //
    $socio = $xTip->cInt($DPar[0]);
    $credito = $xTip->cInt($DPar[1]);
    $letra = $xTip->cInt($DPar[2]);
    $capital = $xTip->cFloat($DPar[3]);
    $interes = $xTip->cFloat($DPar[4]);
    $iva = $xTip->cFloat($DPar[5]);
    $ahorro = $xTip->cFloat($DPar[6]);
    $nota = $xTip->cChar($DPar[7]);
    $numero = $xTip->cInt($DPar[8]);
    $limit = $xTip->cInt($DPar[9]);
    $msg = "====================== MOVIMIENTO {$numero} DE {$limit} ====================\r\n";
    //Datos del Credito
    $Cred = new cCredito($credito, $socio);
    $Cred->initCredito();
    $DCred = $Cred->getDatosDeCredito();
    $saldo = $DCred["saldo_actual"] - $capital;
    $contrato_captacion = $DCred["contrato_corriente_relacionado"];
    $grupo = $DCred["grupo_asociado"];
    $msg .= $Cred->getMessages();
    if (isset($_SESSION["recibo_en_proceso"])) {
        $recibo = $_SESSION["recibo_en_proceso"];
        $fecha = fechasys();
        $_SESSION["total_recibo_en_proceso"] += $capital + $interes + $ahorro;
        $xRec = new cReciboDeOperacion(200, false, $recibo);
        $xRec->setNumeroDeRecibo($recibo, true);
        $xRec->setNumeroDeRecibo($recibo, true);
        $DRec = $xRec->getDatosInArray();
        $cheque = $DRec["cheque_afectador"];
        $tipopago = $DRec["tipo_pago"];
        $recibofiscal = $DRec["recibo_fiscal"];
        $xRec->setGenerarPoliza();
        $msg .= "{$socio}\t{$credito}\tCREDITO\tMovimiento {$i} del Credito {$credito} del Socio {$socio} con Saldo {$saldo}\r\n ";
        $msg .= "{$socio}\t{$credito}\tMONTOS\tCapital: {$capital} || Interes: {$interes} || Ahorro: {$ahorro} \r\n";
        //Agregando Capital
        if ($capital > 0) {
            $xRec->setNuevoMvto($fecha, $capital, 120, $letra, $nota . ";SDO:" . $saldo, 1, TM_ABONO, $socio, $credito);
            $arrCred = array("saldo_actual" => $saldo);
            $Cred->setUpdate($arrCred);
        }
        //Agregando Interes
        if ($interes > 0) {
            $xRec->setNuevoMvto($fecha, $interes, 140, $letra, $nota, 1, TM_ABONO, $socio, $credito);
        }
        //agregando el IVA
        if ($interes > 0) {
            $xRec->setNuevoMvto($fecha, $iva, 151, $letra, $nota, 1, TM_ABONO, $socio, $credito);
        }
        //Agregando Ahorro
        if ($ahorro > 0) {
            $xC = new cCuentaALaVista($contrato_captacion);
            if (!isset($contrato_captacion) or $contrato_captacion == CTA_GLOBAL_CORRIENTE or $contrato_captacion == 0) {
                $contrato_captacion = $xC->setNuevaCuenta(2, 1, $socio, "CUENTA_AUTOMATICA", $credito);
                $msg .= "{$socio}\t{$credito}\tNuevaCta\tse dio de alta a la cuenta {$contrato_captacion}\r\n";
                //2011-nov-30 se agrego la actualizacion del contrato relacionado
                $arrCred = array("contrato_corriente_relacionado" => $contrato_captacion);
                $Cred->setUpdate($arrCred);
            }
            $xC = new cCuentaALaVista($contrato_captacion);
            $xC->setSocioTitular($socio);
            $xC->setReciboDeOperacion($recibo);
            $xC->setDeposito($ahorro, $cheque, $tipopago, $recibofiscal, $nota, $grupo, $fecha, $recibo);
            $msg .= $xC->getMessages("txt");
            $msg .= "{$socio}\t{$credito}\tAhorro\t El Saldo Quedo en " . $xC->getNuevoSaldo() . "\r\n";
        }
        $msg .= "{$socio}\t{$credito}\tObservacion\t {$nota}\r\n";
        $msg .= $xRec->getMessages("txt");
    } else {
        $msg .= "NO_SE_HA_DEFINIDO_UN_RECIBO";
    }
    $xLog = new cFileLog("log_de_recibo_" . $recibo);
    $xLog->setWrite($msg);
    $xLog->setClose();
    $MsgEnd = "";
    if ($numero == $limit) {
        $xRec->setForceUpdateSaldos();
        $xRec->setFinalizarRecibo(true);
        //$MsgEnd		.= "**** proceso terminado ****";
    }
    //retorna el id del control de origen para neutralizar
    return "-{$numero}";
}
 function setGenerarPlanDePagos()
 {
     $msg = "";
     $cRec = new cReciboDeOperacion(10);
     $xRec = $cRec->setNuevoRecibo(DEFAULT_SOCIO, DEFAULT_CREDITO, fechasys(), 1, 10, "RECIBO_DE_AJUSTES_DE_PLAN_DE_PAGOS");
     $msg .= "\t\tRECIBO\tEl Recibo de Operacion es {$xRec}\r\n";
     $cRec->setNumeroDeRecibo($xRec, true);
     //Concilia Creditos sin Planes de Pago a SISBANCS
     $sql = "SELECT * FROM creditos_solicitud WHERE (SELECT\n\t\t\t\t\t\t\t\tCOUNT(credito) FROM sisbancs_suma_amorizaciones\n\t\t\t\t\t\t\t\tWHERE credito = creditos_solicitud.numero_solicitud) = 0\n\t\t\t\t\t\t\t\tAND saldo_actual > 0\n\t\t\t\t\t\t\t\tAND estatus_actual != 50 ";
     $rs = getRecordset($sql);
     while ($rw = mysql_fetch_array($rs)) {
         $socio = $rw["numero_socio"];
         $credito = $rw["numero_solicitud"];
         $saldo_actual = $rw["saldo_actual"];
         $letra = $rw["ultimo_periodo_afectado"] + 1;
         $fecha = sumardias($rw["fecha_ultimo_mvto"], $rw["periocidad_de_pago"]);
         $monto = $saldo_actual;
         $msg .= "{$socio}\t{$credito}\tAGREGAR\tUnica Letra por el SALDO de {$saldo_actual} \r\n";
         $sqlIS = "INSERT INTO sisbancs_amortizaciones(socio, credito, parcialidad, fecha_de_vencimiento,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsaldo_vigente, saldo_vencido, interes_vigente, interes_vencido, saldo_interes_vencido, interes_moratorio,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\testatus, iva_interes_normal, iva_interes_moratorio)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tVALUES ({$socio}, {$credito}, {$letra}, '{$fecha}',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{$saldo_actual}, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t1, 0, 0)";
         $cRec->setNuevoMvto($fecha, $monto, 410, $letra, "", 1, false, $socio, $credito);
         $x = my_query($sqlIS);
         if ($x["stat"] == false) {
             $msg .= "{$socio}\t{$credito}\tERROR\t   \r\n";
         }
     }
     $msg .= $cRec->getMessages("txt");
     return $msg;
 }
 function setEliminarInteresesDeCreditosPagados()
 {
     $msg = "";
     //==============================================================================
     $fecha = fechasys();
     $cheque = DEFAULT_CHEQUE;
     $recibo_fiscal = "NA";
     $observaciones = "GENERADO_EN_LA_UTILERIA_883";
     //==============================================================================
     $CRecibo = new cReciboDeOperacion(1, false);
     //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);
     //
     $sql = "SELECT\n\t\t\t\t*\n\t\t\tFROM\n\t\t\t\t`creditos_solicitud` `creditos_solicitud`\n\t\t\tWHERE\n\t\t\t\t(`creditos_solicitud`.`saldo_actual` <= 0) AND\n\t\t\t\t(\n\t\t\t\t\t(`creditos_solicitud`.`interes_moratorio_devengado` != 0)\n\t\t\tOR\n\t\t\t\t\t(`creditos_solicitud`.`interes_normal_devengado` != 0)\n\t\t\t\t)";
     $rs = mysql_query($sql, cnnGeneral());
     while ($rw = mysql_fetch_array($rs)) {
         $socio = $rw["numero_socio"];
         $solicitud = $rw["numero_solicitud"];
         $OpNormal = 420;
         //420;
         $OpMora = 421;
         //431;
         $MontoM = 0;
         $MontoN = 0;
         //terminado: oct/2011
         $interesDN = $rw["interes_normal_devengado"];
         $interesDM = $rw["interes_moratorio_devengado"];
         $interesPN = $rw["interes_normal_pagado"];
         $interesPM = $rw["interes_moratorio_pagado"];
         if ($interesDN > $interesPN) {
             $OpNormal = 140;
             $MontoN = $interesDN - $interesPN;
         } else {
             $MontoN = $interesPN - $interesDN;
         }
         if ($interesDM > $interesPM) {
             $OpNormal = 141;
             $MontoM = $interesDM - $interesPM;
         } else {
             $MontoM = $interesPM - $interesDM;
         }
         if ($MontoN > 0) {
             $CRecibo->setNuevoMvto($fecha, $MontoN, $OpNormal, 1, " Ajuste por {$MontoN} de {$interesDN} | {$interesPN} ", 1, TM_CARGO, $socio, $solicitud);
             $msg .= "{$socio}\t{$solicitud}\tINTERES_NORMAL_DEV\tAjuste por {$MontoN} de {$interesDN} | {$interesPN} \r\n";
         } else {
         }
         if ($MontoM > 0) {
             $CRecibo->setNuevoMvto($fecha, $MontoN, $OpMora, 1, "Ajuste por {$MontoM} de {$interesDM} | {$interesPM}", 1, TM_CARGO, $socio, $solicitud);
             $msg .= "{$socio}\t{$solicitud}\tINTERES_MOR_DEV\tAjuste por {$MontoM} {$interesDM} | {$interesPM} \r\n";
         } else {
         }
     }
     $msg .= $CRecibo->getMessages("txt");
     $xCUtils = new cUtileriasParaCreditos();
     $msg .= $xCUtils->setAcumularIntereses(true);
     return $msg;
 }
}
//-------------------------------- ELIMINAR EL RECIBO DE PENDIENTES ------------------------
//Si los Pendientes son CERO y el Numero de Recibo es diferente al dePendientes
if ($total_pendientes <= TOLERANCIA_SALDOS and $recibo_pendientes != $xPlan) {
    $cRP = new cReciboDeOperacion(22, true, $recibo_pendientes);
    $cRP->setRevertir();
    $msg .= "========\tEliminando Recibo de Pendientes\t==========\r\n";
    $msg .= $cRP->getMessages(OUT_TXT);
}
$xCred->init();
if ($xCred->getSaldoActual() <= TOLERANCIA_SALDOS) {
    $xCred->setCreditoPagado($fecha_operacion);
}
//------------------------------------------------------------------------------------------
$oRec = new cReciboDeOperacion(RECIBOS_TIPO_PAGO_CREDITO, true);
$oRec->setNumeroDeRecibo($recibo_pago);
//Agrega un abono a la ultima letra
if ($procesado == SYS_AUTOMATICO) {
    //$eqvalor			= round(($monto_a_operar - $totalAutomatico),2);
    $abonar_al_final = setNoMenorQueCero($monto_a_operar - $totalAutomatico, 2);
    if ($abonar_al_final > TOLERANCIA_SALDOS) {
        $msg .= "ERROR\tRECIBO {$recibo_pago} ... {$monto_a_operar} ....( {$totalAutomatico} ).... {$total_recibo} .... [{$abonar_al_final}] \r\n";
        $xCred->setAbonoCapital($abonar_al_final, $xCred->getPagosAutorizados(), DEFAULT_CHEQUE, $tipo_pago, $recibo_fiscal, $observaciones, $grupo, $fecha_operacion, $recibo_pago);
        $total_recibo += $abonar_al_final + $totalAutomatico;
    }
}
$oRec->init();
$oRec->setSumaDeRecibo($total_recibo);
$oRec->setFinalizarRecibo(true);
if (MODO_DEBUG == true) {
    $msg .= $oRec->getMessages(OUT_TXT);