Exemplo n.º 1
0
 function Alta($IdComprobante, $SerialNum, $local, $documentoventa)
 {
     $this->IdComprobante = $IdComprobante;
     $almacenes = new almacenes();
     $aPedidoDet = explode(",", $this->pedidodet);
     //IdPedidoDet:unidades:Serie;Serie,...
     $aStatus = explode("~", $this->status);
     //Serie~Lote~Vence...
     //Filas...
     foreach ($aPedidoDet as $xrow) {
         global $UltimaInsercion;
         $axrow = explode(":", $xrow);
         $idpedidodet = isset($axrow[1]) ? $axrow[0] : 0;
         $unidades = isset($axrow[1]) ? $axrow[1] : $this->unidades;
         $xnseries = isset($axrow[2]) ? $axrow[2] : false;
         $xnseries = isset($axrow[2]) ? str_replace(";", ",", $xnseries) : false;
         //$importe     = ($this->importe)/$unidades;
         $importe = $unidades * $this->unidadimporte;
         //ComprobanteDet...
         $Keys = "IdComprobante,";
         $Values = "'" . $IdComprobante . "',";
         $Keys .= "IdProducto,";
         $Values .= "'" . $this->idproducto . "',";
         $Keys .= "IdPedidoDet,";
         $Values .= "'" . $idpedidodet . "',";
         $Keys .= "Cantidad,";
         $Values .= "'" . $unidades . "',";
         $Keys .= "Precio,";
         $Values .= "'" . $this->precio . "',";
         $Keys .= "CostoUnitario,";
         $Values .= "'" . $this->costo . "',";
         $Keys .= "Descuento,";
         $Values .= "'" . $this->descuento . "',";
         $Keys .= "Importe,";
         $Values .= "'" . $importe . "',";
         $Keys .= "Impuesto,";
         $Values .= "'" . $this->impuesto . "',";
         $Keys .= "Concepto,";
         $Values .= "'" . $this->concepto . "',";
         $Keys .= "Talla,";
         $Values .= "'" . $this->talla . "',";
         $Keys .= "Color,";
         $Values .= "'" . $this->color . "',";
         $Keys .= "Referencia,";
         $Values .= "'" . $this->referencia . "',";
         $Keys .= "CodigoBarras,";
         $Values .= "'" . $this->codigobarras . "',";
         $Keys .= "Oferta,";
         $Values .= "'" . $this->oferta . "',";
         $Keys .= "Serie,";
         $Values .= "'" . $aStatus[0] . "',";
         $Keys .= "Lote,";
         $Values .= "'" . $aStatus[1] . "',";
         $Keys .= "Vencimiento";
         $Values .= "'" . $aStatus[2] . "'";
         $sql = "insert into ges_comprobantesdet (" . $Keys . ") values (" . $Values . ")";
         query($sql, "Detalle ticket");
         $this->nticket = $SerialNum;
         $idcomprobantedet = $UltimaInsercion;
         //Existencias...
         $existencias = $almacenes->obtenerExistenciasKardex($this->idproducto, $local);
         if ($unidades > $existencias) {
             continue;
         }
         //Series...
         if (isset($axrow[2])) {
             registraSalidaSeriesPedidoDet($this->idproducto, $IdComprobante, $xnseries, $idpedidodet);
         }
         //Kardex...
         $Operacion = 2;
         //Venta
         if (isset($axrow[1])) {
             registrarSalidaKardexFifo($this->idproducto, $unidades, $this->costo, $Operacion, $local, $idpedidodet, $idcomprobantedet, $existencias, false, false, false);
         }
         //Almacen Kardex...
         $almacenes->actualizarCosto($this->idproducto, $local);
         $almacenes->actualizaOfertaUnidades($this->idproducto, $local, $this->oferta);
         actualizaResumenKardex($this->idproducto, $local);
     }
 }
Exemplo n.º 2
0
function registrarTrasladoKardexFifo($Origen, $idproducto, $IdPedidoDet, $IdComprobanteDet, $Costo, $Cantidad, $existencias, $Motivo)
{
    $Operacion = $Motivo == 4 ? 4 : 3;
    //3:Traslado Interno 4:Traslado Externo
    registrarSalidaKardexFifo($idproducto, $Cantidad, $Costo, $Operacion, $Origen, $IdPedidoDet, $IdComprobanteDet, $existencias, false, false, false);
}
Exemplo n.º 3
0
function registrarAjusteSalidaKardex($IdComprobante, $Origen, $Operacion = 1, $IdKardexAjusteOperacion = 0, $IdInventario = 0, $Obs = false, $xkeydet, $ckeydet)
{
    $productos = new producto();
    $almacenes = new almacenes();
    $res = obtenerDetalleVentaAjuste($IdComprobante, $ckeydet);
    while ($row = Row($res)) {
        $id = $row['IdProducto'];
        $Costo = $row['CostoUnitario'];
        $Cantidad = $row['Cantidad'];
        $IdPedidoDet = $row['IdPedidoDet'];
        $IdComprobanteDet = $row['IdComprobanteDet'];
        $existencias = $almacenes->obtenerExistenciasKardex($id, $Origen);
        if (isset($xkeydet[$IdComprobanteDet])) {
            if ($xkeydet[$IdComprobanteDet] == $IdPedidoDet) {
                registrarSalidaKardexFifo($id, $Cantidad, $Costo, $Operacion, $Origen, $IdPedidoDet, $IdComprobanteDet, $existencias, $IdKardexAjusteOperacion, $IdInventario, $Obs);
                $almacenes->actualizarCosto($id, $Origen);
                //$productos->actualizarCosto($id,$Costo);
                actualizaResumenKardex($id, $Origen);
                if ($IdInventario) {
                    $almacenes->actualizaEstadoInventario($Origen, $id);
                }
            }
        }
    }
    //echo 1;
}