Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
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>";
}