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); }
function EjecutarTicket($idDependiente, $entregado, $IdLocal, $IdCliente, $modoTicket, $entregaEfectivo, $entregaBono, $entregaTarjeta, $cambio, $modoTPV, $IdMProducto, $Estado, $IdMetaProducto) { global $TotalImporte; global $ImporteNeto; global $IvaImporte; global $carrito, $UltimaInsercion; global $trabajos; $ImporteNeto = $TotalImporte - $IvaImporte; $IGV = getSesionDato("IGV"); $CBMP = $modoTicket == "endmproducto" ? $IdMProducto : generaCBMP(); $TipoVenta = getSesionDato("TipoVentaTPV"); $vigencia = getSesionDato("VigenciaPresupuesto"); $SerialNum = ""; //Ensamblaje if ($modoTicket == "mproducto") { $esquema = " IdProducto, IdLocal, FechaRegistro, TipoVentaOperacion," . " UsuarioAlmacen, Costo , Status, CBMetaProducto, IdCliente,VigenciaMetaProducto"; $datos = " '{$IdMProducto}', '{$IdLocal}', NOW(),'{$TipoVenta}'," . " '{$idDependiente}', '{$TotalImporte}','{$Estado}','{$CBMP}','{$IdCliente}','{$vigencia}' "; //IdProducto IdLocal Fecha UsuarioAlmacen Costo Estado $sql = "INSERT INTO ges_metaproductos (" . $esquema . ")" . "VALUES (" . $datos . ")"; $res = query($sql, "Inserta Metaproducto ({$CBMP})"); } //Finaliza... if ($modoTicket == "endmproducto") { //Costo... $sql = " update ges_metaproductos " . " set Costo = '" . $TotalImporte . "'," . " IdCliente = '" . $IdCliente . "'" . " where IdMetaProducto = '" . $IdMetaProducto . "'"; $res = query($sql, "Actualiza TotalCosto MetaProducto ({$IdMProducto})"); //Finaliza MetaProducto... if ($Estado == "Finalizado") { //Registros... $IdProducto = getIdProductoFromIdMetaProducto($IdMetaProducto); $Destino = $IdLocal; $Origen = $IdLocal; $Motivo = '9'; $Codigo = getNextId('ges_comprobantesprov', 'IdComprobanteProv'); //Ventas $IdComprobante = registrarAlbaranOrigen($Destino, $Origen, $Motivo, $Codigo, 0); //Compras... $IdPedido = registrarAlbaranDestino($Destino, $Origen, $Motivo, $Codigo, 'MetaProducto'); $Costo = $TotalImporte; $Precio = abs(intval((abs($TotalImporte) + abs($TotalImporte * $IGV / 100)) * 100) / 100.0); $LoteVence = 0; $Cantidad = 1; //Detale Mproducto... $IdPedidoDet = registrarDetalleTrasladoEntrada($IdPedido, $IdProducto, $LoteVence, $Cantidad, $Costo, $Precio, true); //Series Mproducto... registrarNumeroSerieExtra($IdProducto, $IdPedidoDet, $CBMP, false, 'Pedido', 'MetaProducto', '0'); //Fecha ensamblaje... $sql = " update ges_metaproductos " . " set FechaEnsamblaje = NOW(),IdComprobante = " . $IdComprobante . " where FechaEnsamblaje = '0000-00-00 00:00:00'" . " and IdMetaProducto = '" . $IdMetaProducto . "'"; query($sql); //Importes Compras & Ventas registrarImportesTraslado($TotalImporte, $IdComprobante, $IdPedido, '9'); } } if (!$res) { return false; } //Detalles... if ($modoTicket != "endmproducto") { $IdMetaProducto = $UltimaInsercion; } if ($modoTicket == "endmproducto") { setDelDetMetaProducto($IdMetaProducto); } foreach ($carrito as $fila) { //Detalle Mproducto... $fila->AltaMProductos($IdMetaProducto); //Detalle Albaran... if ($Estado == "Finalizado" && $modoTicket == "endmproducto") { $fila->Alta($IdComprobante, $SerialNum, $IdLocal, "venta"); } } //Numero Pre-Venta return $CBMP; }