function setRegenerarPrepolizaContable($FechaDeRecibo = false, $NumeroDeRecibo = false)
 {
     $msg = "";
     $wLim = " AND ( `operaciones_recibos`. `fecha_operacion` = '{$FechaDeRecibo}') ";
     $wLim = setNoMenorQueCero($NumeroDeRecibo) > 0 ? " AND ( `operaciones_recibos`. `idoperaciones_recibos` = '{$NumeroDeRecibo}') " : $wLim;
     $xCat = new cCatalogoOperacionesDeCaja();
     $ql = new MQL();
     $xLogg = new cCoreLog();
     $xPol = new cPoliza(false);
     $msg .= "Recibo\tDocumento\tSocio\tOperacion\tMonto\tContable\r\n";
     //$xLogg->add(, $xLogg->DEVELOPER);
     //
     $sql = "SELECT\r\n\t\t\t\t\t\t\t`operaciones_recibos`.*,\r\n\t\t\t\t\t\t\t`operaciones_recibostipo`.*\r\n\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t`operaciones_recibos` `operaciones_recibos`\r\n\t\t\t\t\t\t\t\tINNER JOIN `operaciones_recibostipo` `operaciones_recibostipo`\r\n\t\t\t\t\t\t\t\tON `operaciones_recibos`.`tipo_docto` = `operaciones_recibostipo`.\r\n\t\t\t\t\t\t\t\t`idoperaciones_recibostipo`\r\n\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t( SELECT COUNT(tipo_de_recibo) FROM contable_polizas_perfil \r\n\t\t\t\t\t\t\tWHERE tipo_de_recibo = `operaciones_recibos`.`tipo_docto` ) > 0 \r\n\t\t\t\t\t\t\t {$wLim} ";
     $rs = $ql->getDataRecord($sql);
     foreach ($rs as $rw) {
         $Recibo = $rw["idoperaciones_recibos"];
         $TipoDeRec = $rw["tipo_docto"];
         $TipoDePago = $rw["tipo_pago"];
         $TotalRecibo = $rw["total_operacion"];
         $socio_de_rec = $rw["numero_socio"];
         $docto_de_rec = $rw["docto_afectado"];
         $usrRec = $rw["idusuario"];
         $xRec = new cReciboDeOperacion(false, false, $Recibo);
         $xRec->init($rw);
         $xRec->getDatosDeCobro();
         $OBanco = $xRec->getOBanco();
         $banco = 0;
         if ($OBanco != null) {
             $banco = $OBanco->getNumeroDeCuenta();
         }
         $TotalSuma = 0;
         $DatosAfect = array();
         $sqlAfecta = "SELECT * FROM\t`contable_polizas_perfil`\t\tWHERE (`contable_polizas_perfil`.`tipo_de_recibo` = {$TipoDeRec})";
         $rsAfecta = $ql->getDataRecord($sqlAfecta);
         foreach ($rsAfecta as $rwAfecta) {
             $DatosAfect[$rwAfecta["tipo_de_operacion"]] = $rwAfecta["operacion"];
             //setLog($rwAfecta["tipo_de_operacion"] . "    ----- " . $rwAfecta["operacion"]);
         }
         $xLogg->add("OK\tRecibo {$Recibo} Tipo {$TipoDeRec} con Pago {$TipoDePago} \r\n", $xLogg->DEVELOPER);
         //Eliminar Prepoliza de ese dia.
         $sqlDR = " DELETE FROM `contable_polizas_proforma` WHERE numero_de_recibo = {$Recibo} ";
         my_query($sqlDR);
         $sqlM = "SELECT\r\n\t\t\t\t\t\t\t`operaciones_mvtos`.*,\r\n\t\t\t\t\t\t\t`operaciones_mvtos`.`recibo_afectado` \r\n\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos` \r\n\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`recibo_afectado` = {$Recibo}) ";
         //setLog($sqlM);
         //=======================
         $rsM = $ql->getDataRecord($sqlM);
         foreach ($rsM as $rwM) {
             //
             $TipoOperacion = $rwM["tipo_operacion"];
             $Monto = $rwM["afectacion_real"];
             $socio = $rwM["socio_afectado"];
             $docto = $rwM["docto_afectado"];
             $usr = $rwM["idusuario"];
             //setLog($sqlAfecta);
             $xLogg->add("OK\tOperacion {$TipoOperacion} con Monto {$Monto} ({$usr})\r\n", $xLogg->DEVELOPER);
             $AfectaCont = isset($DatosAfect[$TipoOperacion]) ? $DatosAfect[$TipoOperacion] : 1;
             $TotalSuma += $Monto;
             //( ( $Monto * $AfectaCont) * -1);
             $xPol->addProforma($Recibo, $TipoOperacion, $Monto, $socio, $docto, $AfectaCont, $usr, $banco);
             $msg .= "{$Recibo}\t{$socio}\t{$docto}\t{$TipoOperacion}\t{$Monto}\t{$AfectaCont}\r\n";
         }
         //por el pago
         $OperacionPago = $xCat->getTipoOperacionByTipoPago($TipoDePago);
         $AfectaCont = isset($DatosAfect[$OperacionPago]) ? $DatosAfect[$OperacionPago] : 1;
         //Agregar un movimiento por el Tipo de Pago.. Cambiado monto por Monto
         //setLog($DatosAfect[$OperacionPago]);
         $xPol->addProforma($Recibo, $OperacionPago, $TotalSuma, $socio_de_rec, $docto_de_rec, $AfectaCont, $usrRec, $banco);
         $msg .= "{$Recibo}\t{$socio_de_rec}\t{$docto_de_rec}\t{$OperacionPago}\t{$TotalSuma}\t{$AfectaCont}\r\n";
         //TODO: Ampliar funcionalidad de poliza, agregar suma de cargos, suma de abonos y si debe se cargo o abono
     }
     $xLogg->add($msg, $xLogg->DEVELOPER);
     $this->mMessages .= $xLogg->getMessages();
     return $xLogg->getMessages();
 }
        $eventOnLoad = "window.print();";
    }
}
echo $xHP->setBodyinit($eventOnLoad);
echo $scripts;
//pegar script como variable, eventonload
//<----------------------------------------------------------
$variable_numero_de_recibo = $recibo;
$variable_monto_del_recibo = number_format($totaloperacion, 2, '.', ',');
$variable_monto_del_recibo_en_letras = convertirletras($totaloperacion);
$variable_fecha_del_recibo = "";
$variable_tipo_de_pago = "";
$xCajero = new cSystemUser($DRec["idusuario"]);
$variable_nombre_del_cajero = $xCajero->getNombreCompleto();
$variable_observacion_del_recibo = $DRec["observacion_recibo"];
$variable_datos_de_pago = $xRec->getDatosDeCobro();
$xSuc = new cSucursal($DRec["sucursal"]);
$xSuc->init();
$DSuc = $xSuc->getDatosInArray();
$variable_lugar = $DSuc["municipio"] . ", " . $DSuc["estado"];
$variable_marca_de_tiempo = date("Ymd:His");
$tipoDocto = "";
$estatDocto = "";
$letras = "";
/* -----------------Verifica si es solicitud, si es imprime el saldo actual */
if ($origen == TESORERIA_RECIBOS_ORIGEN_CRED or $origen == TESORERIA_RECIBOS_ORIGEN_MIXTO) {
    $DD = $xRec->getInfoDoctoInArray();
    if ($DD != false and is_array($DD)) {
        $sdoctacred = $DD["saldo_actual"];
        $sdov = $DD["saldo_vencido"];
        $nota = "Capital Insoluto: \$ " . getFMoney($sdoctacred) . "|";
 function setRecibo($recibo)
 {
     $xRec = new cReciboDeOperacion(false, false, $recibo);
     if ($xRec->init() == true) {
         $this->setPersona($xRec->getCodigoDeSocio());
         $OTipo = $xRec->getOTipoRecibo();
         $origen = $OTipo->getOrigen();
         $afectEfvo = $OTipo->getAfectacionEnEfvo();
         $xCant = new cCantidad($xRec->getTotal());
         $QL = new MQL();
         $xF = new cFecha();
         $describe = "";
         $xCta = null;
         $xCred = null;
         //Bases de Operaciones de Captacion en Inversiones
         $xB3100 = new cBases(3100);
         $DB3100 = $xB3100->getMembers_InArray();
         $xB3200 = new cBases(3200);
         $DB3200 = $xB3200->getMembers_InArray();
         switch ($origen) {
             case RECIBOS_ORIGEN_MIXTO:
                 $this->setCredito($xRec->getCodigoDeDocumento());
                 break;
             case RECIBOS_ORIGEN_COLOCACION:
                 $this->setCredito($xRec->getCodigoDeDocumento());
                 break;
             case RECIBOS_ORIGEN_CAPTACION:
                 $this->setCuentaDeCaptacion($xRec->getCodigoDeDocumento());
                 break;
         }
         $this->mArr["variable_tipo_de_recibo"] = $OTipo->getNombre();
         $this->mArr["variable_datos_del_pago"] = $xRec->getDatosDeCobro();
         $this->mArr["variable_numero_de_recibo"] = $recibo;
         $this->mArr["variable_docto_fecha_larga_actual"] = $xF->getFechaLarga($xRec->getFechaDeRecibo());
         $this->mArr["variable_observacion_del_recibo"] = $xRec->getObservaciones();
         $this->mArr["variable_monto_del_recibo_en_letras"] = $xCant->letras();
         $this->mArr["variable_monto_del_recibo"] = $xCant->moneda();
         ///$this->mArr["variable_nombre_del_cajero"] 			= $xRec->getOUsuario()->getNombreCompleto();
         $this->mEsRecibo = true;
         $this->setUsuario($xRec->getCodigoDeUsuario());
         //obtener operaciones
         $this->mRecibo = $recibo;
         $sqlmvto = "SELECT\n\t\t\t`operaciones_mvtos`.`socio_afectado`        AS `numero_de_socio`,\n\t\t\t`operaciones_mvtos`.`docto_afectado`        AS `numero_de_documento`,\n\t\t\t`operaciones_mvtos`.`recibo_afectado`       AS `numero_de_recibo`,\n\t\t\t`operaciones_mvtos`.`idoperaciones_mvtos`   AS `numero_del_movimiento`,\n\t\t\t`operaciones_tipos`.`descripcion_operacion` AS `concepto_del_movimiento`,\n\t\t\t`operaciones_mvtos`.`afectacion_real`       AS `monto_del_movimiento`,\n\t\t\t`operaciones_mvtos`.`valor_afectacion`      AS `naturaleza_del_movimiento`,\n\t\t\t`operaciones_tipos`.`nombre_corto` \t\t\tAS `concepto_nombre_corto`,\n\t\t\t`operaciones_mvtos`.`periodo_socio`        \tAS `parcialidad`,\n\t\t\t`operaciones_mvtos`.`detalles` \t\t\t\tAS `observacion_del_mvto`,\n\t\t\t`operaciones_mvtos`.`tipo_operacion`\t\tAS `tipo_de_movimiento`\n\t\t\tFROM\n\t\t\t`operaciones_mvtos` `operaciones_mvtos`\tINNER JOIN `operaciones_tipos` `operaciones_tipos` ON `operaciones_mvtos`.`tipo_operacion` = `operaciones_tipos`.`idoperaciones_tipos`\n\t\t\tWHERE (`operaciones_mvtos`.`recibo_afectado` = {$recibo} ) ORDER BY `operaciones_mvtos`.`afectacion_real` DESC";
         $rs = $QL->getDataRecord($sqlmvto);
         //destino_del_movimiento
         foreach ($rs as $row) {
             $rwx = $row;
             $tipo = $row["tipo_de_movimiento"];
             $docto = $row["numero_de_documento"];
             $rwx["monto_del_movimiento"] = getFMoney($row["monto_del_movimiento"] * $row["naturaleza_del_movimiento"] * $afectEfvo);
             $rwx["destino_del_movimiento"] = "&nbsp;" . $row["numero_de_documento"];
             if (in_array($tipo, $DB3100) == true or in_array($tipo, $DB3200)) {
                 if ($origen == RECIBOS_ORIGEN_MIXTO) {
                     //TODO: Cargar datos de la cuenta de captacion y mostrar sus caracteristicas
                 } else {
                     //if($xCta == null){ $xCta = new cCuentaDeCaptacion($docto); $xCta->init(); }
                     $rwx["destino_del_movimiento"] .= "|" . $this->mArr["variable_tipo_de_cuenta"];
                 }
             } else {
                 $rwx["destino_del_movimiento"] .= "|" . substr($this->mArr["variable_tipo_de_credito"], 0, 5);
                 $rwx["destino_del_movimiento"] .= "|" . substr($this->mArr["variable_estado_de_credito"], 0, 3);
                 $rwx["destino_del_movimiento"] .= "|" . $row["parcialidad"] . "/" . $this->mArr["variable_credito_numero_de_pagos"];
             }
             $this->mDataMvto[] = $rwx;
         }
     }
 }