function MostrarAlbaran($id) { global $action; $id = CleanID($id); $albaran = new albaran(); $albaran->Load($id); $ot = getTemplate("ModeloAlbaran"); if (!$ot) { error(__FILE__ . __LINE__, "Info: template busqueda no encontrado"); return false; } //<tr><td>G18196 - BERMDAS.F.SKATE.KAPPA;AC</td><td>1</td></tr> //$this->userLog .= "<tr><td>". $referencia . " - " . $nombre . "</td><td>". $unid . "</td></tr>"; // $sql = "INSERT INTO ges_albtraspaso_det (IdAlbaranTraspaso,IdProducto,Unidades) // VALUES ('$IdAlbaran','$IdProducto','$Unidades')"; $detallesString = ""; $prod = new producto(); $sql = "SELECT * FROM ges_albtraspaso_det WHERE IdAlbaranTraspaso={$id} ORDER BY IdDetalle ASC"; $res = query($sql, "Listando detalles de un albaran"); while ($row = Row($res)) { $IdProducto = $row["IdProducto"]; $prod->Load($IdProducto); $nombre_s = CleanParaWeb($prod->getNombre()); $referencia_s = CleanParaWeb($prod->get("Referencia")); $unid = $row["Unidades"]; $detallesString .= "<tr><td>" . $referencia_s . " - " . $nombre_s . "</td><td>" . $unid . "</td></tr>"; } $comercio = $_SESSION["GlobalNombreNegocio"]; $local = new local(); $local->Load($albaran->get("IdAlmacenSalida")); $nombreorigen = CleanParaWeb($local->getNombre()); $localdestino = new local(); $localdestino->Load($albaran->get("IdAlmacenRecepcion")); $nombredestino = CleanParaWeb($localdestino->getNombre()); $FechaSalida = CleanFechaFromDB($albaran->get("FechaSalida")); $ot->fijar("FECHA", $FechaSalida); $ot->fijar("LINEAS", $detallesString); $ot->fijar("NOMBRECOMERCIO", CleanParaWeb($comercio)); $ot->fijar("NUMEROALBARAN", $id); $ot->fijar("DESDETIENDA", $nombreorigen); $ot->fijar("HASTATIENDA", $nombredestino); echo $ot->Output(); }
function getDatosProductosExtra($id, $extra = false) { $oPd = new producto(); $oPd->Load($id); switch ($extra) { case "nombre": return $oPd->get("Descripcion") . " " . getIdMarca2Texto($oPd->get("IdMarca")) . " " . getIdColor2Texto($oPd->get("IdColor")) . " " . getIdTalla2Texto($oPd->get("IdTalla")) . " " . getNombreLaboratorio($oPd->get("IdLabHab")); break; case "nombreref": return $oPd->get("Referencia") . " " . $oPd->get("Descripcion") . " " . getIdMarca2Texto($oPd->get("IdMarca")) . " " . getIdColor2Texto($oPd->get("IdColor")) . " " . getIdTalla2Texto($oPd->get("IdTalla")) . " " . getNombreLaboratorio($oPd->get("IdLabHab")); break; case "prodbaseref": return $oPd->get("Referencia") . " " . $oPd->get("Descripcion") . " " . getIdMarca2Texto($oPd->get("IdMarca")) . " " . getNombreLaboratorio($oPd->get("IdLabHab")); break; case "nombrecb": return $oPd->get("CodigoBarras") . " " . $oPd->get("Descripcion") . " " . getIdMarca2Texto($oPd->get("IdMarca")) . " " . getIdColor2Texto($oPd->get("IdColor")) . " " . getIdTalla2Texto($oPd->get("IdTalla")) . " " . getNombreLaboratorio($oPd->get("IdLabHab")); break; case "id": $arreglo = array(); $arreglo["Referencia"] = $oPd->get("Referencia"); $arreglo["CodigoBarras"] = $oPd->get("CodigoBarras"); $arreglo["IdTalla"] = $oPd->get("IdTalla"); $arreglo["IdMarca"] = $oPd->get("IdMarca"); $arreglo["IdColor"] = $oPd->get("IdColor"); $arreglo["IdLabHab"] = $oPd->get("IdLabHab"); $arreglo["Serie"] = $oPd->get("Serie"); $arreglo["Lote"] = $oPd->get("Lote"); $arreglo["Vence"] = $oPd->get("FechaVencimiento"); return $arreglo; break; case 'todos': $arreglo = array(); $Servicio = $oPd->get("Servicio") > 0 ? 1 : 0; array_push($arreglo, $oPd->get("VentaMenudeo")); array_push($arreglo, $oPd->get("UnidadesPorContenedor")); array_push($arreglo, $oPd->get("UnidadMedida")); array_push($arreglo, $oPd->getContenedor("Contenedor")); array_push($arreglo, $oPd->get("Costo")); array_push($arreglo, $oPd->get("Serie")); array_push($arreglo, $oPd->get("Lote")); array_push($arreglo, $oPd->get("FechaVencimiento")); array_push($arreglo, $oPd->get("MetaProducto")); array_push($arreglo, $Servicio); return $arreglo; break; case 'nombretodos': $nombre = $oPd->get("CodigoBarras") . " " . $oPd->get("Descripcion") . " " . getIdMarca2Texto($oPd->get("IdMarca")) . " " . getIdColor2Texto($oPd->get("IdColor")) . " " . getIdTalla2Texto($oPd->get("IdTalla")) . " " . getNombreLaboratorio($oPd->get("IdLabHab")); $arreglo = array(); $arreglo["Nombre"] = $nombre; $arreglo["Menudeo"] = $oPd->get("VentaMenudeo"); $arreglo["UndxEmp"] = $oPd->get("UnidadesPorContenedor"); $arreglo["Und"] = $oPd->get("UnidadMedida"); $arreglo["Empaque"] = $oPd->getContenedor("Contenedor"); $arreglo["Costo"] = $oPd->get("Costo"); $arreglo["Serie"] = $oPd->get("Serie"); $arreglo["Lote"] = $oPd->get("Lote"); $arreglo["Vence"] = $oPd->get("FechaVencimiento"); $arreglo["Meta"] = $oPd->get("MetaProducto"); $arreglo["Servicio"] = $oPd->get("Servicio") > 0 ? 1 : 0; return $arreglo; break; } }
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 ordenarPedidosDet4Vencimiento($resumen, $id, $idlocal) { $oProducto = new producto(); if (!$oProducto->Load($id)) { return $resumen; } //Existe el Producto if (!$oProducto->get("FechaVencimiento")) { return $resumen; } //Meneja Vencimiento? //Obtiene resumen por fecha $Vence = getPedidoDet2Kardex('VenceResumen', $resumen, $id, $idlocal); //~pedidodet:fecha $aResumen = explode("~", $resumen); $aVence = explode("~", $Vence); $Fechas = array(); $nResumen = array(); //Resumen ordenado por fecha foreach ($aVence as $pFecha) { $aFecha = explode(":", $pFecha); if (isset($aFecha[1])) { array_push($Fechas, strtotime($aFecha[1])); } } $Fechas = search_merge_sort($Fechas); //Resumen fechas ordenadas foreach ($Fechas as $Fecha) { //Get IdPedido de Resumen fechas desordenadas foreach ($aVence as $pFecha) { $aFecha = explode(":", $pFecha); if (!isset($aFecha[1])) { break; } if ($Fecha == strtotime($aFecha[1])) { //Push Resumen Kardex foreach ($aResumen as $pPedido) { $aPedido = explode(":", $pPedido); if ($aPedido[0] == $aFecha[0]) { if (!in_array($pPedido, $nResumen)) { array_push($nResumen, $pPedido); } break; } } } } } //Resumen ordenado por vencimiento $resumen = implode("~", $nResumen); return $resumen; }
function ModificarProducto($id, $nombre, $referencia, $descripcion, $precioventa, $precioonline, $idfamilia, $idsubfamilia, $coste, $idprovhab, $idcolor, $idtalla, $codigobarras, $idmarca, $refprovhab, $idalias0, $idalias1, $ns, $fv, $idlabhab, $mlote) { $oProducto = new producto(); if (!$oProducto->Load($id)) { error(__FILE__ . __LINE__, "W: no pudo mostrareditar '{$id}'"); return false; } $oProducto->setDescripcion($descripcion); $IdProdBase = $oProducto->get("IdProdBase"); if ($oProducto->Modificacion()) { echo gas("aviso", _(" {$referencia} - {$descripcion} modificado")); $xdato = "IdProvHab = " . $idprovhab; $xdato .= ",IdLabHab = " . $idlabhab; $xdato .= ",IdMarca = " . $idmarca; $xdato .= ",IdFamilia = " . $idfamilia; $xdato .= ",IdSubFamilia = " . $idsubfamilia; $sql = " update ges_productos " . " set " . $xdato . " where IdProdBase = " . $IdProdBase; query($sql); return true; } else { echo gas("problema", _("No se puedo cambiar datos de [{$referencia}]")); return false; } }
function ListaFormaDeUnidades() { //Se usa esto aqui? //FormaListaCompraCantidades global $action, $tamPagina; $oProducto = new producto(); $ot = getTemplate("FormaListaCompraCantidades"); if (!$ot) { error(__FILE__ . __LINE__, "Info: template no encontrado"); return false; } $ot->resetSeries(array("IdProducto", "Referencia", "Nombre", "tBorrar", "tEditar", "tSeleccion", "vUnidades")); //$tamPagina = $ot->getPagina(); $detadoc = getSesionDato("detadoc"); $documento = getNombreDocumentoCompra($detadoc); $indice = getSesionDato("PaginadorSeleccionCompras2"); $carrito = getSesionDato("CarritoCompras"); $costescarrito = getSesionDato("CarroCostesCompra"); $DestinoAlmacen = getSesionDato("DestinoAlmacen"); $descuentos = getSesionDato("descuentos"); $Moneda = getSesionDato("Moneda"); $quitar = _("Quitar"); $DestinoAlmacen = !$DestinoAlmacen ? getParametro("AlmacenCentral") : $DestinoAlmacen; $salta = 0; $num = 0; $ot->fijar("tTitulo", _("Detalle de " . $documento . ": " . count($carrito) . " productos")); $ot->fijar("comboAlmacenes", genComboAlmacenes($DestinoAlmacen)); if ($carrito) { foreach ($carrito as $key => $value) { if ($num <= $tamPagina) { $num++; $cb = $oProducto->Load($key) ? $oProducto->getCB() : ""; $nombre = $oProducto->Load($key) ? $oProducto->getDescripcion() . " " . getIdMarca2Texto($oProducto->get("IdMarca")) . " " . $oProducto->getColorTexto() . " " . $oProducto->getTallaTexto() . " " . getNombreLaboratorio($oProducto->get("IdLabHab")) : ""; $vdescuento = isset($descuentos[$key][0]) ? $descuentos[$key][0] / $value : 0; $vcoste = round($costescarrito[$key] - $vdescuento, 2); $item = $num; //if($indice==10||$indice==20) $item--; $ot->fijarSerie("vItem", $item . "."); $ot->fijarSerie("vReferencia", $cb); $ot->fijarSerie("vNombre", $nombre); $ot->fijarSerie("tBorrar", $quitar); $ot->fijarSerie("vUnidades", $value . " " . $oProducto->getUnidadMedida()); $ot->fijarSerie("vPrecio", $vcoste); $ot->fijarSerie("IdProducto", $oProducto->getId()); } } } $tpfecha = 'Fecha Emisión : '; $tipodoc = $detadoc[0]; $aCredito = getSesionDato("aCredito") != 'true' ? 'hidden' : ''; $nrodoc = $detadoc[3]; $anrodoc = explode("-", $nrodoc); $sdoc = $anrodoc[0]; $ndoc = isset($anrodoc[1]) ? $anrodoc[1] : ''; $tnrodoc = $nrodoc ? 'Nro ' . $nrodoc : ''; $titulo = $documento . ' ' . $tnrodoc; $tpfecha = $detadoc[0] == 'O' ? 'Fecha Entrega : ' : $tpfecha; $idprov = $detadoc[1]; $nomprov = $detadoc[2]; $nrodoc = $detadoc[3]; $fecdoc = $detadoc[4]; $tipomoneda = $detadoc[5]; $checked = $tipomoneda == 1 ? $Moneda[1]['T'] : $Moneda[2]['T']; $tipocambio = $detadoc[6]; $fechacambio = $detadoc[7]; $fechapago = $detadoc[8]; $idsubsid = $detadoc[9]; $nombresubsid = $detadoc[10]; $tcp = getSesionDato("incImpuestoDet") == 'true' ? 'Precio/Unid.' : 'Costo/Unid.'; $ot->fijar("vTDoc", $tipodoc); $ot->fijar("vTipoDoc", $titulo); $ot->fijar("vIdProvHab", $idprov); $ot->fijar("vProveedorHab", $nomprov); $ot->fijar("vNDoc", $nrodoc); $ot->fijar("vCP", $tcp); $ot->fijar("vFechaDoc", $fecdoc); $ot->fijar("vFechaTxDoc", $tpfecha); $ot->fijar("vTipoMoneda", $tipomoneda); $ot->fijar("vTipoMoneda2", $checked); $ot->fijar("vTipoCambio", $tipocambio); $ot->fijar("vFechaCambio", $fechacambio); $ot->fijar("vFechaPago", $fechapago); $ot->fijar("vFletadorHab", $nombresubsid); $ot->fijar("aCredito", $aCredito); $ot->paginador($indice, false, $num); $ot->fijar("action", $action); $ot->terminaSerie(); echo $ot->Output(); }
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); } }