Example #1
0
function FormularioEditarArticulo($id)
{
    global $action;
    $ot = getTemplate("FormEditarArticulo");
    if (!$ot) {
        error(__FILE__ . __LINE__, "Error: template busqueda no encontrado");
        return false;
    }
    $articulo = new articulo();
    $oProducto = new producto();
    if (!$articulo->Load($id)) {
        error(__FILE__ . __LINE__, "Error: no puedo modificar ese producto");
        return false;
    }
    $oProducto->Load($articulo->get("IdProducto"));
    $igv = getSesionDato("IGV");
    $local = $_SESSION["LocalMostrado"];
    $idProducto = $articulo->get("Id");
    $CostoUnitario = $articulo->get("CostoUnitario");
    $PVD = $articulo->get("PrecioVenta");
    $PVDD = $articulo->get("PVDDescontado");
    $IGVD = round($PVD / (1 + $igv / 100) * ($igv / 100) * 100) / 100;
    $MUD = round(($PVD - $IGVD - $CostoUnitario) * 100) / 100;
    $PVC = $articulo->get("PrecioVentaCorporativo");
    $PVCD = $articulo->get("PVCDescontado");
    $IGVC = round($PVC / (1 + $igv / 100) * ($igv / 100) * 100) / 100;
    $MUC = round(($PVC - $IGVC - $CostoUnitario) * 100) / 100;
    $disponible = $articulo->is("Disponible") ? "checked" : "";
    $dispOnline = $articulo->is("DisponibleOnline") ? "checked" : "";
    $obsoleto = $oProducto->get("Obsoleto") ? "checked" : "";
    $esLote = $oProducto->get("Lote");
    $esVence = $oProducto->get("FechaVencimiento");
    $esSerie = $oProducto->get("Serie");
    $oferta = $articulo->is("Oferta") ? "checked" : "";
    $stockilimitado = $articulo->is("StockIlimitado") ? "checked" : "";
    $esIlimitado = $esSerie ? 'none' : 'table-row';
    $esIlimitado = $esLote ? 'none' : $esIlimitado;
    $esIlimitado = $esVence ? 'none' : $esIlimitado;
    $existencias = $articulo->get("Unidades");
    $stockunidades = $existencias;
    $producto = getDatosProductosExtra($articulo->get("IdProducto"), 'nombretodos');
    $nombre = $producto["Nombre"];
    $esMenudeo = $producto["Menudeo"];
    $unidad = $producto["Und"];
    $unidxemp = $producto["UndxEmp"];
    $empaque = $producto["Empaque"];
    $resmenudeo = $esMenudeo ? "  ( " . $stockunidades . " " . $unidad . " a " . $unidxemp . $unidad . "x" . $empaque . " )" : "";
    $disponibleunid = $articulo->get("DisponibleUnidades");
    $reservadaunid = $disponibleunid > 0 ? $existencias - $disponibleunid : 0;
    $resto = $esMenudeo ? $existencias % $unidxemp : 0;
    $empaques = $esMenudeo ? ($existencias - $resto) / $unidxemp : 0;
    $existencias = $esMenudeo ? $empaques . " " . $empaque . " + " . $resto : $existencias;
    $disponibleunid = $disponibleunid > 0 ? $disponibleunid : $stockunidades;
    $txtMoDet = getModeloDetalle2txt();
    $txtModelo = $txtMoDet[1];
    $txtDetalle = $txtMoDet[2];
    $txtalias = $txtMoDet[3];
    $txtref = $txtMoDet[4];
    $ot->fijar("tTituloAux", _("Otras tiendas"));
    $ot->fijar("tIgualar", _("Todas las tiendas el mismo precio"));
    $ot->fijar("tMotivo", _("Motivo mod. existencias"));
    $ot->fijar("tTitulo", _("Modificar existencias"));
    $ot->fijar("vRefProvHab", $articulo->get("RefProvHab"));
    $ot->fijar("tRefProvHab", $txtref);
    $ot->fijar("vPresentacion", $oProducto->getTextColor());
    $ot->fijar("tPresentacion", $txtModelo);
    $ot->fijar("vProductoAlias0", getIdProductoAlias2Texto($articulo->get("IdProductoAlias0")));
    $ot->fijar("tProductoAlias0", $txtalias);
    $ot->fijar("vProductoAlias1", getIdProductoAlias2Texto($articulo->get("IdProductoAlias1")));
    $ot->fijar("tProductoAlias1", $txtalias);
    $ot->fijar("vSubPresentacion", $oProducto->getTextTalla());
    $ot->fijar("tSubPresentacion", $txtDetalle);
    $ot->fijar("vReferencia", $articulo->get("Referencia"));
    $ot->fijar("tReferencia", _("Referencia"));
    $ot->fijar("vDescripcion", $nombre);
    $ot->fijar("tDescripcion", _("Nombre"));
    $ot->fijar("vUnidades", $existencias);
    $ot->fijar("tUnidades", _("Stock"));
    $ot->fijar("mUnidad", $resmenudeo);
    $ot->fijar("vIGV", $igv);
    $ot->fijar("tIGV", "IGV");
    $ot->fijar("vCostoUnitario", round($articulo->get("CostoUnitario") * 100) / 100);
    $ot->fijar("tCostoUnitario", _("CU"));
    $ot->fijar("vCostoUnitarioC", round($articulo->get("CostoUnitario") * 100) / 100);
    $ot->fijar("tCostoUnitarioC", _("CU"));
    $ot->fijar("vMUD", $MUD);
    $ot->fijar("tMUD", _("MU"));
    $ot->fijar("vIGVD", $IGVD);
    $ot->fijar("tIGVD", _("IGV"));
    $ot->fijar("vPVD", $PVD);
    $ot->fijar("tPVD", _("PVP"));
    $ot->fijar("vPVDD", $PVDD);
    $ot->fijar("tPVDD", _("PVPD"));
    $ot->fijar("vMUC", $MUC);
    $ot->fijar("tMUC", _("MU"));
    $ot->fijar("vIGVC", $IGVC);
    $ot->fijar("tIGVC", _("IGV"));
    $ot->fijar("vPVC", $PVC);
    $ot->fijar("tPVC", _("PVC"));
    $ot->fijar("vPVCD", $PVCD);
    $ot->fijar("tPVCD", _("PVCD"));
    $ot->fijar("tTipoImpuesto", _("Impuesto"));
    $ot->fijar("vTipoImpuesto", $articulo->get("TipoImpuesto"));
    $ot->fijar("vImpuesto", $articulo->get("Impuesto"));
    $ot->fijar("vStockMin", $articulo->get("StockMin"));
    $ot->fijar("vStockUnidades", $stockunidades);
    $ot->fijar("tOfertaUnidades", _("Unidades en Oferta "));
    $ot->fijar("vOfertaUnidades", $articulo->get("OfertaUnidades"));
    $ot->fijar("tPrecioVentaOferta", _("Precio de Oferta"));
    $ot->fijar("vPrecioVentaOferta", $articulo->get("PrecioVentaOferta"));
    $ot->fijar("tDisponibleUnidades", _("Unidades Disponibles"));
    $ot->fijar("vDisponibleUnidades", $disponibleunid);
    $ot->fijar("tUnidad", $unidad);
    $ot->fijar("tUnidadesReservadas", _("Unidades Reservadas"));
    $ot->fijar("vUnidadesReservadas", $reservadaunid);
    $ot->fijar("cDisponible", $disponible);
    $ot->fijar("cDisponibleOnline", $dispOnline);
    $ot->fijar("cOferta", $oferta);
    $ot->fijar("cStockIlimitado", $stockilimitado);
    $ot->fijar("esStockIlimitado", $esIlimitado);
    $ot->fijar("tDisponible", _("Disponible"));
    $ot->fijar("tDisponibleOnline", _("Disponible Online"));
    $ot->fijar("tObsoleto", _("Obsoleto"));
    $ot->fijar("cObsoleto", $obsoleto);
    $ot->fijar("tOferta", _("En oferta"));
    $ot->fijar("tStockIlimitado", _("Stock ilimitado"));
    $ot->fijar("tStockMin", _("Stock minimo"));
    $ot->fijar("action", $action);
    $ot->fijar("vId", $articulo->get("Id"));
    echo $ot->Output();
}
Example #2
0
function ValidarAjusteExistenciasDetalle($Ajustes, $Series, $idproducto, $esSerie, $Origen)
{
    $aAjustes = explode("~", $Ajustes);
    $nAjustes = count($aAjustes);
    $aSeries = explode("~", $Series);
    //$rkardex  = getResumenKardex2Producto($idproducto,$Origen);//13:4~15:5~13:4
    $rkardex = getResumenKardex4Ajuste($idproducto, $Origen);
    //13:4~15:5~13:4
    $cbsrt = array();
    for ($i = 0; $i < $nAjustes; $i++) {
        $Ajuste = explode(":", $aAjustes[$i]);
        $idpedidodet = $Ajuste[0];
        $unidades = $Ajuste[1];
        $xnseries = '';
        if ($esSerie) {
            foreach ($aSeries as $nsPedido) {
                $aPedido = explode(":", $nsPedido);
                if ($idpedidodet == $aPedido[0]) {
                    $xnseries = $aPedido[1];
                }
            }
        }
        $xnseries = $esSerie ? false : $xnseries;
        $srt = existeUnidAlmacen($unidades, $idproducto, $idpedidodet, $xnseries, $idproducto, $Origen, $rkardex);
        if ($srt != 0) {
            array_push($cbsrt, $srt);
        }
    }
    if (count($cbsrt) > 0) {
        $mm = '';
        foreach ($cbsrt as $pedidodet) {
            $apedidodet = explode(":", $pedidodet);
            $idproducto = $apedidodet[0];
            $idpedidodet = $apedidodet[1];
            $unidades = $apedidodet[2];
            $unidadesalm = $apedidodet[3];
            $xseries = $apedidodet[4];
            $producto = getDatosProductosExtra($idproducto, 'nombrecb');
            $id = getIdFromAlmacen($idproducto, $Origen);
            $esStock = $unidades > $unidadesalm ? true : false;
            $pedido = 'Pedido Detalle :  ' . $idpedidodet;
            $stock = $esStock ? ' \\n Unidades: Excede al stock actual en Almacén' : '';
            $series = $xseries != "0" ? " \n N/S: " . $xseries . ' no diponibles ' : '';
            $mm .= "\n\n Producto : " . $producto . "\n " . $pedido . $stock . $series;
        }
        echo _(" *** Error en Kardex ***" . $mm);
        return true;
    }
    return false;
}
Example #3
0
     $xout = checkndocCompra($idprov, $ndoc);
     echo $xout;
     exit;
     break;
 case "getTipoDocCompra":
     $detadoc = getSesionDato("detadoc");
     echo $detadoc[0];
     exit;
     break;
 case "ResetearCarritoCompra":
     ResetearCarritoCompras();
     exit;
     break;
 case "datosproductoextra":
     $id = CleanID($_GET["id"]);
     $arr = getDatosProductosExtra($id, 'todos');
     echo implode(",", $arr);
     exit;
     break;
 case "ComprobarProveedor":
     $compras = getSesionDato("CarritoCompras");
     $costes = getSesionDato("CarroCostesCompra");
     if ($compras != '') {
         foreach ($compras as $id => $unidades) {
             $idproveedor = getIdProveedorFromIdProducto($id);
             if ($idproveedor != '') {
                 echo '0';
                 exit;
             }
         }
     }
Example #4
0
function agnadirxdtCarritoCompras($id)
{
    $oPd = new producto();
    $oPd->Load($id);
    actualizaxdtCarritoCompras($id, 'prod', getDatosProductosExtra($id, 'nombrecb'));
    if ($oPd->get("Lote")) {
        actualizaxdtCarritoCompras($id, 'lt', false);
    }
    if ($oPd->get("FechaVencimiento")) {
        actualizaxdtCarritoCompras($id, 'fv', false);
    }
    if ($oPd->get("Serie")) {
        actualizaxdtCarritoCompras($id, 'ns', false);
    }
}
Example #5
0
function ListadoModificableImpresionPorLote()
{
    $oProducto = new producto();
    global $action;
    $carrito = getSesionDato("CarritoCompras");
    $costescarrito = getSesionDato("CarroCostesCompra");
    $etiquetaIdProducto = array();
    $serie = 0;
    echo "<center><form method='post' action='{$action}?modo=impresionMultipleEjecutar'>";
    echo "<table class='listado' width='50%'><tbody>";
    echo "<tr>" . "<td class='lh'></td>" . "<td class='lh' width='5%'><nobr>" . _("Número de etiquetas") . "</nobr></td>" . "<td class='lh' style='min-width: 20em'><nobr>" . _("Producto") . "</nobr></td>" . "<td class='lh'>PV</td>" . "</tr>";
    foreach ($carrito as $key => $value) {
        $IdProducto = $key;
        $nombre = getDatosProductosExtra($key, 'nombrecb');
        $precio = getPrecioGenerico($IdProducto);
        if ($precio > 0) {
            $serie++;
            echo "<tr class='f'>" . "<td width='16'><img src='img/gpos_productos.png'></td>" . "<td  width='10%'><input type='text' name='Unidades_{$serie}' value='{$value}'>" . "<input type='hidden' name='Serie_IdProducto_{$serie}' value='" . $IdProducto . "'></td>" . "<td class='nombre' style='min-width: 20em'><nobr>{$nombre}</nobr></td>" . "<td class='precio'><nobr>" . FormatMoney($precio) . "</nobr></td>" . "<input type='hidden' name='Serie_Precio_{$serie}' value='" . $precio * 1 . "'>" . "</td>" . "</tr>";
        }
    }
    if ($serie > 0) {
        echo "<tr class='f'><td></td><td></td><td colspan='4'>" . "<input  class='btn item' type='submit' value='" . _("Imprimir múltiple") . "'>" . "</td></tr>";
    } else {
        echo "<tr class='f'><td></td><td></td>" . "<td colspan='4'>" . _("No se encontraron productos listos para etiquetar.") . "</td></tr>";
    }
    echo "</tbody></table>";
    echo "<input type='hidden' name='numSeries' value='{$serie}'>";
    echo "</form></center>";
}
Example #6
0
     $btnCancelar = "parent.volverStock()";
     $desde = "";
     $hasta = "";
     include "xulkardexproducto.php";
     exit;
     break;
 case "xExistenciasAlmacenCarrito":
     $id = CleanID($_GET["xproducto"]);
     $idlocal = isset($_GET["xlocal"]) ? CleanID($_GET["xlocal"]) : false;
     $idalmacen = CleanInt($_GET["xalmacen"]);
     $idlocal = !$idlocal ? CleanID($_SESSION["LocalMostrado"]) : $idlocal;
     $donde = !$idlocal ? getSesionDato("IdTienda") : $idlocal;
     //$idalmacen  = CleanID($_GET["id"]);//IdProducto
     //$id         = getIdFromIdAlmacen($idalmacen);
     $igv = getSesionDato("IGV");
     $oProducto = getDatosProductosExtra($id, 'nombretodos');
     $producto = $oProducto["Nombre"];
     $empaque = $oProducto["Empaque"];
     $unidxemp = $oProducto["UndxEmp"];
     $menudeo = $oProducto["Menudeo"];
     $unidades = $oProducto["Und"];
     $serie = $oProducto["Serie"];
     $lote = $oProducto["Lote"];
     $fv = $oProducto["Vence"];
     $esserie = $serie ? 'false' : 'true';
     $eslote = $lote ? 'false' : 'true';
     $esfv = $fv ? 'false' : 'true';
     $esCarrito = 'false';
     $costototal = 0;
     $existencias = 0;
     $xajuste = 0;
Example #7
0
     $fecharead = true;
     $opentrada = '';
     $esGarantia = 'true';
     $escKBoxinit = "";
     include "xulseries.php";
     break;
 case "mostrarSeriesAlmacenxProducto":
     $validarSeries = false;
     $idpedidodet = 0;
     $idlocal = $_SESSION["LocalMostrado"];
     $id = CleanID($_GET["id"]);
     $unidades = CleanFloat($_GET["unid"]);
     $textounidades = $unidades;
     $costo = isset($_GET["costo"]) ? CleanDinero($_GET["costo"]) : '';
     $tituloCart = "Existencias";
     $producto = getDatosProductosExtra($id, 'nombrecb');
     $series = obtenerSeriesAlmacenProducto($id);
     $valor = "true";
     $Garantia = '';
     $Comprar = false;
     $prodbase = false;
     $vtitulo = false;
     $item = 0;
     $fecharead = true;
     $selAgregar = "false";
     $selBuscar = "true";
     $btnexittxt = " Volver Stock ";
     $btnexitcmd = " SalirNStoAlmacen()";
     $escKBox = false;
     $esGarantia = 'false';
     $escKBoxinit = "";