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(); }
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; }
$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; } } }
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); } }
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>"; }
$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;
$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 = "";