function jsaSetGenerarPolizaPorRecibo($numero)
{
    if (setNoMenorQueCero($numero) > 0) {
        //return $tab -> getString();
        $Recibo = $numero;
        $msg = "";
        $Regenerar = true;
        //( strtoupper($id2) == "SI") ? true : false;
        $xUCont = new cUtileriasParaContabilidad();
        $xBtn = new cHButton();
        if ($Regenerar == true) {
            $msg .= $xUCont->setRegenerarPrepolizaContable(false, $Recibo);
        }
        $xUCont->setPolizaPorRecibo($Recibo);
        $idPol = trim($xUCont->getIDPoliza());
        $xPolCW = new cPolizaCompacW(0);
        $xPolCW->initByID($idPol);
        $xPolCW->setRun();
        $strDown = $xPolCW->setExport();
        if (MODO_DEBUG == true) {
            $xLog = new cFileLog();
            $xLog->setWrite($xUCont->getMessages());
            $xLog->setClose();
            $strDown .= $xLog->getLinkDownload("TR.Log");
        }
        //return $xBtn->getBasic("TR.Modificar Poliza","jsModificarPoliza('$idPol')", $xBtn->ic()->EDITAR, "cmdeditpoliza") . $strDown ;
    } else {
        return "NO HAY REGISTRO QUE GENERAR [{$numero}]";
    }
}
$aliasFil = getSucursal() . "-eventos-al-cierre-de-contabilidad-del-dia-{$fechaop}";
$xLog = new cFileLog($aliasFil);
$idrecibo = DEFAULT_RECIBO;
//$xRec		= new cReciboDeOperacion(12);
//$xRec->setGenerarPoliza();
//$xRec->setForceUpdateSaldos();
//$idrecibo	=  $xRec->setNuevoRecibo(1,1,$fechaop, 1, 12, "CIERRE_DE_SEGUIMIENTO", "NA", "ninguno", "NA", 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 CONTABILIDAD ===================\r\n";
$messages .= "=========================\t\tRECIBO: {$idrecibo}\t\t\t\t   ====================\r\n";
if (MODULO_CONTABILIDAD_ACTIVADO == true) {
    $xCUtils = new cUtileriasParaContabilidad();
    $xCUtils->setGenerarPolizasAlCierre($fechaop);
    $messages .= $xCUtils->getMessages();
} else {
    $messages .= "=========================\tNO ACTIVADO\t====================\r\n";
}
//TODO: Si es Anual generar Saldos al Cierre
$xLog->setWrite($messages);
$xLog->setClose();
if (ENVIAR_MAIL_LOGS == true) {
    $xLog->setSendToMail("TR.Eventos del Cierre de Contabilidad");
}
if ($parser != false) {
    //TODO: Agregar cierre de riesgos
    header("Location: ./cierre_de_riesgos.frm.php?s=true&k=" . $key . "&f={$fechaop}");
}
 function setPolizaPorCajero($cajero, $FechaDeCorte, $NumeroDePoliza = false, $TipoDePoliza = 1, $TipoDePago = "efectivo", $generador = false)
 {
     $sucess = true;
     $msg = "=======\tGENERAR POLIZA POR USUARIO NUM {$cajero}\r\n";
     //if (GENERAR_CONTABILIDAD == true){
     //($generador == GENERAR_POLIZAS_AL_CIERRE) AND
     if (isset($cajero)) {
         $xUsr = new cOficial($cajero);
         $DUsr = $xUsr->getDatos();
         $UsrName = $DUsr["nombres"] . " " . $DUsr["apellidopaterno"];
         $tipo_de_poliza = $TipoDePoliza;
         $xD = new cFecha(0, $FechaDeCorte);
         $fecha_de_poliza = $FechaDeCorte;
         $ejercicio_de_poliza = $xD->anno();
         $periodo_de_poliza = $xD->mes();
         $numero_de_poliza = $NumeroDePoliza == false ? false : $NumeroDePoliza;
         $concepto_poliza = "{$UsrName}.-Movimientos del Corte de Fecha {$FechaDeCorte}";
         //Obten datos de la Poliza
         $sqlRec = "SELECT\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos`.*,\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibostipo`.`tipo_poliza_generada`,\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibostipo`.`afectacion_en_flujo_efvo`\r\n\t\t\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos` `operaciones_recibos`\r\n\t\t\t\t\t\t\t\t\t\tINNER JOIN `operaciones_recibostipo`\r\n\t\t\t\t\t\t\t\t\t\t`operaciones_recibostipo`\r\n\t\t\t\t\t\t\t\t\t\tON `operaciones_recibos`.`tipo_docto` =\r\n\t\t\t\t\t\t\t\t\t\t`operaciones_recibostipo`.\r\n\t\t\t\t\t\t\t\t\t\t`idoperaciones_recibostipo`\r\n\t\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\t\t(`operaciones_recibos`.`idusuario` = {$cajero} )\r\n\t\t\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t\t\t(`operaciones_recibos`.`fecha_operacion` = '{$FechaDeCorte}' )\r\n\t\t\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t\t\t(`operaciones_recibostipo`.`tipo_poliza_generada` = {$TipoDePoliza} )\r\n\t\t\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t\t\t(`operaciones_recibos`.`tipo_pago` = '{$TipoDePago}' )\r\n\t\t\t\t\t\t\t\tORDER BY\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos`.`tipo_pago`,\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos`.`idusuario`,\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos`.`idoperaciones_recibos`\r\n\t\t\t\t\t\t\t\t\t";
         //$msg		.= "$sqlRec\r\n";
         $rsP = getRecordset($sqlRec);
         //Obtener el la Ultima Poliza Registrada
         //------------------ Agregar Poliza
         $xPol = new cPoliza($tipo_de_poliza, $numero_de_poliza, $ejercicio_de_poliza, $periodo_de_poliza);
         if ($numero_de_poliza != false and $xPol->getCountPolizaByNumero($numero_de_poliza) > 1) {
             $xPol->setDeletePoliza();
         }
         $msg .= $xPol->add($concepto_poliza, $fecha_de_poliza, $numero_de_poliza, 0, 0, $cajero);
         $numero_de_poliza = $xPol->get();
         $msg .= "=====\tPOLIZA NUM: {$numero_de_poliza} | TIPO: {$tipo_de_poliza} | EJERCICIO: {$ejercicio_de_poliza} | PERIODO: {$periodo_de_poliza}\r\n";
         $sucess = $xPol->mRaiseError == true ? false : true;
         //seleccionar todos los recibos
         while ($rwP = mysql_fetch_array($rsP)) {
             $dRec = $rwP;
             $numero_de_recibo = $dRec["idoperaciones_recibos"];
             $recibo_fiscal = strlen($dRec["recibo_fiscal"]) > 2 ? ";RF:" . trim($dRec["recibo_fiscal"]) : "";
             $observacion_recibo = $dRec["observacion_recibo"];
             $flujo_efectivo = $dRec["afectacion_en_flujo_efvo"];
             $cheque = strlen($dRec["cheque_afectador"]) > 2 ? ";Ch:" . $dRec["cheque_afectador"] : "";
             $socio = $dRec["numero_socio"];
             $concepto_mvto = substr("R:" . $numero_de_recibo . $recibo_fiscal . $cheque . ";" . $dRec["observacion_recibo"], 0, 80);
             $msg .= "{$numero_de_recibo}\tRECIBO TIPO: " . $dRec["tipo_docto"] . " SUMA: " . $dRec["total_operacion"] . " \r\n";
             //regenera el perfil contable
             //if ( $Regenerar == true ){
             $xUCont = new cUtileriasParaContabilidad();
             $msg .= $xUCont->setRegenerarPrepolizaContable($dRec["fecha_operacion"], $numero_de_recibo);
             //}
             //------------------ Leer la PROFORMA
             $sqlMvtosToPoliza = "SELECT\r\n\t\t\t\t\t`contable_polizas_proforma`.*,\r\n\t\t\t\t\t`operaciones_tipos`.*\r\n\t\t\r\n\t\t\t\t\tFROM\r\n\t\t\t\t\t`operaciones_tipos` `operaciones_tipos`\r\n\t\t\t\t\t\tINNER JOIN `contable_polizas_proforma`\r\n\t\t\t\t\t\t`contable_polizas_proforma`\r\n\t\t\t\t\t\tON `operaciones_tipos`.`idoperaciones_tipos` =\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`tipo_de_mvto`\r\n\t\t\t\t\t\tAND `contable_polizas_proforma`.`numero_de_recibo` = {$numero_de_recibo}\r\n\t\t\t\t\tORDER BY\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`contable_operacion` DESC,\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`socio`,\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`documento`,\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`tipo_de_mvto`\t\t\t\r\n\t\t\t\t\t";
             if ($sucess == true) {
                 //$msg		.= "$sqlMvtosToPoliza\r\n";
                 $rs = mysql_query($sqlMvtosToPoliza, cnnGeneral());
                 if (!$rs) {
                     //error en MYSQL
                     $sucess = false;
                     saveError(2, $_SESSION["SN_b80bb7740288fda1f201890375a60c8f"], "Depurar :" . mysql_error() . "|Numero: " . mysql_errno() . "|Instruccion SQL:" . $sqlMvtosToPoliza . "|EN:" . $_SESSION["current_file"]);
                 }
                 while ($rw = mysql_fetch_array($rs)) {
                     $cuenta = CUENTA_DE_CUADRE;
                     $nombre = "";
                     $socio = $rw["socio"];
                     if (CONTABLE_CUENTAS_POR_SOCIO == true) {
                         $xSoc = new cSocio($socio, true);
                         $nombre = $xSoc->getNombreCompleto();
                     }
                     //si la cuenta es de efectivo o similar
                     $documento = $rw["documento"];
                     $monto_movimiento = $rw["monto"];
                     $tipoOp = $rw["tipo_de_mvto"];
                     $tipo_movimiento = $rw["contable_operacion"];
                     $cargo_movimiento = 0;
                     $abono_movimiento = 0;
                     if ($tipo_movimiento == TM_CARGO) {
                         $cargo_movimiento = $monto_movimiento;
                         $abono_movimiento = 0;
                     } else {
                         $cargo_movimiento = 0;
                         $abono_movimiento = $monto_movimiento;
                     }
                     $formula = $rw["cuenta_contable"];
                     //Corregir de urgencia: OK: 06Oct2011
                     $sForms = new cValorarFormulas();
                     $cuenta = $sForms->getCuentaContable($socio, $documento, $formula, $cajero);
                     $msg .= $sForms->getMessages();
                     if ($cuenta != "NO_CONTABILIZAR") {
                         $xCuenta = new cCuentaContable($cuenta);
                         $cuenta = $xCuenta->get();
                         //Carga los datos del Oficial
                         if ($xCuenta->getEsCuentaDeCirculante() == true) {
                             $nombre = "EFVO:{$UsrName}";
                             $msg .= "CUENTA_ADD\tLa Cuenta {$cuenta} de Carga por Cajero [ {$nombre} ]\r\n";
                         } else {
                             $msg .= "CUENTA\tLa Cuenta de Trabajo es {$cuenta} Originado del Socio {$socio}\r\n";
                         }
                         //verifica para dar de alta a la cuenta
                         $Existentes = $xCuenta->getCountCuenta();
                         if ($Existentes == false) {
                             $msg .= "{$numero_de_recibo}\tCUENTA_ADD\tLa Cuenta de Trabajo {$cuenta} NO EXISTE, Se AGREGA\r\n";
                             $cuenta = $xCuenta->add($nombre);
                             if ($xCuenta->mRaiseError == true) {
                                 //$msg				.= "ERROR\tLa Cuenta de Trabajo $cuenta NO EXISTE\r\n";
                                 //$msg		= $xCuenta->getMessages();
                             }
                         }
                         $xCuenta->init();
                         $msg .= $xCuenta->getMessages();
                         $msg .= $xPol->addMovimiento($cuenta, $cargo_movimiento, $abono_movimiento, "{$socio}:{$documento}:{$tipoOp}", $concepto_mvto);
                     } else {
                         $msg .= "{$numero_de_recibo}\tNO_CONT\tEl Movimiento de {$socio} | {$documento} | {$tipoOp} de Monto {$monto_movimiento} se OMITE\r\n";
                     }
                 }
                 //END MOVIMIENTOS
             } else {
                 $msg .= "{$numero_de_recibo}\tEXISTE UN ERROR AL CARGAR EL RECIBO\r\n";
             }
             //	END SUCESS
         }
         //	END RECIBOS
         $xPol->setReestructurarEfvo();
         $msg .= $xPol->setFinalizar();
         $msg .= $xPol->getMessages();
         $this->mIDDePoliza = $xPol->getCodigo();
     }
     //			END VALUE.- GENERAR AL CIERRE DEL DIA
     //}		//			END VALUE.- GENERAR CONTABILIDAD
     return $msg;
 }
     $ejercicio = $id;
     $xUCont = new cUtileriasParaContabilidad();
     $msg .= $xUCont->setGenerarSaldosDelEjercicio($ejercicio);
     break;
 case 1102:
     //regenerar perfil contable de polizas
     $Fecha = $id;
     $xUCont = new cUtileriasParaContabilidad();
     $msg .= "============ GENERAR PREPOLIZAS CONTABLES AL {$Fecha} \r\n";
     $msg .= $xUCont->setRegenerarPrepolizaContable($Fecha);
     break;
 case 1103:
     //numero de recibo
     $Recibo = $id;
     $Regenerar = strtoupper($id2) == "SI" ? true : false;
     $xUCont = new cUtileriasParaContabilidad();
     if ($Regenerar == true) {
         $msg .= $xUCont->setRegenerarPrepolizaContable(false, $Recibo);
     }
     $msg .= "============\t\r\n";
     $msg .= "============\tGENERAR POLIZA CONTABLE DEL RECIBO {$Recibo} \r\n";
     $msg .= "============\t\r\n";
     $msg .= $xUCont->setPolizaPorRecibo($Recibo);
     //
     break;
 case 1104:
     //
     $cajero = $id;
     $fecha = $id2;
     $numero_de_poliza = $id3 == "NUMERO_DE_POLIZA" ? false : $id3;
     $xUCont = new cUtileriasParaContabilidad();
/**
 * @deprecated		v2012.02
 */
function PolizaPorRecibo($recibo, $generador = false)
{
    $msg = "";
    $xCUtil = new cUtileriasParaContabilidad();
    $msg .= $xCUtil->setPolizaPorRecibo($recibo, $generador);
    return $msg;
}
function jsaRegenerarPrepoliza($recibo)
{
    $xUtilCont = new cUtileriasParaContabilidad();
    $xUtilCont->setRegenerarPrepolizaContable(false, $recibo);
    return $xUtilCont->getMessages(OUT_HTML);
}