$capital = $_POST["capital"];
    $interes = $_POST["interes"];
    $idministrado = $_POST["idministrado"];
    $idpago = $_POST["idpago"];
    $montooriginal = $_POST["montooriginal"];
    $aportsocial = $montoaport * EACP_TASA_RESERVA;
    $aportvol = $montoaport - $aportsocial;
    $cheque = $_POST["cheque"];
    $comopago = $_POST["ctipo_pago"];
    $foliofiscal = $_POST["foliofiscal"];
    $fecha = fechasys();
    $cRec = new cReciboDeOperacion(5, false);
    //$cRec->setGenerarBancos();
    $cRec->setGenerarPoliza();
    $cRec->setGenerarTesoreria();
    $idrecibo = $cRec->setNuevoRecibo($idsocio, DEFAULT_CREDITO, $fecha, 1, 5, $observaciones, $cheque, $comopago, $foliofiscal, $idgrupo);
    $cRec->setNuevoMvto($fecha, $aportvol, 702, 1, $observaciones, 1, TM_ABONO, $idsocio);
    $cRec->setNuevoMvto($fecha, $aportsocial, 710, 1, $observaciones, 1, TM_ABONO, $idsocio);
    $cRec->addMvtoContableByTipoDePago($totalcuotas, TM_CARGO);
    $cRec->setFinalizarRecibo(true);
    //PolizaPorRecibo($idrecibo);
    $cFicha = new cFicha(iDE_SOCIO, $idsocio);
    $cFicha->setTableWidth();
    $cFicha->show();
    echo $cRec->getFicha(true);
    echo $msg_rec_end;
    echo $cRec->getJsPrint(true);
}
?>
</body>
$icls = count($p);
if ($periocidad != CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO) {
    //eliminar letra o neutralizarla en partes.
    setEliminarMvto(OPERACION_CLAVE_PLAN_IVA, $socio, $solicitud, $parcialidad, $recibo_pago);
    //parche 29dic2014
    setEliminarMvto(OPERACION_CLAVE_PLAN_CAPITAL, $socio, $solicitud, $parcialidad, $recibo_pago);
    setEliminarMvto(OPERACION_CLAVE_PLAN_INTERES, $socio, $solicitud, $parcialidad, $recibo_pago);
    setEliminarMvto(OPERACION_CLAVE_PLAN_AHORRO, $socio, $solicitud, $parcialidad, $recibo_pago);
    if ($icls >= 1) {
        $mobserva = "MONTO_PENDIENTE_RECIBO_{$recibo_pago}";
        $nueva_parcialidad = $parcialidad;
        $dxplan = $xCred->getDatosDelPlanDePagos();
        $xPlan = setNoMenorQueCero($xCred->getNumeroDePlanDePagos());
        $xRec = new cReciboDeOperacion(22, true);
        if ($xPlan <= 0) {
            $recibo_pendientes = $xRec->setNuevoRecibo($socio, $solicitud, $fecha_operacion, $parcialidad, false, $mobserva, "", "ninguno", "NA", $grupo);
            $xRec->setNumeroDeRecibo($recibo_pendientes);
            $xRec->init();
        } else {
            $recibo_pendientes = $xPlan;
            $xRec->setNumeroDeRecibo($recibo_pendientes);
            $xRec->init($dxplan);
        }
        //recorre los pendientes
        //--29Dic2014
        foreach ($p as $clave_operacion => $monto_pendiente) {
            if ($monto_pendiente > TOLERANCIA_SALDOS) {
                if ($clave_operacion == OPERACION_CLAVE_PLAN_INTERES and $monto_pendiente > 0 and $tasa_iva > 0) {
                    //agregar Interes
                    $iva_pendiente = $monto_pendiente * $tasa_iva;
                    $xRec->setNuevoMvto($fecha_operacion, $iva_pendiente, OPERACION_CLAVE_PLAN_IVA, $parcialidad, $mobserva);
    $idsocio = DEFAULT_SOCIO;
    // Determina el Tipo de Operacion segun tRec
    if ($tipo_de_recibo == 31) {
        // Gastos a Comprobar
        $tipo_de_operacion = 1010;
    } elseif ($tipo_de_recibo == 32) {
        // Prestamo Personal
        $tipo_de_operacion = 1011;
    } else {
        $tipo_de_operacion = 99;
    }
    $cRec = new cReciboDeOperacion($tipo_de_recibo, false);
    //$cRec->setGenerarBancos();
    $cRec->setGenerarPoliza();
    $cRec->setGenerarTesoreria();
    $idrecibo = $cRec->setNuevoRecibo($idsocio, DEFAULT_CREDITO, $fecha, 1, $tipo_de_recibo, $observaciones, $cheque, $comopago, $foliofiscal);
    $cRec->setNuevoMvto($fecha, $monto, $tipo_de_operacion, 1, $observaciones, 1, TM_ABONO, $idsocio);
    $cRec->addMvtoContableByTipoDePago($monto, TM_CARGO);
    $cRec->setFinalizarRecibo(true);
    $cfSocio = new cFicha(iDE_SOCIO, $idsocio);
    $cfSocio->setTableWidth();
    $cfSocio->show();
    echo $cRec->getFicha();
    echo $msg_rec_end;
}
?>
</fieldset>
</body>
<script  >
	function printrec() {
		var elUrl= "frmrecibodeegresos.php?recibo=<?php 
    $cheque = isset($_POST["cheque"]) ? $xT->cChar($_POST["cheque"]) : DEFAULT_CHEQUE;
    $comopago = isset($_POST["ctipo_pago"]) ? $xT->cChar($_POST["ctipo_pago"]) : DEFAULT_TIPO_PAGO;
    $foliofiscal = isset($_POST["foliofiscal"]) ? $xT->cChar($_POST["foliofiscal"]) : DEFAULT_RECIBO_FISCAL;
    if (setNoMenorQueCero($idsocio) <= 0) {
        //header("location: frmcobrodemultas.php?msg=FALTAN_DATOS");
        $xFRM->addAvisoRegistroError();
    } else {
        if (setNoMenorQueCero($monto) <= 0) {
            $xFRM->addAvisoRegistroError();
        } else {
            $iddocto = DEFAULT_CREDITO;
            $xRec = new cReciboDeOperacion(RECIBOS_TIPO_TERCEROS, false, false);
            $xRec->setGenerarBancos();
            $xRec->setGenerarPoliza();
            $xRec->setGenerarTesoreria();
            $idrecibo = $xRec->setNuevoRecibo($idsocio, $iddocto, $fecha, 1, RECIBOS_TIPO_TERCEROS, $observaciones, $cheque, $comopago, $foliofiscal);
            $xRec->setNuevoMvto($fecha, $monto, OPERACION_CLAVE_MULTAS, 1, $observaciones, 1, TM_ABONO, $idsocio);
            $xRec->addMvtoContableByTipoDePago($monto, TM_CARGO);
            $xRec->setFinalizarRecibo(true);
            $xFRM->addHTML($xRec->getFichaSocio());
            $xFRM->addHTML($xRec->getFicha());
            $xFRM->addPrintRecibo();
            $xFRM->addHTML($xRec->getJsPrint(true));
            $xFRM->addAvisoRegistroOK();
            if (MODO_DEBUG == true) {
                $xFRM->addAviso($xRec->getMessages());
            }
        }
    }
}
echo $xFRM->get();
</fieldset>
</form>
<?php 
} else {
    $fecha = $_POST["elanno0"] . "-" . $_POST["elmes0"] . "-" . $_POST["eldia0"];
    $banco = isset($_POST["cBanco"]) ? $_POST["cBanco"] : false;
    $numOperacion = isset($_POST["cOperacion"]) ? $_POST["cOperacion"] : false;
    $monto = isset($_POST["cMonto"]) ? $_POST["cMonto"] : false;
    $observaciones = isset($_POST["observaciones"]) ? $_POST["observaciones"] : "";
    if ($monto != false and $banco != false) {
        $xRec = new cReciboDeOperacion(201, true);
        $xRec->setGenerarBancos(false);
        $xRec->setGenerarPoliza();
        $xRec->setForceUpdateSaldos();
        $xRec->setCuentaBancaria($banco);
        $idrecibo = $xRec->setNuevoRecibo(DEFAULT_SOCIO, 1, $fecha, 1, 201, $observaciones, "NA", "efectivo", "NA", DEFAULT_GRUPO, $banco);
        $xRec->setNumeroDeRecibo($idrecibo);
        $xRec->setNuevoMvto($fecha, $monto, 9301, 1, $observaciones, 1, TM_ABONO, DEFAULT_SOCIO);
        $xRec->addMvtoContableByTipoDePago($monto, TM_CARGO);
        $xRec->setFinalizarRecibo(true);
        //Agregar la Operacion Bancaria
        $xB = new cCuentaBancaria($banco);
        $xB->setNewRetiro($numOperacion, $idrecibo, "PAGO DEL IDE", $monto, $fecha);
        //
        echo $xRec->getFicha();
        //
        echo "<input type='button' onclick='jsPrintIDE()' value='Imprimir Recibo' />";
    }
}
?>
</body>
$key = isset($_GET["k"]) ? true : false;
$parser = isset($_GET["s"]) ? true : false;
//Obtiene la llave del
//if ($key == MY_KEY) {
$messages = "";
$fechaop = parametro("f", fechasys());
$xF = new cFecha(0, $fechaop);
//INICIAR
if (MODULO_CAPTACION_ACTIVADO == true) {
    $aliasFil = getSucursal() . "-eventos-al-cierre-de-captacion-del-dia-{$fechaop}";
    $xLog = new cFileLog($aliasFil, true);
    $idrecibo = DEFAULT_RECIBO;
    $xRec = new cReciboDeOperacion(12, false);
    //$xRec->setGenerarPoliza();
    $xRec->setForceUpdateSaldos();
    $idrecibo = $xRec->setNuevoRecibo(DEFAULT_SOCIO, DEFAULT_CUENTA_CORRIENTE, $fechaop, 1, 12, "CIERRE_DE_CAPTACION_{$fechaop}", "", TESORERIA_COBRO_NINGUNO, "", 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 CAPTACION   ====================\r\n";
    $messages .= "=========================\t\tRECIBO: {$idrecibo}\t\t\t\t   ====================\r\n";
    $messages .= "=======================================================================================\r\n";
    $xUCapt = new cUtileriasParaCaptacion();
    $messages .= "=========================\t\tPurgando Dias Minimo de Inversion \t====================\r\n";
    $messages .= $xUCapt->vencer_intereses_de_inversion($idrecibo, $fechaop);
    $messages .= $xUCapt->inversiones_automaticas($idrecibo, $fechaop);
    if ($xF->getDiaFinal() == $xF->get()) {
        $messages .= $xUCapt->setGenerarInteresSobreSDPM($idrecibo, $fechaop);
        if (CAPTACION_IMPUESTOS_A_DEPOSITOS_ACTIVO == true) {
 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;
 }
        //if($xCred->getORecibo() != null){ $xCred->getORecibo()->setFinalizarRecibo(true); }
        $xCred->setAbonoCapital(9200, 1, DEFAULT_CHEQUE, TESORERIA_COBRO_EFECTIVO, DEFAULT_RECIBO_FISCAL, "", DEFAULT_GRUPO, "2014-02-06");
        $xCred->setAbonoCapital(9200, 1, DEFAULT_CHEQUE, TESORERIA_COBRO_EFECTIVO, DEFAULT_RECIBO_FISCAL, "", DEFAULT_GRUPO, "2014-02-10");
        //if($xCred->getORecibo() != null){ $xCred->getORecibo()->setFinalizarRecibo(true); }
        $xCred->setAbonoCapital(2200, 1, DEFAULT_CHEQUE, TESORERIA_COBRO_EFECTIVO, DEFAULT_RECIBO_FISCAL, "", DEFAULT_GRUPO, "2014-02-15");
        $xCred->setAbonoCapital(2200, 1, DEFAULT_CHEQUE, TESORERIA_COBRO_EFECTIVO, DEFAULT_RECIBO_FISCAL, "", DEFAULT_GRUPO, "2014-02-20");
        //if($xCred->getORecibo() != null){ $xCred->getORecibo()->setFinalizarRecibo(true); }
        $xCred->setAbonoCapital(4200, 1, DEFAULT_CHEQUE, TESORERIA_COBRO_EFECTIVO, DEFAULT_RECIBO_FISCAL, "", DEFAULT_GRUPO, "2014-02-25");
        $idrec = $xCred->setAbonoCapital(4200, 1, DEFAULT_CHEQUE, TESORERIA_COBRO_EFECTIVO, DEFAULT_RECIBO_FISCAL, "", DEFAULT_GRUPO, "2014-02-28");
        //if($xCred->getORecibo() != null){ $xCred->getORecibo()->setFinalizarRecibo(true); }
        $xRec->init();
        $xRec->setFinalizarRecibo(true);
        $xRec->setMoneda("USD");
        $xRec->setUnidadesOriginales(100);
        $x2Rec = new cReciboDeOperacion(RECIBOS_TIPO_PAGO_APORTACIONES, true);
        $x2Rec->setNuevoRecibo($xCred->getClaveDePersona(), DEFAULT_CREDITO, "2013-01-01", 1);
        $x2Rec->setNuevoMvto("2013-01-01", 15000, OPERACION_CLAVE_APORT_CORRIENTE, 1, "Prueba de AML");
        $x2Rec->setNuevoMvto("2013-01-02", 1500, OPERACION_CLAVE_APORT_FONDO, 1, "Prueba de AML 2");
        $x2Rec->setNuevoMvto("2013-01-03", 45000, OPERACION_CLAVE_APORT_VOLUNTARIA, 1, "Prueba de AML 3");
        $x2Rec->setFinalizarRecibo(true);
        $xHFrm->addHElem("<p class='aviso'>" . $x2Rec->getMessages(OUT_HTML) . "</p>");
        $xAML->setGuardarPerfilTransaccional(101, "MX", 10000, 10, "");
        $xAML->setGuardarPerfilTransaccional(201, "MX", 20000, 2, "");
        $xAML->setGuardarPerfilTransaccional(301, "MX", 30000, 3, "");
        $xAML->setGuardarPerfilTransaccional(401, "MX", 40000, 4, "");
    }
    $xHFrm->addHElem("<p class='aviso'>" . $xCred->getMessages(OUT_HTML) . "</p>");
}
//$xHFrm->addHElem( $txt );
//$xHFrm->addHElem( $xF->show(true) );
//$xHFrm->addHElem( "<p class='aviso'>La $miFecha, Dias del Mes==". $xF->getDiasDelMes() ."</p>");
 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;
 }
	</table>
<input type='button' name='btsend' value='GUARDAR DATOS'onClick='frmSubmit();'>
</form>
</fieldset>
<?php 
$socio = $_POST["idsocio"];
$documento = $_POST["idsolicitud"];
$tipo = $_POST["tipodescuento"];
$monto = $_POST["monto"];
$parcialidad = $_POST["idparcialidad"];
$observaciones = $_POST["observaciones"];
$fecha_operacion = fechasys();
if (isset($socio) and $monto > 0) {
    $xBtn = new cHButton("id-cmdImprimir");
    $xRec = new cReciboDeOperacion(96, false);
    $recibo = $xRec->setNuevoRecibo($socio, $documento, $fecha_operacion, $parcialidad, 96, $observaciones);
    $xRec->setNuevoMvto($fecha_operacion, $monto, $tipo, $parcialidad, $observaciones, -1, TM_ABONO);
    $xRec->setFinalizarRecibo();
    echo $xRec->getFichaSocio();
    echo $xRec->getFicha(true, "<tr><th colspan='4'>" . $xBtn->getImprimirRecibo() . "</th></tr>");
}
// end if
?>
</body>
<script  >
<?php 
if (isset($socio) and $monto > 0) {
    echo $xRec->getJsPrint();
}
?>
</script>
 //$cRec->setGenerarBancos();
 $cRec->setGenerarPoliza();
 $cRec->setGenerarTesoreria();
 $sucess = true;
 $msg = "";
 if (CAPITAL_SOCIAL_EN_CAPTACION == true) {
     $xSoc = new cSocio($persona);
     $cuenta = $xSoc->getCuentaDeCaptacionPrimaria(CAPTACION_TIPO_VISTA, CAPTACION_PRODUCTO_CAPITALSOCIAL);
     $xCta = new cCuentaALaVista($cuenta);
     if ($cuenta == 0) {
         //Aperturar nueva cuenta
         $cuenta = $xCta->setNuevaCuenta(DEFAULT_CAPTACION_ORIGEN, CAPTACION_PRODUCTO_CAPITALSOCIAL, $persona);
         $xCta->set($cuenta);
     }
     if ($xCta->init() == true) {
         $idrecibo = $cRec->setNuevoRecibo($persona, $xCta->getNumeroDeCuenta(), $fecha, 1, RECIBOS_TIPO_DEPOSITO_VISTA, $observaciones, $cheque, $comopago, $foliofiscal);
         $cRec->init();
         if ($tipo1 != false and $monto1 > 0) {
             $xCta->setDeposito($monto1, $cheque, $comopago, $foliofiscal, "Origen {$tipo1}:" . $observaciones, DEFAULT_GRUPO, $fecha, $cRec->getCodigoDeRecibo());
         }
         if ($tipo2 != false and $monto2 > 0) {
             $xCta->setDeposito($monto2, $cheque, $comopago, $foliofiscal, "Origen {$tipo2}:" . $observaciones, DEFAULT_GRUPO, $fecha, $cRec->getCodigoDeRecibo());
         }
         if ($tipo3 != false and $monto3 > 0) {
             $xCta->setDeposito($monto2, $cheque, $comopago, $foliofiscal, "Origen {$tipo2}:" . $observaciones, DEFAULT_GRUPO, $fecha, $cRec->getCodigoDeRecibo());
         }
     } else {
         $msg .= "ERROR\tError en la carga de la cuentar {$cuenta}\r\n";
         $sucess = false;
     }
     if (MODO_DEBUG == true) {
function setNuevoRecibo($socio, $solicitud, $fecha_operacion, $parcialidad, $tipo_docto, $cadena, $cheque_afectador, $tipo_pago, $recibo_fiscal, $grupo_asoc, $total = 0)
{
    $xRec = new cReciboDeOperacion($tipo_docto);
    $NumeroRecibo = $xRec->setNuevoRecibo($socio, $solicitud, $fecha_operacion, $parcialidad, $tipo_docto, $cadena, $cheque_afectador, $tipo_pago, $recibo_fiscal, $grupo_asoc);
    return $NumeroRecibo;
}
 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;
 }
 function setPurgueDB()
 {
     $sqlT = array();
     $msg = "";
     $xF = new cFecha();
     $sqlT[] = "DELETE FROM bancos_cuentas WHERE idbancos_cuentas != " . FALLBACK_CUENTA_BANCARIA;
     $sqlT[] = "DELETE FROM bancos_operaciones ";
     $sqlT[] = "DELETE FROM captacion_cuentas WHERE numero_cuenta!=" . CTA_GLOBAL_CORRIENTE;
     $sqlT[] = "DELETE FROM captacion_sdpm_historico ";
     $sqlT[] = "DELETE FROM captacion_firmas";
     $sqlT[] = "DELETE FROM captacion_sdpm_historico";
     $sqlT[] = "DELETE FROM contable_catalogo ";
     $sqlT[] = "DELETE FROM contable_catalogorelacion ";
     $sqlT[] = "DELETE FROM contable_movimientos ";
     $sqlT[] = "DELETE FROM contable_polizas ";
     $sqlT[] = "DELETE FROM contable_saldos";
     $sqlT[] = "DELETE FROM contable_polizas_proforma ";
     $sqlT[] = "DELETE FROM creditos_reconvenio";
     $sqlT[] = "DELETE FROM creditos_solicitud WHERE numero_solicitud !=" . DEFAULT_CREDITO;
     $sqlT[] = "DELETE FROM creditos_garantias";
     $sqlT[] = "DELETE FROM creditos_flujoefvo";
     $sqlT[] = "DELETE FROM creditos_lineas";
     $sqlT[] = "DELETE FROM creditos_productos_otros_parametros ";
     $sqlT[] = "DELETE FROM creditos_sdpm_historico";
     $sqlT[] = "DELETE FROM creditos_periodos ";
     //WHERE idcreditos_periodos !=
     $sqlT[] = "DELETE FROM  creditos_rechazados ";
     $sqlT[] = "DELETE FROM general_sucursales WHERE codigo_sucursal != \"matriz\" AND codigo_sucursal !='" . getSucursal() . "'  ";
     $sqlT[] = "DELETE FROM general_log ";
     $sqlT[] = "DELETE FROM general_tmp ";
     $sqlT[] = "DELETE FROM general_import ";
     $sqlT[] = "DELETE FROM operaciones_recibos";
     $sqlT[] = "DELETE FROM operaciones_mvtos";
     $sqlT[] = "DELETE FROM seguimiento_compromisos";
     $sqlT[] = "DELETE FROM seguimiento_llamadas ";
     $sqlT[] = "DELETE FROM seguimiento_notificaciones";
     $sqlT[] = "DELETE FROM socios_aeconomica";
     $sqlT[] = "DELETE FROM socios_aportaciones";
     $sqlT[] = "DELETE FROM socios_baja";
     $sqlT[] = "DELETE FROM socios_cajalocal WHERE idsocios_cajalocal != " . getCajaLocal() . " AND sucursal != '" . getSucursal() . "' ";
     $sqlT[] = "DELETE FROM `socios_aeconomica_dependencias`\n\t\t\tWHERE `idsocios_aeconomica_dependencias` !=" . DEFAULT_EMPRESA . "\n\t\t\tAND `idsocios_aeconomica_dependencias` !=" . FALLBACK_CLAVE_EMPRESA;
     $sqlT[] = "DELETE FROM socios_general WHERE codigo!=" . DEFAULT_SOCIO . " AND codigo !=" . EACP_ID_DE_PERSONA;
     $sqlT[] = "DELETE FROM socios_memo";
     $sqlT[] = "DELETE FROM socios_patrimonio";
     $sqlT[] = "DELETE FROM socios_relaciones";
     $sqlT[] = "DELETE FROM socios_vivienda";
     $sqlT[] = "DELETE FROM socios_grupossolidarios WHERE idsocios_grupossolidarios!=" . DEFAULT_GRUPO;
     $sqlT[] = "DELETE FROM  `personas_documentacion` ";
     $sqlT[] = "DELETE FROM  `socios_otros_parametros` ";
     $sqlT[] = "DELETE FROM t_03f996214fba4a1d05a68b18fece8e71 WHERE idusuarios !=99";
     $sqlT[] = "DELETE FROM tesoreria_cajas";
     $sqlT[] = "DELETE FROM `tesoreria_cajas_movimientos` ";
     $sqlT[] = "DELETE FROM usuarios_web ";
     $sqlT[] = "DELETE FROM usuarios_web_connected";
     $sqlT[] = "DELETE FROM `usuarios_web_notas` ";
     $sqlT[] = "DELETE FROM general_tmp";
     $sqlT[] = "DELETE FROM general_folios ";
     $sqlT[] = "DELETE FROM contable_polizas_proforma ";
     $sqlT[] = "DELETE FROM contable_centrodecostos WHERE idcontable_centrodecostos !=0 ";
     $sqlT[] = "DELETE FROM general_log ";
     $sqlT[] = "UPDATE t_03f996214fba4a1d05a68b18fece8e71 SET f_34023acbff254d34664f94c3e08d836e = md5('root') WHERE f_28fb96d57b21090705cfdf8bc3445d2a = 'root'";
     //*/
     //TODO: Actualizar nombre de la tabla
     $sqlT[] = "DELETE FROM `empresas_operaciones` ";
     $sqlT[] = "DELETE FROM `empresas_cobranza`";
     $sqlT[] = "DELETE FROM `sistema_programacion_de_avisos` ";
     $sqlT[] = "DELETE FROM `personas_perfil_transaccional` ";
     $sqlT[] = "DELETE FROM `creditos_rechazados` ";
     //AML
     $sqlT[] = "DELETE FROM  `aml_risk_register`";
     $sqlT[] = "DELETE FROM  `aml_alerts`";
     $sqlT[] = "DELETE FROM  `personas_documentacion` ";
     $sqlT[] = "DELETE FROM  `socios_otros_parametros` ";
     $sqlT[] = "UPDATE `general_contratos` SET `texto_del_contrato` = '' WHERE `idgeneral_contratos` = '5' ";
     $sqlT[] = "UPDATE `general_contratos` SET `texto_del_contrato` = '' WHERE `idgeneral_contratos` = '9' ";
     $sqlT[] = "UPDATE `general_contratos` SET `texto_del_contrato` = '' WHERE `idgeneral_contratos` = '8' ";
     //$sqlT[]	= "DELETE FROM  ";
     $sqlT[] = "DELETE FROM  creditos_otros_datos ";
     $sqlT[] = "DELETE FROM  `aml_perfil_egresos_por_persona` ";
     $sqlT[] = "DELETE FROM  `historial_de_pagos` ";
     $sqlT[] = "DELETE FROM  `operaciones_archivo_de_facturas` ";
     $sqlT[] = "DELETE FROM  `personas_operaciones_recursivas` ";
     $sqlT[] = "DELETE FROM  `personas_relaciones_recursivas` ";
     $sqlT[] = "DELETE FROM  `tesoreria_caja_arqueos` ";
     //$sqlT[]	= "DELETE FROM  ";
     //$sqlT[]	= "DELETE FROM  ";
     //$sqlT[]	= "DELETE FROM  ";
     $sqlT[] = "UPDATE `socios_general` SET `nombrecompleto` = 'REGISTRO_INICIAL_FINANCIERA' WHERE `codigo` = '10000'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE  `nombre_del_parametro` = 'curp_del_representante_legal'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE  `nombre_del_parametro` = 'nombre_del_presidente_del_consejo_de_vigilancia'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'nombre_del_representante_legal'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'rfc_del_representante_legal'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'domicilio.domicilio_integrado'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'email_de_la_entidad'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'nombre_de_la_entidad'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'registro_ante_la_cnbv'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'registro_casfin'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'registro_patronal_imss'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'rfc_de_la_entidad'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'email_de_nominas'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'entidad_corto_en_el_sic'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'contrasenna_de_sms_automaticos'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'usuario_de_sms_automaticos'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'email_del_administrador'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'password_de_usuario_ftp' ";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'nombre_de_usuario_ftp' ";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'system_pay_email_register'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'password_del_email_del_administrador'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'contrasenna_de_trabajos_automaticos'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '' WHERE `nombre_del_parametro` = 'usuario_de_sms_automaticos'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '00000000' WHERE `nombre_del_parametro` = 'entidad_clave_en_el_sic'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '00000000' WHERE `nombre_del_parametro` = 'domicilio.telefono_principal'";
     $sqlT[] = " UPDATE `entidad_configuracion` SET `valor_del_parametro` = 'https://demo.sipakal.com/' WHERE `nombre_del_parametro` = 'url_de_entidad_transmisora'";
     //$sqlT[]	= " UPDATE `entidad_configuracion` SET `valor_del_parametro` = '00000000' WHERE `nombre_del_parametro` = 'entidad_clave_en_el_sic'";
     $sqlT[] = "INSERT INTO `bancos_entidades` (`idbancos_entidades`, `nombre_de_la_entidad`, `rfc_de_la_entidad`) VALUES ('999', 'BANCO_POR_DEFECTO', 'BAN999999')  ";
     $sqlT[] = "INSERT INTO `bancos_cuentas` (`idbancos_cuentas`, `descripcion_cuenta`, `fecha_de_apertura`, `estatus_actual`, `consecutivo_actual`, `saldo_actual`, `sucursal`, `entidad_bancaria`) VALUES ('99', 'FALLBACK_CUENTA', '2014-01-01', 'activo', '1', '100000000', 'matriz', '1') ";
     $sqlT[] = "INSERT INTO `t_03f996214fba4a1d05a68b18fece8e71` (`idusuarios`, `f_28fb96d57b21090705cfdf8bc3445d2a`, `apellidopaterno`, `apellidomaterno`, `puesto`, `periodo_responsable`, `codigo_de_persona`) VALUES ('1', 'USUARIO POR DEFECTO', '', '', 'Usuario por Defecto', '1', '99999')";
     $sqlT[] = "UPDATE `general_contratos` SET `texto_del_contrato` = '' WHERE `idgeneral_contratos` = '801'";
     $sqlT[] = "UPDATE `general_contratos` SET `texto_del_contrato` = '' WHERE `idgeneral_contratos` = '4'";
     $sqlT[] = "INSERT INTO `contable_centrodecostos` (`idcontable_centrodecostos`, `nombre_centrodecostos`) VALUES ('1', 'POR DEFECTO')";
     foreach ($sqlT as $id => $sql) {
         $x = my_query($sql);
         if ($x[SYS_ESTADO] != false) {
             if (isset($x[SYS_INFO])) {
                 $msg .= "OK\t" . $xF->getMarca() . "\t" . $x[SYS_INFO] . " SQL : {$sql}\r\n";
             } else {
                 $msg .= "OK\t" . $xF->getMarca() . "\tSQL : {$sql} \r\n";
             }
         } else {
             if (isset($x[SYS_ERROR])) {
                 $msg .= "ERROR\t" . $xF->getMarca() . "\t" . $x[SYS_ERROR] . " SQL : {$sql} \r\n";
             } else {
                 $msg .= "ERROR\t" . $xF->getMarca() . "- \tSQL : {$sql} \r\n";
             }
         }
     }
     //llevar los folios al maximo
     $msg .= setFoliosAlMaximo();
     //
     $xRec = new cReciboDeOperacion(12);
     $idrecibo = $xRec->setNuevoRecibo(1, 1, fechasys(), 1, 12, "CIERRE_ESTABLECIDO_POR_DEFECTO", "NA", "ninguno", "NA", DEFAULT_GRUPO);
     $xRec->setFinalizarRecibo(false);
     //Crear periodo de credito
     //TODO: Agregar informacion de valores por DEFAULT
     $xP = new cPeriodoDeCredito();
     $xP->add();
     $msg .= $xP->setCambiar(EACP_PER_SOLICITUDES);
     $xConf = new cConfiguration();
     $xConf->set("fecha_de_inicio_de_operaciones_en_el_sistema", fechasys());
     $msg .= "OK\tCONFIGURATION\tSe cambio la fecha de Inicio de Operaciones en el sistema\r\n";
     $xSoc = new cSocio(10000);
     //);
     $xSoc->setOmitirAML();
     $xSoc->add(EACP_NAME, "", "", EACP_RFC, "", getCajaLocal(), EACP_FECHA_DE_CONSTITUCION, EACP_LOCALIDAD);
     $xSoc->addVivienda(EACP_DOMICILIO_CORTO, "", EACP_CODIGO_POSTAL, "", "", EACP_TELEFONO_PRINCIPAL, "", true, 1, 1, 99, EACP_COLONIA, "calle", "", EACP_CLAVE_DE_LOCALIDAD, EACP_CLAVE_DE_PAIS);
     my_query("INSERT INTO `socios_general` (`codigo`, `nombrecompleto`, `estatusactual`, `cajalocal`, `sucursal`) VALUES ('10000', 'MICROFINANCIERA', '10', '1', 'matriz')");
     return $msg;
 }
$monto = $_POST["montointeres"];
if ($action == "p" and isset($idsolicitud) and isset($monto) and $monto > 0) {
    $observaciones = $_POST["observaciones"];
    $iva = $_POST["montoiva"];
    $comopago = $_POST["ctipo_pago"];
    $cheque = $_POST["cheque"];
    $foliofiscal = $_POST["foliofiscal"];
    $idsocio = $_POST["idsocio"];
    $fecha = fechasys();
    $iddocto = $idsolicitud;
    //===================================================================================================
    $cRec = new cReciboDeOperacion(15, true, false);
    $cRec->setGenerarBancos();
    $cRec->setGenerarPoliza();
    $cRec->setGenerarTesoreria();
    $idrecibo = $cRec->setNuevoRecibo($idsocio, $iddocto, $fecha, 1, 15, $observaciones, $cheque, $comopago, $foliofiscal);
    $cRec->setNuevoMvto($fecha, $monto, 351, 1, $observaciones, 1, TM_ABONO, $idsocio);
    //IVA
    $cRec->setNuevoMvto($fecha, $iva, 151, 1, $observaciones, 1, TM_ABONO, $idsocio);
    $cRec->addMvtoContableByTipoDePago($montooperacion, TM_CARGO);
    $cRec->setFinalizarRecibo(true);
    $cfSocio = new cFicha(iDE_SOCIO, $idsocio);
    $cfSocio->setTableWidth();
    $cfSocio->show();
    echo $cRec->getFicha();
    echo $msg_rec_end;
    // actualiza el interes Anticipado del Credito
    $sqlica = "UPDATE creditos_solicitud\n\t\tSET sdo_int_ant=(sdo_int_ant + ({$monto}))\n\t\tWHERE numero_solicitud={$idsolicitud}";
    my_query($sqlica);
    //
}
$ql = new MQL();
/*
 * ====================================================================================================================================================
 * Agregar codigo de actualizar menores a personas fisicas
 * ====================================================================================================================================================
 */
$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 SISTEMA     ====================\r\n";
$messages .= "=========================\t\tRECIBO: {$idrecibo}\t\t\t\t   ====================\r\n";
//2011-01-26 : Agrega un recibo estadistico de control diario
$xNRec = new cReciboDeOperacion(10);
$diaSig = $xF->setSumarDias(1);
$xIdNRec = $xNRec->setNuevoRecibo(DEFAULT_SOCIO, DEFAULT_CREDITO, $diaSig, 1, 10, "MOVIMIENTOS_ESTADISTICOS_DEL_DIA", "NA", "ninguno", "NA", DEFAULT_GRUPO);
//actualiza la configuracion del sistema
$xCx = new cConfiguration();
$xUtil = new cUtileriasParaOperaciones();
$xCx->set("numero_de_recibo_por_defecto", $xIdNRec);
$messages .= date("Y-m-d") . "\tSe Agrego el Recibo {$xIdNRec}  para ESTADISTICOS del proximo dia( {$diaSig} )\n";
//=================================
$messages .= $xUtil->setEliminarRecibosDuplicados();
$x20 = setFoliosAlMaximo();
$messages .= date("Y-m-d") . "\tSe llevaron Folios al Maximo, los recibos quedaron en " . $x20["recibos"] . "  \n";
$messages .= date("Y-m-d") . "\tSe llevaron la Cuenta de Polizas Contables al Maximo \n";
setSociosAlMaximo();
clearCacheSessions();
$messages .= date("Y-m-d") . "\tSe limpio la Cache de sessiones\n";
$messages .= date("Y-m-d") . "\tSe llevaron los socios al Maximo \n";
if ($xF->getDiaFinal() == $xF->get()) {
 $detalles = parametro("idobservaciones", "");
 //$monto 			= parametro("idmonto", 0, MQL_FLOAT);
 $cheque = parametro("cheque", DEFAULT_CHEQUE);
 $comopago = parametro("ctipo_pago", DEFAULT_TIPO_PAGO, MQL_RAW);
 $foliofiscal = parametro("foliofiscal", DEFAULT_RECIBO_FISCAL);
 $fecha = parametro("idfechacomision", fechasys());
 $fecha = $xF->getFechaISO($fecha);
 $com1 = parametro("idcom1", 0, MQL_FLOAT);
 $ob1 = parametro("idob1", "");
 $com2 = parametro("idcom2", 0, MQL_FLOAT);
 $ob2 = parametro("idob2", "");
 $com3 = parametro("idcom3", 0, MQL_FLOAT);
 $ob3 = parametro("idob3", "");
 $iva = parametro("idiva", 0, MQL_FLOAT);
 $monto = $com1 + $com2 + $com3 + $iva;
 $idrecibo = $xRec->setNuevoRecibo($persona, $credito, $fecha, 1, RECIBOS_TIPO_OINGRESOS, $detalles, $cheque, $comopago, $foliofiscal);
 if (setNoMenorQueCero($idrecibo) > 0) {
     if ($com1 > 0) {
         $xRec->setNuevoMvto($fecha, $com1, OPERACION_CLAVE_COMISION_APERTURA, 1, $ob1, 1, TM_ABONO, $persona);
     }
     if ($com2 > 0) {
         $xRec->setNuevoMvto($fecha, $com2, OPERACION_CLAVE_PAGO_CBZA, 1, $ob2, 1, TM_ABONO, $persona);
     }
     if ($com3 > 0) {
         $xRec->setNuevoMvto($fecha, $com3, OPERACION_CLAVE_PAGO_COM_VARIAS, 1, $ob3, 1, TM_ABONO, $persona);
     }
     if ($iva > 0) {
         $xRec->setNuevoMvto($fecha, $iva, OPERACION_CLAVE_PAGO_IVA_OTROS, 1, $detalles, 1, TM_ABONO, $persona);
     }
     $xRec->addMvtoContableByTipoDePago($monto, TM_CARGO);
     if ($xRec->setFinalizarRecibo(true) == true) {
         $codigo = $rw["idsocios_grupossolidarios"];
         $xG = new cGrupo($codigo, false);
         $xG->init($rw);
         $msg .= $xG->setVerificarValidez(false, true);
     }
     break;
 case 878:
     $xMig = new cMigracionTCB();
     $msg = $xMig->TCB_GenerarLetras();
     break;
     //ajusta las cuentas de ahorro por saldo actual y no por movimientos
 //ajusta las cuentas de ahorro por saldo actual y no por movimientos
 case 879:
     $msg .= "============================ GENERANDO AJUSTES DE CUENTA A LA VISTA \r\n ";
     $CRecibo = new cReciboDeOperacion(10, true);
     $recibo = $CRecibo->setNuevoRecibo(DEFAULT_SOCIO, DEFAULT_CREDITO, fechasys(), 1, 10, "POLIZA_MASIVA_DE_AJUSTE", "NA", "ninguno", "NA", DEFAULT_GRUPO);
     $sql = "SELECT SQL_CACHE * FROM captacion_saldos_comparados WHERE saldo_cuenta != saldo_obtenido /* LIMIT 0,500 */ ";
     $rs = mysql_query($sql, cnnGeneral());
     while ($rw = mysql_fetch_array($rs)) {
         $cuenta = $rw["numero_cuenta"];
         $socio = $rw["numero_socio"];
         $saldo = round($rw["saldo_cuenta"], 2);
         $sdoOperativo = round($rw["saldo_obtenido"], 2);
         if ($saldo != $sdoOperativo) {
             $cCta = new cCuentaALaVista($cuenta, $socio);
             $cCta->init();
             $cCta->setForceOperations();
             $cCta->setReciboDeOperacion($recibo);
             if ($saldo > $sdoOperativo) {
                 //depositar
                 $diferencia = $saldo - $sdoOperativo;
     $idrecibocap = $xDCred->setAbonoCapital($montocreditodesc, SYS_UNO, $cheque, TESORERIA_COBRO_DESCTO, $recibo_fiscal, $observaciones);
     if (setNoMenorQueCero($idrecibocap) > 0) {
         $xRecCapt = new cReciboDeOperacion(false, false, $idrecibocap);
         $xRecCapt->init();
         if ($xRecCapt->setFinalizarRecibo(true) == true) {
             $xFRM->OButton("TR.Recibo de Abono", "jsImprimirReciboCapital()", "imprimir");
             $xFRM->addHTML($xRecCapt->getJsPrint(true, "jsImprimirReciboCapital"));
             //finalizar tesoreria
             $xRecCapt->setFinalizarTesoreria(array("cuenta" => $cuenta_cheques, "cheque" => $cheque));
         }
         $msg .= MODO_DEBUG == true ? $xRecCapt->getMessages() : "";
     }
 }
 if ($montocomision > 0) {
     $xRec = new cReciboDeOperacion();
     $idrecibo = $xRec->setNuevoRecibo($idsocio, $idsolicitud, $fecha, 1, RECIBOS_TIPO_OINGRESOS, $observaciones, $cheque, TESORERIA_COBRO_DESCTO, $recibo_fiscal);
     if (setNoMenorQueCero($idrecibo) > 0) {
         $montocomision = round($montocomision * (1 / (1 + TASA_IVA)), 2);
         $montoivacomi = round($montocomision * TASA_IVA, 2);
         $xRec->setNuevoMvto($fecha, $montocomision, OPERACION_CLAVE_COMISION_APERTURA, 1, $observaciones, 1, TM_CARGO, $idsocio);
         $xRec->setNuevoMvto($fecha, $montoivacomi, OPERACION_CLAVE_PAGO_IVA_OTROS, 1, $observaciones, 1, TM_CARGO, $idsocio);
         //$xRec->addMvtoContableByTipoDePago($montocomision, TM_CARGO);
         if ($xRec->setFinalizarRecibo(true) == true) {
             $xFRM->OButton("TR.Recibo de Comisiones", "jsImprimirRecibo()", "imprimir");
             $xFRM->addHTML($xRec->getJsPrint(true));
             $xRec->setFinalizarTesoreria(array("cuenta" => $cuenta_cheques, "cheque" => $cheque));
         }
         $msg .= MODO_DEBUG == true ? $xRec->getMessages() : "";
     }
 }
 //Buttons
$msg = "";
if (setNoMenorQueCero($monto) > 0) {
    $xT = new cTipos();
    $Fecha = parametro("idfechadepago", false);
    $Fecha = $Fecha == false ? fechasys() : $xF->getFechaISO($Fecha);
    $observacion = parametro("idobservaciones", "");
    $monto = parametro("idmonto", 0, MQL_FLOAT);
    $cheque = parametro("cheque", DEFAULT_CHEQUE);
    $comopago = parametro("ctipo_pago", DEFAULT_TIPO_PAGO, MQL_RAW);
    $foliofiscal = parametro("foliofiscal", DEFAULT_RECIBO_FISCAL);
    $fecha_de_operacion = $Fecha;
    $xRec = new cReciboDeOperacion(20);
    //$xRec->setGenerarBancos();
    //$xRec->setGenerarPoliza();
    //$xRec->setGenerarTesoreria();
    $idrecibo = $xRec->setNuevoRecibo($persona, 1, $fecha_de_operacion, 1, 20, $observacion, $cheque, $comopago, $foliofiscal, DEFAULT_GRUPO);
    $xRec->setNuevoMvto($fecha_de_operacion, $monto, 1001, 1, $observacion, 1, TM_ABONO);
    //agregar Poliza
    $xRec->addMvtoContableByTipoDePago();
    //Finalizar recibo
    $xRec->setFinalizarRecibo(true);
    $xRec->init();
    $xFRM->addHTML($xRec->getFichaSocio());
    $xFRM->addHTML($xRec->getFicha(true));
    $xFRM->addHTML($xRec->getJsPrint(true));
    $xFRM->OButton("TR. Imprimir recibo", "jsImprimirRecibo()", "imprimir", "idrec-dep");
    $xFRM->addCerrar();
    if (MODO_DEBUG == true) {
        $msg .= $xRec->getMessages();
        $xFL = new cFileLog(false, true);
        $xFL->setWrite($msg);
 function setRegenerarSDPM($PFechaInicial, $PFechaFinal, $GenerarInteres = true, $incluirSinSaldo = false, $NumeroCuenta = false)
 {
     //		$PFechaFinal		= "";
     $mBase = 3100;
     $xT = new cTipos();
     $ql = new MQL();
     $BySaldo = $incluirSinSaldo == false ? " AND captacion_cuentas.saldo_cuenta >=" . TOLERANCIA_SALDOS : "";
     $ByCuentaSDPM = $NumeroCuenta == false ? "" : " AND `captacion_sdpm_historico`.`cuenta` = {$NumeroCuenta} ";
     $ByCuentaMvto = $NumeroCuenta == false ? "" : " AND `operaciones_mvtos`.`docto_afectado` = {$NumeroCuenta} ";
     $ByCuentaCta = $NumeroCuenta == false ? "" : " AND captacion_cuentas.numero_cuenta = {$NumeroCuenta} ";
     $msg = "";
     $msg .= "==========================================================================================\r\n";
     $msg .= "==================\tGenerando SDPM desde el {$PFechaInicial} al {$PFechaFinal}\r\n";
     $msg .= "==========================================================================================\r\n";
     $msg .= "Socio\tCuenta\tOPER\tEjercicio\tPeriodo\tFecha\tDias\tMonto\tSaldo\tSDPM\r\n";
     $sqlM = "SELECT \n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`fecha_operacion`  AS 'fecha_operacion',\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`recibo_afectado` AS 'recibo_afectado',\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`docto_afectado` AS 'docto_afectado',\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`afectacion_real` AS 'afectacion_real',\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`valor_afectacion`,\n\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`afectacion` AS 'afectacion'\n\t\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos` \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\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\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t\t(`eacp_config_bases_de_integracion_miembros`.`codigo_de_base` ={$mBase})\n\t\t\t\t\t\t\t\t\t{$ByCuentaMvto}\n\t\t\t\t\t\t\t\tORDER BY\n\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`codigo_de_base`,\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`fecha_operacion` ASC";
     $rsM = getRecordset($sqlM);
     $arrOps = array();
     //Array de montos de operacion
     $arrRecs = array();
     //Array de Recibos de Operacion
     while ($rwM = mysql_fetch_array($rsM)) {
         //clave cuenta fecha
         $cuenta = $rwM["docto_afectado"];
         $fecha = $rwM["fecha_operacion"];
         if (isset($arrOps[$cuenta . "-" . $fecha])) {
             $arrOps[$cuenta . "-" . $fecha] += $rwM["afectacion_real"] * $rwM["afectacion"];
         } else {
             $arrOps[$cuenta . "-" . $fecha] = $rwM["afectacion_real"] * $rwM["afectacion"];
         }
         $arrRecs[$cuenta . "-" . $fecha] = $rwM["recibo_afectado"];
         //$msg					.= "WARN\t$cuenta\tAgregar " . ($rwM["afectacion_real"] * $rwM["afectacion"] ) . "\r\n";
     }
     //Eliminar periodos anteriores
     $sqlDF = "DELETE FROM captacion_sdpm_historico WHERE (fecha>='{$PFechaInicial}' AND fecha<='{$PFechaFinal}') {$ByCuentaSDPM} ";
     my_query($sqlDF);
     //FECHAS
     $xF = new cFecha(0);
     //
     $xTbl = new cSAFETabla(TCAPTACION_CUENTAS);
     $sqlCX = $xTbl->getQueryInicial() . " WHERE captacion_cuentas.tipo_cuenta = " . CAPTACION_TIPO_VISTA . " {$BySaldo} {$ByCuentaCta} ";
     $rs1 = getRecordset($sqlCX);
     while ($rw1 = mysql_fetch_array($rs1)) {
         $socio = $rw1["numero_socio"];
         $cuenta = $rw1["numero_cuenta"];
         $xCta = new cCuentaALaVista($cuenta, $socio);
         $xCta->init($rw1);
         $DCta = $xCta->getDatosInArray();
         $FApertura = $DCta["fecha_apertura"];
         $dias = $xF->setRestarFechas($PFechaFinal, $FApertura);
         $dias += 1;
         $sucursal = $DCta["sucursal"];
         $FechaAnterior = $FApertura;
         $saldoAnterior = 0;
         $xF2 = new cFecha(1);
         for ($i = 0; $i <= $dias; $i++) {
             $OpFecha = $xF->setSumarDias($i, $FApertura);
             $xF->set($OpFecha);
             $OpFechaFin = $xF->getDiaFinal();
             $OpMonto = isset($arrOps[$cuenta . "-" . $OpFecha]) ? $arrOps[$cuenta . "-" . $OpFecha] : 0;
             $idrecibo = isset($arrRecs[$cuenta . "-" . $OpFecha]) ? $arrRecs[$cuenta . "-" . $OpFecha] : DEFAULT_RECIBO;
             //si la operacion es mayor a cero o es FIN DE MES
             if ($OpMonto != 0 or $OpFecha == $OpFechaFin) {
                 $diasTrans = $xF2->setRestarFechas($OpFecha, $FechaAnterior);
                 $xF2->set($OpFecha);
                 $ejercicio = $xF2->anno();
                 $periodo = $xF2->mes();
                 $sdpd = $saldoAnterior * $diasTrans;
                 $nuevatasa = $xCta->getTasaAplicable(0, 0, $saldoAnterior);
                 //corregir fecha
                 $sqlUSPM = "INSERT INTO captacion_sdpm_historico\n\t\t\t\t\t\t\t\t\t\t(ejercicio, periodo, cuenta, fecha, dias, tasa, monto, recibo, numero_de_socio, sucursal)\n\t    \t\t\t\t\t\t\t\tVALUES( {$ejercicio}, {$periodo}, {$cuenta}, '{$OpFecha}', {$diasTrans}, {$nuevatasa}, {$sdpd}, {$idrecibo}, {$socio}, '{$sucursal}') ";
                 //si es valida la operacion, se actualizan
                 if ($OpFecha >= $PFechaInicial and $OpFecha <= $PFechaFinal) {
                     my_query($sqlUSPM);
                     $msg .= "{$socio}\t{$cuenta}\t+SDPM\t{$ejercicio}\t{$periodo}\t{$OpFecha}\t{$diasTrans}\t{$OpMonto}\t{$saldoAnterior}\t{$sdpd}\r\n";
                 } else {
                     $msg .= "{$socio}\t{$cuenta}\t=SDPM\t{$ejercicio}\t{$periodo}\t{$OpFecha}\t{$diasTrans}\t{$OpMonto}\t{$saldoAnterior}\t{$sdpd}\r\n";
                 }
                 $FechaAnterior = $OpFecha;
                 $saldoAnterior += $OpMonto;
             }
         }
     }
     //Agregar Movimientos Finales del MES.
     //FIXME: Corregir incidencias
     //opcional: agregar Interes
     if ($GenerarInteres == true) {
         $xRec = new cReciboDeOperacion(12, false);
         $recibo = $xRec->setNuevoRecibo(DEFAULT_SOCIO, 1, $PFechaFinal, 1, 12, "REGENERAR_INTERES_SDPM_{$PFechaFinal}", "NA", "ninguno", "NA", DEFAULT_GRUPO);
         $msg .= "==========================================================================================\r\n";
         $msg .= "==================\tAGREGADO INTERES :: RECIBO {$recibo}\r\n";
         $msg .= "==========================================================================================\r\n";
         $_SESSION["recibo_en_proceso"] = $recibo;
         //sumar sdpm del mes por cuenta
         $sqlSDPM = "SELECT\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`numero_de_socio`,\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`cuenta`,\n\t\t\t\t\t\t\t\tSUM(`captacion_sdpm_historico`.`dias`)  AS `dias_transcurridos`,\n\t\t\t\t\t\t\t\tSUM(`captacion_sdpm_historico`.`monto`) AS `sdpm`,\n\t\t\t\t\t\t\t\tROUND( (`captacion_sdpm_historico`.`monto` / `captacion_sdpm_historico`.`dias`), 2) AS `ultimo_saldo`,\n\t\t\t\t\t\t\t\tMAX(`captacion_sdpm_historico`.`fecha`) AS 'UltimaFecha'\n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico` `captacion_sdpm_historico` \n\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t(`captacion_sdpm_historico`.`fecha` >= '{$PFechaInicial}')\n\t\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t(`captacion_sdpm_historico`.`fecha` <= '{$PFechaFinal}')\n\t\t\t\t\t\t\t\t{$ByCuentaSDPM}\n\t\t\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`cuenta`,\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`ejercicio`,\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`periodo`\n\t\t\t\t\t\t\tORDER BY\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`fecha` DESC ";
         $rsCAP = $ql->getDataRecord($sqlSDPM);
         //setLog($sqlSDPM);
         foreach ($rsCAP as $rwC) {
             $socio = $rwC["numero_de_socio"];
             $cuenta = $rwC["cuenta"];
             $dias_de_calc = $rwC["dias_transcurridos"];
             $sumaSDPM = $rwC["sdpm"];
             $FechaI = $rwC["UltimaFecha"];
             $promedio = $xT->cFloat($sumaSDPM / $dias_de_calc, 2);
             //XXX: Solucionar Tasa de Interes y hacer las rapida la consulta
             $xCta = new cCuentaDeCaptacion($cuenta);
             $xCta->init();
             $subtipo = $xCta->getTipoDeSubproducto();
             $tasa_nueva = obtentasa($promedio, CAPTACION_TIPO_VISTA, 0, $subtipo);
             $interes = $sumaSDPM * $tasa_nueva / EACP_DIAS_INTERES;
             $interes = $xT->cFloat($interes, 2);
             //agregar movimiento
             if ($interes > 0) {
                 setNuevoMvto($socio, $cuenta, $recibo, $FechaI, $interes, 222, 1, "CALCULO_AUTOMATICO_DESDE_{$PFechaInicial}");
                 $msg .= "{$socio}\t{$cuenta}\tAGREGAR\tInteres por {$interes}, tasa {$tasa_nueva}, Promedio {$promedio}, SDPM {$sumaSDPM}, Dias {$dias_de_calc}\r\n";
             } else {
                 $msg .= "{$socio}\t{$cuenta}\tIGNORAR\tInteres por {$interes}, tasa {$tasa_nueva}, Promedio {$promedio}, SDPM {$sumaSDPM}, Dias {$dias_de_calc}\r\n";
             }
         }
     }
     return $msg;
 }
        $sucess = false;
        //Si el registros sucede entoces se sale de la programacion
    } else {
        $msg .= "\tEl Estatus Es Aceptable\r\n";
        $sucess = true;
    }
} else {
    $msg .= "\tLa Planeacion de un Credito con menos de " . DIAS_ESPERA_CREDITO . " Dias no Existe\r\n";
    $sucess = true;
}
if ($sucess == true) {
    $PlanAnterior = $xP["idoperaciones_recibos"];
    //Eliminar la Planeacion Anterior
    if (isset($PlanAnterior)) {
        $DRec = new cReciboDeOperacion(14, false, $PlanAnterior);
        $DRec->setNuevoRecibo($PlanAnterior);
        $DRec->setRevertir();
        $msg .= $DRec->getMessages();
    }
    //--------------------------------------- DATOS DEL RECIBO -----------------------------------------------
    // DATOS GENERALES
    $fechaop = fechasys();
    // fecha de la Operacion y el recibo.
    /* *******************************************************************************************************
                                   Agrega el Recibo..- VALIDO SOLO PARA PLANEACION DE CREDITO
       **************************************************************************************************** */
    $msqlf = "idoperaciones_recibos, fecha_operacion, numero_socio, docto_afectado, tipo_docto, total_operacion, observacion_recibo, tipo_pago, grupo_asociado, idusuario";
    $msqlv = "{$idrecibo}, '{$fechaop}', {$presidenta}, 1, 14, 0, 'PLANEACION DE CREDITO HECHA POR {$oficial}', 'ninguno', {$idgrupo}, {$iduser}";
    $sqlrec = "INSERT INTO operaciones_recibos({$msqlf}) VALUES ({$msqlv})";
    // --------------------------------------- VALOR SQL DEL MVTO.-------------------------------------------------------
    // VALORES FIJOS
 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;
 }
echo $xF->get();
//.- Agrega el Monto de Gastos de Cobranza
$idsolicitud = $_POST["idsolicitud"];
$montoop = $_POST["monto_cargado"];
$idsocio = $_POST["idsocio"];
if (!isset($idsolicitud) or !isset($idsocio) or $montoop <= 0) {
    echo "<p class='aviso'>AGREGE UN NUMERO DE SOLICITUD. \n\n\t\t si sabe a Que Parcialidad afectara, indique el Numero\n\t\t</p>";
} else {
    $ulper = $_POST["idparcialidad"];
    $idparcialidad = $_POST["idparcialidad"];
    $iva = $_POST["iva_cargado"];
    //$idsocio 			= mifila($sqlvs, "numero_socio");
    $observaciones = $_POST["observaciones"];
    $fecha = fechasys();
    $cRec = new cReciboDeOperacion(97);
    $recibo = $cRec->setNuevoRecibo($idsocio, $idsolicitud, $fecha, $idparcialidad, 97, $observaciones);
    $cRec->setDefaultEstatusOperacion(40);
    $cRec->setNuevoMvto($fecha, $montoop, 601, $idparcialidad, $observaciones);
    $cRec->setNuevoMvto($fecha, $iva, 1202, $idparcialidad, $observaciones);
    $mSoc = new cFicha(iDE_SOCIO, $idsocio);
    $mSoc->setTableWidth();
    $mSoc->show();
    $cRec->setFinalizarRecibo(true);
    $cRec->getFicha();
    echo "<p class='aviso'>EL MONTO DEL CARGO FUE DE: \$ " . getFMoney($montoop) . ", SE PODRA DISMUIR DESDE EL MODULO DE DESCUENTOS</p>";
    echo $msg_rec_end;
}
?>
</body>
<script  >
	function printrec() {
//if ($key == MY_KEY) {
$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) {
function jsaAjustarTotal($recibo, $nuevoTotal, $nuevaletra)
{
    $xRec = new cReciboDeOperacion(false, true, $recibo);
    $xRec->init();
    $xRec->setGenerarBancos(false);
    $xRec->setGenerarPoliza(false);
    $xRec->setGenerarTesoreria(false);
    $xRec->setForceUpdateSaldos(true);
    $total = $xRec->getTotal();
    $QL = new MQL();
    $DMov = new cOperaciones_mvtos();
    $msg = "";
    if ($nuevoTotal < $total) {
        $NRec = new cReciboDeOperacion($xRec->getTipoDeRecibo(), false, $recibo);
        $idNRec = $NRec->setNuevoRecibo($xRec->getCodigoDeSocio(), $xRec->getCodigoDeDocumento(), $xRec->getFechaDeRecibo(), 0, $xRec->getTipoDeRecibo(), "AJUSTE DEL RECIBO {$recibo}");
        $NRec->setForceUpdateSaldos(true);
        $NRec->setGenerarBancos(false);
        $NRec->setGenerarPoliza(false);
        $NRec->setGenerarTesoreria(false);
        /*`idoperaciones_mvtos`,
        		`operaciones_mvtos`.`fecha_operacion`,
        		`operaciones_mvtos`.`fecha_afectacion`,
        		`operaciones_mvtos`.`recibo_afectado`,
        		`operaciones_mvtos`.`socio_afectado`,
        		`operaciones_mvtos`.`docto_afectado`,
        		`operaciones_mvtos`.`tipo_operacion`,
        		`operaciones_mvtos`.`afectacion_real`  */
        $sql = "SELECT\n\t\t\t`operaciones_mvtos`.*\n\n\t\tFROM\n\t\t\t`operaciones_mvtos` `operaciones_mvtos` \n\t\t\t\tINNER JOIN `operaciones_tipos` `operaciones_tipos` \n\t\t\t\tON `operaciones_mvtos`.`tipo_operacion` = `operaciones_tipos`.\n\t\t\t\t`idoperaciones_tipos` \n\t\tWHERE\n\t\t\t(`operaciones_mvtos`.`recibo_afectado` ={$recibo}) \n\t\tORDER BY\n\t\t\t`operaciones_mvtos`.`tipo_operacion` DESC ";
        $rs = $QL->getDataRecord($sql);
        $arrops = array();
        foreach ($rs as $rw) {
            $DMov->setData($rw);
            $NMonto = $DMov->afectacion_real()->v();
            $IDOpe = $DMov->idoperaciones_mvtos()->v();
            if ($nuevoTotal > 0) {
                $nuevoTotal -= $NMonto;
                $msg .= $IDOpe . " \t {$nuevoTotal} DE {$NMonto}\r\n";
                if ($nuevoTotal < 0) {
                    $msg .= "CUADRAR {$NMonto} DE {$nuevoTotal}  \r\n";
                    $nuevoTotal = $nuevoTotal * -1;
                    $dif = $NMonto - $nuevoTotal;
                    $sql = "UPDATE operaciones_mvtos \n\t\t\t\t\t\t\tSET afectacion_real={$dif}, afectacion_cobranza={$dif}, afectacion_contable={$dif},\n\t\t\t\t\t\t\tafectacion_estadistica={$dif} WHERE idoperaciones_mvtos={$IDOpe} ";
                    $x = my_query($sql);
                    $msg .= $x[SYS_INFO];
                    //agregar el movimiento al nuevo recibo con cargos
                    $NRec->setNuevoMvto($DMov->fecha_operacion()->v(), $nuevoTotal, $DMov->tipo_operacion()->v(), $DMov->periodo_socio()->v(), "SEPARACION DEL MVTO {$IDOpe} {$nuevoTotal}", $DMov->valor_afectacion()->v(), false, $DMov->socio_afectado()->v(), $DMov->docto_afectado()->v(), $DMov->fecha_afectacion()->v(), $DMov->fecha_vcto()->v(), $DMov->saldo_anterior()->v(), $DMov->saldo_actual()->v());
                    //listo
                    $nuevoTotal = 0;
                }
            } else {
                $arrops[$DMov->idoperaciones_mvtos()->v()] = $DMov->afectacion_real()->v();
            }
        }
        //$total	= $total  * -1;
        foreach ($arrops as $operacion => $monto) {
            $x = my_query("UPDATE operaciones_mvtos SET recibo_afectado={$idNRec} WHERE idoperaciones_mvtos={$operacion}");
            //100 - 50
            //$dif	= $monto - $total;
            $msg .= $x[SYS_INFO];
        }
        $NRec->setFinalizarRecibo(true);
        $msg .= $NRec->getMessages(OUT_TXT);
        $xRec->setFinalizarRecibo(true);
    } else {
        $msg .= "WARN\tNO SE MODIFICA NADA({$nuevoTotal}|{$total})\r\n";
    }
    $msg .= $xRec->getMessages(OUT_TXT);
    return $msg;
}