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); }
//Ajustes //$Ajuste -> ~IdPedidoDet:Cantidad:Precio //$Series -> ~IdPedidoDet:Series,Series $aAjustes = explode("~", $Ajustes); $nAjustes = count($aAjustes); $aSeries = explode("~", $Series); $nSeries = count($aSeries); $xkeydet = array(); $ckeydet = ''; $xsrt = ''; for ($i = 0; $i < $nAjustes; $i++) { $Ajuste = explode(":", $aAjustes[$i]); $IdPedidoDet = $Ajuste[0]; $Cantidad = $Ajuste[1]; //Venta AlbaranInt Detalle $xkey = registrarDetalleTrasladoSalida($IdProducto, $Cantidad, $Costo, $Precio, $IdComprobante, $IdPedidoDet, $esSerie, $LoteVence); //Salva id detalle $xkeydet[$xkey] = $IdPedidoDet; $ckeydet .= $xsrt . $xkey; $xsrt = ','; //Series if ($esSerie) { $Serie = explode(":", $aSeries[$i]); $cSeries = $Serie[1]; registrarAjusteSalidaSeries($Origen, $IdComprobante, $IdProducto, $cSeries, $IdPedidoDet); } } //Venta AlbaranInt Importes ConsolidaDetalleVenta($IdComprobante, false); //Inventario? ó Inventario Nuevo? $IdInventario = $esInvent ? registraInventario($tipInvent, $IdLocal, $IdPedido, $IdComprobante) : 0;