Example #1
0
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();
}
Example #2
0
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;
    }
}
Example #3
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 #4
0
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;
}
Example #5
0
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;
    }
}
Example #6
0
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();
}
Example #7
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);
    }
}