Exemplo n.º 1
0
 function TrasladoBrutal($Motivo)
 {
     $IdComprobante = $this->_IdComprobante;
     $IdPedido = $this->_IdPedido;
     $linea = 0;
     $totalimporte = 0;
     $Origen = $this->_origen;
     $Destino = $this->_destino;
     $igv = getSesionDato("IGV");
     $marcadotrans = getSesionDato("CarritoTrans");
     $Trans = getSesionDato("CarritoMover");
     $aSeries = getSesionDato("CarritoMoverSeries");
     $almacenes = new almacenes();
     $articulo = new articulo();
     foreach ($marcadotrans as $idarticulo) {
         $oProducto = new producto();
         $articulo->Load($idarticulo);
         $oProducto->Load($articulo->get("IdProducto"));
         $cantidad = 0;
         $idproducto = $articulo->get("IdProducto");
         $precio = round($Trans['Precio' . $idarticulo], 2);
         $costo = round($Trans['Costo' . $idarticulo], 2);
         $mSeleccion = $Trans[$idarticulo];
         $aSeleccion = explode("~", $mSeleccion);
         $esSerie = $aSeries[$idarticulo] ? true : false;
         foreach ($aSeleccion as $Pedido) {
             $aPedido = explode(":", $Pedido);
             $IdPedidoDet = $aPedido[0];
             //Kardex
             $cantidad = $aPedido[1];
             $LoteVence = isset($aPedido[3]) ? $aPedido[3] : 0;
             $totalimporte += $precio * $cantidad;
             $existencias = $almacenes->obtenerExistenciasKardex($idproducto, $Origen);
             //Control
             if ($existencias < $cantidad) {
                 return;
             }
             //Ventas
             $IdComprobanteDet = registrarDetalleTrasladoSalida($idproducto, $cantidad, $costo, $precio, $IdComprobante, $IdPedidoDet, $esSerie, $LoteVence);
             //Compras
             $nwIdPedidoDet = registrarDetalleTrasladoEntrada($IdPedido, $idproducto, $LoteVence, $cantidad, $costo, $precio, $esSerie);
             //Numeros de Series
             registrarTrasladoSeries($Origen, $Destino, $IdPedido, $nwIdPedidoDet, $IdPedidoDet, $idarticulo, $idproducto, $IdComprobante);
             //Kardex
             registrarTrasladoKardexFifo($Origen, $idproducto, $IdPedidoDet, $IdComprobanteDet, $costo, $cantidad, $existencias, $Motivo);
             //Kadex costo almacen
             $almacenes->actualizarCosto($idproducto, $Origen);
             //Kadex resumen almacen
             actualizaResumenKardex($idproducto, $Origen);
         }
     }
     //Importes Compras & Ventas
     registrarImportesTraslado($totalimporte, $IdComprobante, $IdPedido, $Motivo);
 }
Exemplo n.º 2
0
function genXulComboAlmacenes($selected = false, $xul = "menuitem", $callback = false)
{
    $alm = new almacenes();
    $arrayTodos = $alm->listaTodosConNombre();
    $out = "";
    $call = "";
    foreach ($arrayTodos as $key => $value) {
        if ($callback) {
            $call = "oncommand=\"{$callback}('{$key}')\"";
        }
        if ($key != $selected) {
            $out .= "<{$xul} value='{$key}' label='{$value}' {$call}/>";
        } else {
            $out .= "<{$xul} value='{$key}' label='{$value}' selected='true' {$call}/>";
        }
    }
    return $out;
}
Exemplo n.º 3
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.º 4
0
function getSesionDato($nombre)
{
    global $debug_mode;
    switch ($nombre) {
        case "series":
            if (!isset($_SESSION[$nombre])) {
                $_SESSION[$nombre] = array();
            }
            return $_SESSION[$nombre];
        case "seriesbuy":
            if (!isset($_SESSION[$nombre])) {
                $_SESSION[$nombre] = array();
            }
            return $_SESSION[$nombre];
        case "fechagarantia":
            if (!isset($_SESSION[$nombre])) {
                $_SESSION[$nombre] = array();
            }
            return $_SESSION[$nombre];
        case "postCompraListado":
            if ($_SESSION[$nombre]) {
                $_SESSION[$nombre] = true;
            }
            return $_SESSION[$nombre];
        case "xdtCarritoCompras":
            if (!isset($_SESSION[$nombre])) {
                $_SESSION[$nombre] = array();
            }
            return $_SESSION[$nombre];
        case "seriescart":
            if (!isset($_SESSION[$nombre])) {
                $_SESSION[$nombre] = array();
            }
            return $_SESSION[$nombre];
        case "idprodserie":
            if (!isset($_SESSION[$nombre])) {
                $_SESSION[$nombre] = array();
            }
            return $_SESSION[$nombre];
        case "idprodseriebuy":
            if (!isset($_SESSION[$nombre])) {
                $_SESSION[$nombre] = array();
            }
            return $_SESSION[$nombre];
        case "idprodseriecart":
            if (!isset($_SESSION[$nombre])) {
                $_SESSION[$nombre] = array();
            }
            return $_SESSION[$nombre];
        case "cantserie":
            if (!isset($_SESSION[$nombre])) {
                $_SESSION[$nombre] = array();
            }
            return $_SESSION[$nombre];
        case "modoserie":
            if (!isset($_SESSION[$nombre])) {
                $_SESSION[$nombre] = array();
            }
            return $_SESSION[$nombre];
        case "fechavencimiento":
            if (!isset($_SESSION[$nombre])) {
                $_SESSION[$nombre] = array();
            }
            return $_SESSION[$nombre];
        case "codigolote":
            if (!isset($_SESSION[$nombre])) {
                $_SESSION[$nombre] = array();
            }
            return $_SESSION[$nombre];
        case "garantia":
            if (!isset($_SESSION[$nombre])) {
                $_SESSION[$nombre] = array();
            }
            return $_SESSION[$nombre];
        case "CarritoProd":
        case "CarritoTrans":
            if (!isset($_SESSION[$nombre])) {
                $_SESSION[$nombre] = array();
            }
            return $_SESSION[$nombre];
        case "CarritoTransSeries":
            if (!isset($_SESSION[$nombre])) {
                $_SESSION[$nombre] = array();
            }
            return $_SESSION[$nombre];
        case "CarritoMover":
        case "PerfilActivo":
        case "CarroCostesCompra":
        case "CarritoCompras":
            //Esta mal pero funciona (?) y si lo arreglas deja de funcionar (?!)
            if (!isset($_SESSION[$nombre])) {
                return $_SESSION[$nombre] = array();
            }
            if (is_array($_SESSION[$nombre])) {
                return $_SESSION[$nombre] = array();
            }
            return unserialize($_SESSION[$nombre]);
        case "Parametros":
            if (isset($_SESSION[$nombre])) {
                return $_SESSION[$nombre];
            }
            $row = queryrow("SELECT * FROM ges_parametros", "Cargando parametros");
            $_SESSION[$nombre] = $row;
            return $row;
        case "ModoCarritoAlmacen":
            if (!isset($_SESSION[$nombre])) {
                $_SESSION[$nombre] = 'g';
            }
            return $_SESSION[$nombre];
        case "TipoVentaTPV":
            if (isset($_SESSION[$nombre])) {
                return $_SESSION[$nombre];
            }
            //return $_SESSION[$nombre];
        //return $_SESSION[$nombre];
        case "IdLenguajeDefecto":
            //Idioma para productos en altas, bajas, etc...
            if (isset($_SESSION[$nombre])) {
                return $_SESSION[$nombre];
            }
            $lang = getIdFromLang("es");
            $_SESSION[$nombre] = $lang;
            return $lang;
        case "IdTienda":
        case "IdUsuario":
            if (isset($_SESSION[$nombre])) {
                return $_SESSION[$nombre];
            }
            return false;
        case "IdLenguajeInterface":
            //Idioma del usuario
            //TODO:
            // leer del usuario
            return getSesionDato("IdLenguajeDefecto");
        case "ComboAlmacenes":
            if (isset($_SESSION[$nombre])) {
                return $_SESSION[$nombre];
            }
            $out = genComboAlmacenes();
            $_SESSION[$nombre] = $out;
            return $out;
        case "Almacen":
            return new almacenes();
            //obsoleto
        //obsoleto
        case "Articulos":
            return new articulo();
        case "AlmacenCentral":
            $local = new local();
            if ($local->LoadCentral()) {
                return $local;
            }
            error(__FILE__ . __LINE__, "E: no pudo cargar el almacén central");
            return false;
        case "ArrayTiendas":
            if (isset($_SESSION["ArrayTiendas"])) {
                return $_SESSION["ArrayTiendas"];
            }
            $alm = new almacenes();
            $arrayTodos = array_keys($alm->listaTodosConNombre());
            $_SESSION["ArrayTiendas"] = $arrayTodos;
            return $arrayTodos;
        case "hayCarritoCompras":
            if (!isset($_SESSION["CarritoCompras"])) {
                return false;
            }
            $val = $_SESSION["CarritoCompras"];
            if (!is_array($val) and count($val)) {
                return false;
            }
            return true;
        case "hayCarritoTrans":
            if (!isset($_SESSION["CarritoTrans"])) {
                return false;
            }
            $val = $_SESSION["CarritoTrans"];
            if (!is_array($val) and count($val)) {
                return false;
            }
            if ($val == 0 or $val == array()) {
                return false;
            }
            if (count($val) == 0) {
                return false;
            }
            return true;
        case "hayCarritoProd":
            if (!isset($_SESSION["CarritoProd"])) {
                return false;
            }
            $val = $_SESSION["CarritoProd"];
            if (!is_array($val) and count($val)) {
                return false;
            }
            return true;
        case "hayCarritoFam":
            if (!isset($_SESSION["CarritoFam"])) {
                return false;
            }
            $val = $_SESSION["CarritoFam"];
            if (!is_array($val) and count($val)) {
                return false;
            }
            return true;
        case "detadoc":
            if (!isset($_SESSION[$nombre])) {
                $detadoc = array();
                $detadoc[0] = 'SD';
                $detadoc[1] = '1';
                $detadoc[2] = 'CASAS VARIAS';
                $detadoc[3] = false;
                $detadoc[4] = false;
                $detadoc[5] = 1;
                $detadoc[6] = false;
                $detadoc[7] = false;
                $detadoc[8] = false;
                $detadoc[9] = false;
                $detadoc[10] = false;
                $detadoc[11] = false;
                $detadoc[12] = false;
                $detadoc[13] = 0;
                $detadoc[14] = 0;
                $_SESSION[$nombre] = $detadoc;
            }
            return $_SESSION[$nombre];
        case "PaginadorCliente":
        case "PaginadorSeleccionCompras2":
        case "PaginadorSeleccionCompras":
        case "PaginadorCompras":
        case "PaginadorProv":
        case "PaginadorListaProv":
        case "PaginadorLab":
        case "PaginadorListaLab":
        case "PaginadorAlmacen":
        case "PaginadorListaProd":
        case "PaginadorSeleccionAlmacen":
        case "PaginadorListaFam":
        case "PaginadorListaSubFam":
            if (!isset($_SESSION[$nombre])) {
                return false;
            }
            return intval($_SESSION[$nombre]);
            break;
        case "incImpuestoDet":
        case "descuentos":
        case "incPercepcionDet":
        case "aCredito":
        case "FiltraLab":
        case "FiltraAlias":
        case "FiltraMarca":
        case "FiltraColor":
        case "FiltraTalla":
        case "FiltraBase":
        case "FiltraBase":
        case "FiltraProv":
            if (!isset($_SESSION[$nombre])) {
                return false;
            }
            return $_SESSION[$nombre];
            break;
        default:
            return isset($_SESSION[$nombre]) ? $_SESSION[$nombre] : false;
    }
}
Exemplo n.º 5
0
function actualizaResumenKardex($id, $idlocal)
{
    $idlocal = CleanID($idlocal);
    $id = CleanID($id);
    $tabla = obtenerInventarioProductoFifo($id, $idlocal);
    $resumenkardex = '';
    $almacenes = new almacenes();
    $xunidades = 0;
    for ($i = 0; $i < count($tabla); $i++) {
        //$costo       = $tabla[$i][0];
        $unidades = $tabla[$i][1];
        $idpedidodet = $tabla[$i][2];
        $dx = $i == 0 ? "" : "~";
        $resumenkardex .= $dx . $idpedidodet . ":" . $unidades;
        $xunidades += $unidades;
    }
    //Ordena pedidosdet por vencimiento
    $resumenkardex = ordenarPedidosDet4Vencimiento($resumenkardex, $id, $idlocal);
    $almacenes->actualizaResumenKardex($resumenkardex, $idlocal, $id);
    $almacenes->AgnadeCantidad($id, $xunidades, $idlocal);
}
Exemplo n.º 6
0
?>
"/>
<script><![CDATA[



var id2nombreAlmacenes   = new Array();
var id2nombreProveedores = new Array();

<?php 
$prov = new proveedor();
$arrayTodos = $prov->listaTodosConNombre();
foreach ($arrayTodos as $key => $value) {
    echo "id2nombreProveedores[{$key}] = '" . addslashes($value) . "';\n";
}
$alm = new almacenes();
$arrayTodos = $alm->listaTodosConNombre();
$out = "";
$call = "";
foreach ($arrayTodos as $key => $value) {
    echo "id2nombreAlmacenes[{$key}] = '" . addslashes($value) . "';\n";
}
//Lanzar TPV
if ($lanzarTPV && Admite("TPV")) {
    echo "setTimeout('lanzarTPV()',4200);";
}
?>
;	

var myBrowser = false;
var olddoc = false;
Exemplo n.º 7
0
function CrearLocal($nombre, $nombrelegal, $direccion, $poblacion, $codigopostal, $telefono, $fax, $movil, $email, $paginaweb, $cuentabancaria, $pass, $identificacion, $idpais, $idioma, $margen, $tipomargen, $igv, $ipc, $esPass)
{
    $oLocal = new local();
    $oLocal->Crea();
    $oLocal->set("NombreComercial", $nombre, FORCE);
    $oLocal->set("NombreLegal", $nombrelegal, FORCE);
    $oLocal->set("DireccionFactura", $direccion, FORCE);
    $oLocal->set("Poblacion", $poblacion, FORCE);
    $oLocal->set("CodigoPostal", $codigopostal, FORCE);
    $oLocal->set("Telefono", $telefono, FORCE);
    $oLocal->set("Fax", $fax, FORCE);
    $oLocal->set("Movil", $movil, FORCE);
    $oLocal->set("Email", $email, FORCE);
    $oLocal->set("PaginaWeb", $paginaweb, FORCE);
    $oLocal->set("CuentaBancaria", $cuentabancaria, FORCE);
    $oLocal->set("Password", md5($pass), FORCE);
    $oLocal->set("Identificacion", $identificacion, FORCE);
    $oLocal->set("IdPais", $idpais, FORCE);
    $oLocal->set("IdIdioma", getIdFromLang("es"), FORCE);
    $oLocal->set("MargenUtilidad", $margen, FORCE);
    $oLocal->set("TipoMargenUtilidad", $tipomargen, FORCE);
    $oLocal->set("Impuesto", $igv, FORCE);
    $oLocal->set("Percepcion", $ipc, FORCE);
    $oLocal->set("AdmitePassword", $esPass, FORCE);
    if ($oLocal->Alta()) {
        invalidarSesion("ListaTiendas");
        $alm = new almacenes();
        $arrayTodos = array_keys($alm->listaTodosConNombre());
        $_SESSION["ArrayTiendas"] = $arrayTodos;
        //TODO: aqui tenemos una ligadura fuerte entre un modulo y la aplicación.
        // esto se debe automatizar para que la ligadura sea debil.
        $oLocal->IniciarArqueos();
        return true;
    } else {
        //echo gas("aviso",_("No se ha podido registrar el nuevo local"));
        return false;
    }
}
Exemplo n.º 8
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;
}
Exemplo n.º 9
0
     $esInvent = $_GET["xinventario"] == "Inventario" ? true : false;
     $esPendInvent = $_GET["xestinvent"] == "Pendiente" ? true : false;
     //EstadoInventario
     $IdComprobante = 0;
     //Control si Inventario es Pendiente => IdInventrario != 0
     if ($esPendInvent && $xIdInvent == 0) {
         return;
     }
     //Inventario? ó Inventario Nuevo?
     $IdInventario = $esInvent ? registraInventario($tipInvent, $IdLocal, $IdPedido, $IdComprobante) : 0;
     //Agregar lista Inventario
     actualizaIdInventarioToKardex($IdLocal, $IdInventario, $IdProducto);
     //Ventas Precios
     registrarPreciosVentaAlmacen($PVD, $PVDD, $PVC, $PVCD, $IdArticulo);
     if ($IdInventario && $esInvent) {
         $almacenes = new almacenes();
         $almacenes->actualizaEstadoInventario($IdLocal, $IdProducto);
     }
     //Retorna IdInventario, IdPedido & IdComprobante
     echo "1~" . $IdInventario . "~" . $IdPedido . "~" . $IdComprobante;
     exit;
     break;
 case "kdxSalidaExistencias":
     $IdArticulo = CleanID($_GET["xarticulo"]);
     $IdProducto = CleanID($_GET["xproducto"]);
     $IdLocal = CleanID($_GET["xlocal"]);
     $IdPedido = CleanID($_GET["xpedido"]);
     //IdPedido
     $xIdComprobante = CleanID($_GET["xcomprobante"]);
     //IdComprobante
     $Costo = CleanDinero($_GET["xcosto"]);