function CrearOrdenDeCompra($idLocal) { $id = getSesionDato("DestinoAlmacen"); //echo gas("Nota","Se ha enviado una orden de compra"); //echo "Localid $id<br>"; $oPedido = new pedido(); $oPedido->Crea(); $oPedido->set("IdAlmacenRecepcion", $idLocal, FORCE); $compras = getSesionDato("CarritoCompras"); $costes = getSesionDato("CarroCostesCompra"); foreach ($compras as $id => $unidades) { //TODO: el proveedor podria ser distinto del proveedor habitual // ..aqui asumimos que son iguales. $idproveedor = getIdProveedorFromIdProducto($id); $idlaboratorio = getIdLaboratorioFromIdProducto($id); //Añade una fila de orden de compra $oPedido->AgnadirProducto($id, $unidades, $costes[$id], $idproveedor, $idlaboratorio); } $idOrden = $oPedido->Alta(); return $idOrden; }
function ListarAlmacen($referencia, $donde, $marcadotrans = false, $cb = false, $idbase = false, $soloLlenos = false, $obsoletos = false, $soloNS = false, $soloLote = false, $soloOferta = false, $reservados = false) { global $action, $tamPagina; $base = getSesionDato("BusquedaProdBase"); $ot = getTemplate("ListadoMonoProductoMultiAlmacen"); if (!$ot) { error(__FILE__ . __LINE__, "Info: template no encontrado"); return false; } //Extraemos datos $almacen = getSesionDato("Articulos"); $IdLocal = $donde ? $donde : ""; if ($referencia) { $id = genReferencia2IdProducto($referencia); $idbase = getProdBaseFromId($id); } $IdProducto = !$base ? getIdFromCodigoBarras($cb) : ""; if (!$IdLocal and !$IdProducto) { echo gas("Aviso", _("Sin resultados")); if (!$IdProducto) { setSesionDato("BusquedaReferencia", false); if (!$base) { setSesionDato("BusquedaCB", false); } //si no encontro nada, no se busca en esa ref } return false; } $indice = getSesionDato("PaginadorAlmacen"); $idalias = ""; $nombre = ""; if (isset($_SESSION["BusquedaNombre"]) and $_SESSION["BusquedaNombre"]) { $nombre = $_SESSION["BusquedaNombre"]; } if ($nombre) { $idalias = getLikeProductoAlias2Id($nombre, $IdIdioma = false); } $res = $almacen->ListadoModular($IdLocal, $IdProducto, $indice, $tamPagina, $idbase, $nombre, $soloLlenos, $obsoletos, $soloNS, $soloLote, $soloOferta, $idalias, $reservados); $haytrans = is_array($marcadotrans) and count($marcadotrans); $num = 0; $jsOut = ""; $jsLex = new jsLextable(); $jsOut .= jsLabel("comprar", _("Comprar")); $jsOut .= jsLabel("modificar", _("Modificar")); $jsOut .= jsLabel("referencia", _("Referencia")); $jsOut .= jsLabel("unid", _("Unid")); $jsOut .= jsLabel("pv", _("PV")); $jsOut .= jsLabel("seleccionar", _("Seleccionar")); $jsOut .= jsLabel("cuantasunidades", _("¿Cuántas unidades?"), false); $oldId = -1; while ($almacen->SiguienteArticulo()) { $num++; $transid = $almacen->get("Id"); $ref = $almacen->get("Referencia"); $cb = $almacen->get("CodigoBarras"); $nombre = $almacen->get("Nombre"); $nombre = getParametro("ProductosLatin1") ? iso2utf($nombre) : $nombre; $unidades = $almacen->get("Unidades"); $contenedor = $almacen->get("Contenedor"); $ucontenedor = $almacen->get("UnidadesPorContenedor"); $precio = $almacen->get("CostoUnitario"); $ident = $almacen->get("Identificacion"); $id = $almacen->get("IdProducto"); $iconos = $almacen->Iconos(); $talla = getIdTalla2Texto($almacen->get("IdTalla")); $lextalla = $jsLex->add($talla); $color = getIdColor2Texto($almacen->get("IdColor")); $lexcolor = $jsLex->add($color); $desc = $almacen->get("Descripcion"); $nombreLocal = getNombreLocalId($almacen->get("IdLocal")); $lexlocal = $jsLex->add($nombreLocal); $ManejaSerie = $almacen->get("Serie"); $statusns = $almacen->get("StatusNS"); $ventamenudeo = $almacen->get("VentaMenudeo"); $UnidadMedida = $almacen->get("UnidadMedida"); $fam = getIdFamilia2Texto($almacen->get("IdFamilia")); $sub = getIdSubFamilia2Texto($almacen->get("IdFamilia"), $almacen->get("IdSubFamilia")); $lexfam = $jsLex->add($fam); $lexsub = $jsLex->add($sub); $sel = ($haytrans and in_array($transid, $marcadotrans)) ? 1 : 0; $idBase = $almacen->get("IdProdBase"); $marca = getIdMarca2Texto($almacen->get("IdMarca")); $lab = getNombreLaboratorio(getIdLaboratorioFromIdProducto($id)); if ($idBase != $oldId) { $numlex = $jsLex->add($ident); $nombre = addslashes($nombre); $ref = addslashes($ref); $jsOut .= "cAH({$idBase},'{$nombre}','{$ref}','{$desc}',{$numlex},{$lexfam},{$lexsub},{$ManejaSerie},'{$UnidadMedida}','{$contenedor}',{$ucontenedor},'{$marca}','{$ventamenudeo}','{$lab}');\n"; } $jsOut .= "cA({$id},'{$iconos}','{$cb}',{$unidades},'{$precio}',{$sel},{$transid},{$lextalla},{$lexcolor},{$lexlocal},{$ManejaSerie},'{$UnidadMedida}','{$contenedor}',{$ucontenedor},'{$ventamenudeo}','{$statusns}');\n"; $oldId = $idBase; } $jsOut = $jsLex->jsDump() . $jsOut; $jsOut .= AutoOpen(); $paginador = $ot->jsPaginador($indice, $tamPagina, $num); $jsOut .= $paginador; $jsOut .= "cListAlmacen();"; $jsOut .= $paginador; echo "<center>"; echo jsBody($jsOut); echo "</center>"; }