Exemple #1
0
     exit;
     break;
 case "arquearYAbrirNuevaCaja":
     $IdLocal = intval($_REQUEST["IdLocal"]);
     $row = CalcularUltimoArqueo($IdLocal);
     ActualizarArqueo($row["IdArqueo"], $row);
     MarcarArqueoCerrado($row["IdArqueo"]);
     $row["ImporteCierre"] = getImporteCierre($row["IdArqueo"]);
     // echo InsertarNuevaCaja($row,$IdLocal);
     exit;
     break;
 case "soloAbrirCaja":
     $IdLocal = intval($_REQUEST["IdLocal"]);
     $row = CalcularUltimoArqueo2($IdLocal);
     $mov = new movimiento();
     $esCajaAbierta = $mov->GetArqueoActivo($IdLocal);
     if ($esCajaAbierta != 0) {
         echo "-1";
         return;
     }
     echo InsertarNuevaCaja($row, $IdLocal);
     exit;
     break;
 case "actualizarCantidadCaja":
     $IdLocal = intval($_REQUEST["IdLocal"]);
     $cantidad = CleanFloat($_REQUEST["cantidad"]);
     actualizarCantidadCaja($IdLocal, $cantidad);
     exit;
     break;
 case "hacerOperacionDinero":
     /*+++++++++++ VALIDA CAJA +++++++++++++++*/
Exemple #2
0
function setStatusPresupuestoTPV($IdPresupuesto, $Opcion)
{
    $TipoVenta = getSesionDato("TipoVentaTPV");
    $IdLocal = getSesionDato("IdTiendaDependiente");
    $xset = '';
    $xwhere = '';
    switch ($Opcion) {
        case 'CleanPreventa':
            //Cierre Caja
            $xwhere = " WHERE  TipoPresupuesto  = 'Preventa' " . " AND TipoVentaOperacion = '" . $TipoVenta . "'" . " AND Status = 'Pendiente'" . " AND Serie  <> 0" . " AND IdLocal = '" . $IdLocal . "'";
            $xset = "Status = 'Vencido', FechaAtencion = NOW() ";
            break;
        case 'AsociarPreventa':
            $mov = new movimiento();
            $esCajaAbierta = $mov->GetArqueoActivo($IdLocal);
            if ($esCajaAbierta != 0) {
                $xwhere = " WHERE  TipoPresupuesto  = 'Preventa' " . " AND TipoVentaOperacion = '" . $TipoVenta . "'" . " AND Status  = 'Pendiente'" . " AND Serie   = 0" . " AND IdLocal = '" . $IdLocal . "'";
                $xset = " Serie = {$esCajaAbierta}  ";
            }
            break;
        default:
            $xwhere = " WHERE  IdPresupuesto   = '" . $IdPresupuesto . "'" . " AND Status = 'Pendiente'" . " AND TipoVentaOperacion = '" . $TipoVenta . "'" . " AND IdLocal ='" . $IdLocal . "'";
            $xset = "Status = '" . $Opcion . "', FechaAtencion = NOW() ";
    }
    if ($xset == '' && $xwhere == '') {
        return;
    }
    //Ejecuta accion
    $sql = " UPDATE ges_presupuestos " . " SET " . $xset . $xwhere;
    query($sql);
    return 1;
}
Exemple #3
0
function ActualizaPagoAdelantadoPresupuesto($idPresupuesto, $idComprobante, $textCaja)
{
    $sql = " select ImporteAdelanto, TipoVentaOperacion,IdLocal,NPresupuesto " . " from   ges_presupuestos" . " where  IdPresupuesto   = '" . $idPresupuesto . "'";
    $row = queryrow($sql);
    $Monto = $row["ImporteAdelanto"];
    if (!($Monto > 0)) {
        return;
    }
    $TipoVenta = $row["TipoVentaOperacion"];
    $IdLocal = $row["IdLocal"];
    $arqueo = new movimiento();
    $IdArqueo = $arqueo->GetArqueoActivo($IdLocal);
    $FechaCaja = $arqueo->getAperturaCaja($IdLocal, $TipoVenta);
    $IdPartida = $TipoVenta == 'VD' ? 22 : 23;
    $concepto = "Metalico: Adelanto Proforma Nro. " . $row["NPresupuesto"] . " - " . $textCaja;
    //Sustraccion Caja.
    EntregarOperacionCaja($IdLocal, $Monto, $concepto, $IdPartida, 'Sustraccion', $FechaCaja, $IdArqueo, $TipoVenta);
    //Abono Metalico Ticket
    $xpendiente = OperarPagoSobreTicket($idComprobante, $Monto, 0, 0, $textCaja);
}
Exemple #4
0
function DevolverComprobanteTPV($IdComprobante, $Monto, $idDependiente, $Comprobante, $Items)
{
    $IdLocal = getSesionDato("IdTiendaDependiente");
    $TipoVenta = getSesionDato("TipoVentaTPV");
    $TipoComprobante = 'AlbaranInt';
    $Motivo = 4;
    //Devolución
    $Serie = $IdLocal;
    $nroDocumento = $IdComprobante;
    //++++++ COMPROBANTE ++++++++++++
    //Anula y Registra Devoluc Comprobante
    if (!AnularNumeroComprobante($IdComprobante, $IdLocal)) {
        registrarCodigoComprobanteOrigen($IdComprobante, $IdLocal, $Motivo, $TipoVenta);
    }
    //++++++ CAJA ++++++++++++
    //registrar sustraccion por devolucion
    $IdPartida = $TipoVenta == 'VC' ? 16 : 17;
    $concepto = "Devolucion " . $Comprobante;
    $arqueo = new movimiento();
    $IdArqueo = $arqueo->GetArqueoActivo($IdLocal);
    $FechaCaja = $arqueo->getAperturaCaja($IdLocal, $TipoVenta);
    if ($Monto > 0) {
        EntregarOperacionCaja($IdLocal, $Monto, $concepto, $IdPartida, 'Sustraccion', $FechaCaja, $IdArqueo, $TipoVenta);
    }
    //++++++ PREVENTA ++++++++++++
    $textDoc = 'Preventa';
    $codDocumento = explode("-", NroComprobantePreVentaMax($IdLocal, $textDoc, $IdArqueo));
    $sreDocumento = $codDocumento[0] != $IdArqueo ? $IdArqueo : $codDocumento[0];
    $nroDocumento = $codDocumento[0] != $IdArqueo ? 1 : $codDocumento[1];
    //trae comprobante...
    $sql = " select IdCliente,ImporteNeto,ImporteImpuesto," . "        TotalImporte,Impuesto " . " from   ges_comprobantes " . " where  IdComprobante  = '" . $IdComprobante . "' " . " and    Eliminado      = 0 ";
    $res = query($sql);
    $row = Row($res);
    // crea preventa...
    global $UltimaInsercion;
    $Keys = "IdLocal,";
    $Values = "'" . $IdLocal . "',";
    $Keys .= "IdUsuario,";
    $Values .= "'" . $idDependiente . "',";
    $Keys .= "NPresupuesto,";
    $Values .= "'" . $nroDocumento . "',";
    $Keys .= "TipoPresupuesto,";
    $Values .= "'" . $textDoc . "',";
    $Keys .= "TipoVentaOperacion,";
    $Values .= "'" . $TipoVenta . "',";
    $Keys .= "FechaPresupuesto,";
    $Values .= "NOW(),";
    $Keys .= "ImporteNeto,";
    $Values .= "'" . $row["ImporteNeto"] . "',";
    $Keys .= "ImporteImpuesto,";
    $Values .= "'" . $row["ImporteImpuesto"] . "',";
    $Keys .= "Impuesto,";
    $Values .= "'" . $row["Impuesto"] . "',";
    $Keys .= "TotalImporte,";
    $Values .= "'" . $row["TotalImporte"] . "',";
    $Keys .= "Status,";
    $Values .= "'Pendiente',";
    $Keys .= "IdCliente,";
    $Values .= "'" . $row["IdCliente"] . "',";
    $Keys .= "ModoTPV,";
    $Values .= "'venta',";
    $Keys .= "Serie";
    $Values .= "'" . $sreDocumento . "'";
    $sql = "insert into ges_presupuestos (" . $Keys . ") values (" . $Values . ")";
    query($sql);
    //Presupuesto
    $IdPresupuesto = $UltimaInsercion;
    //Historial Venta...
    cargarVenta2HistorialVenta($row["IdCliente"], $row["TotalImporte"], false, false);
    //++++++ DETALLE PREVENTA ++++++++++++
    // trae detalle comprobante...
    $sql = " select IdProducto, " . " sum(Cantidad) as Cantidad, " . " sum(Precio) as Precio, " . " sum(Descuento) as Descuento, " . " sum(Importe) as Importe, " . " Concepto,Talla,Color,Referencia," . " CodigoBarras," . " group_concat(IdPedidoDet) as IdPedidoDet," . " group_concat(IdAlbaran) as IdAlbaran, Serie, IdComprobanteDet " . " from   ges_comprobantesdet " . " where  IdComprobante = '" . $IdComprobante . "' " . " and    Eliminado     = 0 " . " and    IdPedidoDet   <> 0 " . " group  by IdProducto ";
    $res = query($sql);
    if (!$res) {
        return false;
    }
    while ($row = Row($res)) {
        $Keys = "IdPresupuesto,";
        $Values = "'" . $IdPresupuesto . "',";
        $Keys .= "IdProducto,";
        $Values .= "'" . $row['IdProducto'] . "',";
        $Keys .= "Cantidad,";
        $Values .= "'" . $row['Cantidad'] . "',";
        $Keys .= "Precio,";
        $Values .= "'" . $row['Precio'] . "',";
        $Keys .= "Descuento,";
        $Values .= "'" . $row['Descuento'] . "',";
        $Keys .= "Importe,";
        $Values .= "'" . $row['Importe'] . "',";
        $Keys .= "Concepto,";
        $Values .= "'" . $row['Concepto'] . "',";
        $Keys .= "Talla,";
        $Values .= "'" . $row['Talla'] . "',";
        $Keys .= "Color,";
        $Values .= "'" . $row['Color'] . "',";
        $Keys .= "Referencia,";
        $Values .= "'" . $row['Referencia'] . "',";
        $Keys .= "CodigoBarras";
        $Values .= "'" . $row['CodigoBarras'] . "'";
        $sql = "insert into ges_presupuestosdet (" . $Keys . ") values (" . $Values . ")";
        query($sql);
    }
    //++++++ LIBERA SERIES PRODUCTOS COMPROBANTE DETALLE +++++++
    // trae detalle comprobante...
    $sql = " select IdProducto,Cantidad,IdPedidoDet," . "        IdAlbaran,Serie,IdComprobanteDet " . " from   ges_comprobantesdet " . " where  IdComprobante = '" . $IdComprobante . "' " . " and    Eliminado     = 0 " . " and    Serie         = 1 " . " and    IdPedidoDet  <> 0 ";
    $res = query($sql);
    if (!$res) {
        return false;
    }
    while ($row = Row($res)) {
        $DocumentoSalida = $row["IdAlbaran"] ? $row["IdAlbaran"] : $IdComprobante;
        $aSeries = getSeries2IdProductoVentas($DocumentoSalida, $row["IdProducto"], $row["IdPedidoDet"]);
        // retorna las series...
        registraDevolucionSeriesVenta($row["IdProducto"], $IdComprobante, $IdPresupuesto, $aSeries);
        // libera series del detalle comprobante...
        $sql = " update ges_comprobantesdet set Serie = 0 " . " where  IdComprobanteDet=" . $row['IdComprobanteDet'];
        query($sql);
    }
    //++++++ MARCAR PRODUCTOS Y CANTIDAD COMPROBANTES DETALLE ++++++++++
    $xitem = explode("~", $Items);
    foreach ($xitem as $key => $xdet) {
        $xdetalle = explode(":", $xdet);
        $sql = " update ges_comprobantesdet set CantidadDevolucion = " . $xdetalle[1] . " where  IdComprobanteDet=" . $xdetalle[0];
        query($sql);
    }
    //++++++ KARDEX ++++++++++++
    $almacenes = new almacenes();
    $Operacion = 2;
    //Venta - Devolucion
    $sql = " select IdProducto,Cantidad,CostoUnitario," . "        IdPedidoDet,IdComprobanteDet " . " from   ges_comprobantesdet " . " where  IdComprobante  = '{$IdComprobante}' " . " and    IdPedidoDet   <> 0 " . " and    Eliminado      = 0 ";
    $res = query($sql);
    if (!$res) {
        return;
    }
    while ($row = Row($res)) {
        $id = $row['IdProducto'];
        $costo = $row['CostoUnitario'];
        $existencias = $almacenes->obtenerExistenciasKardex($id, $IdLocal);
        $Obs = $concepto;
        // registra ingreso por pedidodet
        registrarEntradaKardexFifo($id, $row['Cantidad'], $costo, $Operacion, $IdLocal, $row['IdPedidoDet'], $existencias, 0, 0, $row['IdComprobanteDet'], $Obs);
        // actualiza registros kardex
        $almacenes->actualizarCosto($id, $IdLocal);
        actualizaResumenKardex($id, $IdLocal);
    }
    return " ~" . $IdPresupuesto;
}