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); }
        $xCred->setAbonoCapital(8200, 1, DEFAULT_CHEQUE, TESORERIA_COBRO_EFECTIVO, DEFAULT_RECIBO_FISCAL, "", DEFAULT_GRUPO, "2014-02-05");
        //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); }
 function setConciliarCreditos()
 {
     $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\n\t\t\t\t\t\t\t\t`migracion_creditos_por_socio`.`numero_socio`,\n\t\t\t\t\t\t\t\t`migracion_creditos_por_socio`.`creditos`,\n\t\t\t\t\t\t\t\t`migracion_creditos_por_socio`.`saldo`,\n\t\t\t\t\t\t\t\tgetCreditosCompac(numero_socio) AS `saldo_compac`,\n\t\t\t\t\t\t\t\t( `migracion_creditos_por_socio`.`saldo` -  getCreditosCompac(numero_socio)) AS 'diferencia'\n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t`migracion_creditos_por_socio` `migracion_creditos_por_socio`\n\n\t\t\t\t\t\t\tHAVING\n\t\t\t\t\t\t\t\t(diferencia >0.99\n\t\t\t\t\t\t\t\tOR\n\t\t\t\t\t\t\t\tdiferencia < -0.99)";
     $rs = getRecordset($sql);
     while ($rw = mysql_fetch_array($rs)) {
         $socio = $rw["numero_socio"];
         $sqlCred = "SELECT\n\t\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\t`creditos_tipoconvenio`.*,\n\t\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\t`creditos_estatus`.*,\n\t\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\t`creditos_solicitud`.`tipo_autorizacion` AS `tipo_de_autorizacion`,\n\t\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\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t`creditos_tipoconvenio` `creditos_tipoconvenio`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tINNER JOIN `creditos_solicitud` `creditos_solicitud`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tON `creditos_tipoconvenio`.`idcreditos_tipoconvenio`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t= `creditos_solicitud`.`tipo_convenio`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tINNER JOIN `creditos_periocidadpagos`\n\t\t\t\t\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\t\t\t\tON `creditos_periocidadpagos`.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`idcreditos_periocidadpagos` =\n\t\t\t\t\t\t\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\t\t\t\t\t\t\tINNER JOIN `creditos_estatus`\n\t\t\t\t\t\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\t\t\t\t\tON `creditos_estatus`.`idcreditos_estatus` =\n\t\t\t\t\t\t\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\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(`creditos_solicitud`.`numero_socio` = {$socio} )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tORDER BY fecha_vencimiento ASC, saldo_actual DESC,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfecha_solicitud DESC\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
         $ajuste = $rw["diferencia"];
         $SdoCW = $rw["saldo_compac"];
         $SdoSAFE = $rw["saldo"];
         $rsC = getRecordset($sqlCred);
         while ($rwC = mysql_fetch_array($rsC)) {
             $credito = $rwC["numero_solicitud"];
             $saldo = $rwC["saldo_actual"];
             $cCredito = new cCredito($credito, $socio);
             $cCredito->init($rwC);
             $DCred = $cCredito->getDatosDeCredito();
             $TAjustar = 0;
             //Generar un abono a Capital
             //si el ajuste es mayo a 0.09 o menor que -0.99 proseguir::
             if ($ajuste > 0.09 or $ajuste < -0.09) {
                 //Si 100 > 0.09 Y 0 < 0.09
                 if ($ajuste > 0.09 and $saldo <= 0.09) {
                     $msg .= "{$socio}\t{$credito}\tSe ignora el Credito por no tener Saldo (COMPACW {$SdoCW} / Credito {$saldo})\r\n";
                 } else {
                     // 50 > 30
                     //500 > -140
                     if ($ajuste > $saldo) {
                         //saldo <= 0
                         if ($saldo <= 0) {
                             //justar	= 500
                             $TAjustar = $ajuste;
                             //xajustar	= 0
                             $ajuste = 0;
                         } else {
                             //ajuste	= 30;
                             $TAjustar = $saldo;
                             //xajustar	= 50 - 30 = 20;
                             $ajuste = $ajuste - $saldo;
                         }
                         //80 < 100
                     } elseif ($ajuste < $saldo) {
                         //ajuste	= 80;
                         $TAjustar = $ajuste;
                         //xajustar	= 0;
                         $ajuste = 0;
                     } elseif ($ajuste == $saldo) {
                         //80 == 80
                         //ajustar	= 80
                         $TAjustar = $ajuste;
                         //xajustar	= 0;
                         $ajuste = 0;
                     }
                     $cCredito->setReciboDeOperacion($xRec);
                     $cCredito->setAbonoCapital($TAjustar);
                     $msg .= "{$socio}\t{$credito}\tRealizando un Ajuste de {$TAjustar} (COMPACW {$SdoCW} / Credito {$saldo})\r\n";
                     $msg .= $cCredito->getMessages("txt");
                 }
             } else {
                 $msg .= "{$socio}\t{$credito}\tNo se Realizan NINGUN ajuste (SAFE {$SdoSAFE} / COMPACW {$SdoCW} / Ajuste {$ajuste})\r\n";
             }
         }
         $msg .= "=============================\t{$socio}\t===========================\r\n";
         //$msg	.=  $cCredito->getMessages("txt");
     }
     $cRec->setFinalizarRecibo(true);
     $msg .= $cRec->getMessages("txt");
     return $msg;
 }
 function setEliminarCreditosNegativos()
 {
     //Crear un nuevo Recibo de Ajuste
     $cRec = new cReciboDeOperacion(10);
     $xRec = $cRec->setNuevoRecibo(DEFAULT_SOCIO, DEFAULT_CREDITO, fechasys(), 1, 10, "RECIBO_DE_AJUSTES_DE_CREDITOS");
     $msg = "============\tRECIBO\tEl Recibo de Operacion es {$xRec}\r\n";
     $cRec->setNumeroDeRecibo($xRec, true);
     /*Esta funcion servira para eliminar saldos negativos de Créditos */
     $sql = "SELECT\n\t\t\t\t\t`creditos_solicitud`.*,\n\t\t\t\t\t`creditos_tipoconvenio`.*,\n\t\t\t\t\t`creditos_periocidadpagos`.*,\n\t\t\t\t\t`creditos_estatus`.*,\n\t\t\t\t\t`creditos_solicitud`.`tasa_interes` AS `tasa_ordinaria_anual`,\n\t\t\t\t\t`creditos_solicitud`.`tipo_autorizacion` AS `tipo_de_autorizacion`,\n                    `creditos_solicitud`.`tasa_ahorro` AS `tasa_de_ahorro`\n\t\t\t\t\t\t\t\tFROM\n\t\t\t\t\t`creditos_tipoconvenio` `creditos_tipoconvenio`\n\t\t\t\t\t\tINNER JOIN `creditos_solicitud` `creditos_solicitud`\n\t\t\t\t\t\tON `creditos_tipoconvenio`.`idcreditos_tipoconvenio`\n\t\t\t\t\t\t= `creditos_solicitud`.`tipo_convenio`\n\t\t\t\t\t\t\tINNER JOIN `creditos_periocidadpagos`\n\t\t\t\t\t\t\t`creditos_periocidadpagos`\n\t\t\t\t\t\t\tON `creditos_periocidadpagos`.\n\t\t\t\t\t\t\t`idcreditos_periocidadpagos` =\n\t\t\t\t\t\t\t`creditos_solicitud`.`periocidad_de_pago`\n\t\t\t\t\t\t\t\tINNER JOIN `creditos_estatus`\n\t\t\t\t\t\t\t\t`creditos_estatus`\n\t\t\t\t\t\t\t\tON `creditos_estatus`.`idcreditos_estatus` =\n\t\t\t\t\t\t\t\t`creditos_solicitud`.`estatus_actual`\n\t\t\t\t\t\t\t\tWHERE saldo_actual < " . TOLERANCIA_SALDOS . " ORDER BY saldo_actual ";
     $rs = getRecordset($sql);
     while ($rw = mysql_fetch_array($rs)) {
         $socio = $rw["numero_socio"];
         $credito = $rw["numero_solicitud"];
         $saldo_actual = $rw["saldo_actual"];
         //Se inicializa una nueva instancia de crédito
         $cCredito = new cCredito($credito, $socio);
         //y se neutralizara con su valor absoluto.
         $cCredito->init($rw);
         $cCredito->setReciboDeOperacion($xRec);
         //Generar un abono a Capital
         $cCredito->setAbonoCapital($saldo_actual);
         $msg .= "{$socio}\t{$credito}\tEliminando el saldo de {$saldo_actual}\r\n";
         $msg .= $cCredito->getMessages("txt");
     }
     $cRec->setFinalizarRecibo(true);
     return $msg;
 }