function jsaEliminarPoliza($clave)
{
    $xPol = new cPoliza(false);
    $xPol->setPorCodigo($clave);
    $xPol->init();
    $xPol->setDeletePoliza();
    return $xPol->getMessages(OUT_HTML);
}
function jsaGuardarPolizas($fecha, $tipo, $centrocosto, $concepto)
{
    $xF = new cFecha();
    $fecha = $xF->getFechaISO($fecha);
    $xPol = new cPoliza($tipo);
    $xPol->add($concepto, $fecha, false, 0, 0, false, $centrocosto);
    return $xPol->getMessages();
}
function jsaEliminarPoliza($poliza)
{
    $xPol = new cPoliza(false);
    $xPol->setPorCodigo($poliza);
    $msg = "";
    $xPol->setDeletePoliza();
    $msg .= $xPol->getMessages(OUT_HTML);
    return $msg;
}
function jsaEditarPoliza($idtipopol, $idpoliza, $idfechapol, $idconceptopol, $cargos, $abonos, $NumeroAnterior)
{
    $msg = "";
    $idfechapol = getFechaUS($idfechapol);
    $cPol = new cPoliza($idtipopol, $idpoliza);
    //"numeropoliza" 	=> $idpoliza,
    $arrUPol = array("tipopoliza" => $idtipopol, "concepto" => "{$idconceptopol}", "fecha" => "{$idfechapol}", "cargos" => $cargos, "abonos" => $abonos);
    $cPol->setUpdatePoliza($arrUPol);
    if ($cPol->mRaiseError == true) {
        $msg .= $cPol->getMessages("html");
    } else {
        $msg .= "Poliza {$idpoliza} guardada";
    }
    //my_query($sqlup);
    //return  "<p class='aviso'>$sqlup</p>";
    //ACTUALIZAR MOVIMIENTOS
    /**
     * PASO 1 .- Seleccionar los Movimientos
     * PASO 2 .- Revertir el Movimiento
     * PASO 3 .- Eliminar el Movimiento
     * PASO 4 .- Agregar con los mismo Datos el Movimiento
     */
    return $msg;
}
 /**
  * Genera las polizas del dia por Cajero
  * @param date $fecha
  */
 function setGenerarPolizasAlCierre($fecha = false)
 {
     $xLi = new cSQLListas();
     $ql = new MQL();
     $msg = "";
     $otros = " AND (`operaciones_recibostipo`.`tipo_poliza_generada` != 999) AND `operaciones_recibos`.`total_operacion` > 0 ";
     $sql = $xLi->getListadoDeRecibos("", "", "", $fecha, $fecha, $otros);
     $rs = $ql->getDataRecord($sql);
     foreach ($rs as $rw) {
         $recibo = $rw["numero"];
         $xPol = new cPoliza(false);
         if ($xPol->setPorRecibo($recibo) == true) {
             $msg .= "WARN\tLa Poliza del recibo {$recibo} Existe con el ID " . $xPol->getCodigoUnico() . "\r\n";
         } else {
             $msg .= $this->setRegenerarPrepolizaContable($fecha, $recibo);
             $msg .= $this->setPolizaPorRecibo($recibo, true);
             if ($xPol->setPorRecibo($recibo) == false) {
                 $msg .= "ERROR\tAl generar la Poliza del recibo {$recibo}\r\n";
             }
         }
         $msg .= $xPol->getMessages();
     }
     $this->mMessages .= $msg;
     return $msg;
 }
 function setEditar($cuenta, $cargo = false, $abono = false, $referencia = false, $concepto = false, $diario = DEFAULT_CONTABLE_DIARIO_MVTOS)
 {
     $xLog = new cCoreLog();
     //,$NumMvto = false, $Fecha = false
     $xCta = new cCuentaContableEsquema($cuenta);
     $cuenta = $xCta->CUENTA;
     $rebuild = false;
     if ($cargo !== false) {
         $cargo = setNoMenorQueCero($cargo);
         if ($cargo != $this->mCargo) {
             $rebuild = true;
             $this->mCargo = $cargo;
             $this->mAbono = 0;
         }
     }
     $referencia = $referencia == false ? $this->mObj->referencia()->v(OUT_TXT) : $referencia;
     $concepto = $concepto == false ? $this->mObj->concepto()->v(OUT_TXT) : $concepto;
     if ($abono !== false) {
         $abono = setNoMenorQueCero($abono);
         if ($abono != $this->mAbono) {
             $rebuild = true;
             $this->mAbono = $abono;
             $this->mCargo = 0;
         }
     }
     if ($this->mNumeroCuenta != $cuenta) {
         $rebuild = true;
         $this->mNumeroCuenta = $cuenta;
     }
     //========================
     if ($rebuild == true) {
         //eliminar
         $this->setEliminar();
         //agregar
         $xPol = new cPoliza($this->mTipoDePoliza);
         $xPol->setPorCodigo($this->getCodigoDePoliza());
         $xPol->addMovimiento($this->mNumeroCuenta, $this->mCargo, $this->mAbono, $referencia, $concepto, $this->mNumeroDeMvto);
         $xLog->add($xPol->getMessages(), $xLog->DEVELOPER);
     } else {
         $sql = "UPDATE contable_movimientos\n\t\t\tSET referencia='{$referencia}', concepto='{$concepto}' \n\t\t\tWHERE clave_unica= " . $this->mCodigoUnico;
         $ql = new MQL();
         $ql->setRawQuery($sql);
     }
     $this->mMessages .= $xLog->getMessages();
     return $xLog->getMessages();
 }
function jsaSetGenerarPolizaPorRecibo($numero)
{
    if (setNoMenorQueCero($numero) > 0) {
        $Recibo = $numero;
        $xPol = new cPoliza(false);
        $idpoliza = "";
        $msg = "";
        if ($xPol->setPorRecibo($numero) == true) {
            $idpoliza = $xPol->getCodigo();
        } else {
            $xUCont = new cUtileriasParaContabilidad();
            $xUCont->setRegenerarPrepolizaContable(false, $Recibo);
            $xUCont->setPolizaPorRecibo($Recibo);
            $idpoliza = $xUCont->getIDPoliza();
            $msg .= $xUCont->getMessages();
        }
        $msg .= $xPol->getMessages();
        //exportar
        $xPolCW = new cPolizaCompacW(0);
        $xPolCW->initByID($idpoliza);
        $xPolCW->setRun();
        $msg .= $xPolCW->getMessages();
        $strDown = $xPolCW->setExport();
        if (MODO_DEBUG == true) {
            $xLog = new cFileLog();
            $xLog->setWrite($msg);
            $strDown .= $xLog->getLinkDownload("TR.Eventos");
        }
        $xBtn = new cHButton();
        return $xBtn->getBasic("TR.Modificar Poliza", "jsModificarPoliza('{$idpoliza}')", $xBtn->ic()->EDITAR, "cmdeditpoliza") . $strDown;
    } else {
        return "NO HAY REGISTRO QUE GENERAR [{$numero}]";
    }
}