Пример #1
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;
    }
}
Пример #2
0
function ListaFormaDeUnidades()
{
    //FormaListaCompraCantidades
    global $action;
    $jsOut = "";
    $idprodseriebuy = getSesionDato("idprodseriebuy");
    $seriesbuy = getSesionDato("seriesbuy");
    $Moneda = getSesionDato("Moneda");
    setSesionDato("idprodseriecart", $idprodseriebuy);
    setSesionDato("seriescart", $seriesbuy);
    $oProducto = new producto();
    $ot = getTemplate("PopupCarritoCompra");
    if (!$ot) {
        error(__FILE__ . __LINE__, "Info: template no encontrado");
        return false;
    }
    $ot->resetSeries(array("IdProducto", "Referencia", "Nombre", "tBorrar", "tEditar", "tSeleccion", "vUnidades", "vTalla", "vColor", "Serie"));
    $tamPagina = $ot->getPagina();
    $indice = getSesionDato("PaginadorSeleccionCompras2");
    $carrito = getSesionDato("CarritoCompras");
    //echo q($carrito,"Carrito Cantidades");
    $costescarrito = getSesionDato("CarroCostesCompra");
    $descuentos = getSesionDato("descuentos");
    $quitar = _("Quitar");
    $ot->fijar("tTitulo", _("Carrito de compra"));
    $ot->fijar("comboAlmacenes", getSesionDato("ComboAlmacenes"));
    $ot->fijar("comboAlmacenes", genComboAlmacenes(getParametro("AlmacenCentral")));
    $salta = 0;
    $num = 0;
    $detadoc = getSesionDato("detadoc");
    $incImpuestoDet = getSesionDato("incImpuestoDet");
    $incPercepcion = getSesionDato("incPercepcion");
    $igv = getSesionDato("IGV");
    $ipc = getSesionDato("IPC");
    $TotalNeto = 0;
    $TotalBruto = 0;
    $ImporteFlete = $detadoc[13];
    $ImportePercepcion = $detadoc[14];
    $ImportePago = 0;
    $TotalDescuento = 0;
    $BrutoNeto = 0;
    $TotalImpuesto = 0;
    if ($carrito) {
        foreach ($carrito as $key => $value) {
            $TotalBruto = $TotalBruto + $costescarrito[$key] * $value;
            //$costescarrito[$key];
            $dscto = isset($descuentos[$key][0]) ? $descuentos[$key][0] : 0;
            $TotalDescuento = $TotalDescuento + $dscto;
            $BrutoNeto = $BrutoNeto + $descuentos[$key][1];
        }
        $TotalImpuesto = $BrutoNeto * $igv / 100;
        $TotalNeto = $incImpuestoDet == "true" ? $BrutoNeto : $BrutoNeto + $TotalImpuesto;
        $BrutoNeto = $incImpuestoDet == "true" ? $TotalNeto / ($igv / 100 + 1) : $BrutoNeto;
        $TotalBruto = $incImpuestoDet == "true" ? $TotalBruto / ($igv / 100 + 1) : $TotalBruto;
        $TotalImpuesto = $BrutoNeto * $igv / 100;
        $TotalImpuesto = round($TotalImpuesto * 100) / 100;
        $TotalDescuento = $TotalBruto - $BrutoNeto;
        $ImportePercepcion = $incPercepcion == "true" && $ImportePercepcion == 0 ? round($TotalNeto * $ipc / 100 * 100) / 100 : $ImportePercepcion;
        $ImportePago = $TotalNeto + $ImporteFlete + $ImportePercepcion;
        foreach ($carrito as $key => $value) {
            $salta++;
            if ($num <= $tamPagina and $salta >= $indice) {
                $num++;
                $oProducto->Load($key);
                $precioventa = $descuentos[$key][1] * $igv / 100;
                $precioventa = $descuentos[$key][1] + $precioventa;
                $vdescuento = isset($descuentos[$key][0]) ? $descuentos[$key][0] : 0;
                $pdescuento = isset($descuentos[$key][2]) ? $descuentos[$key][2] : 0;
                $item = $indice + $num;
                if ($indice == 10 || $indice == 20) {
                    $item--;
                }
                $ot->fijarSerie("vItem", $item . ".");
                $ot->fijarSerie("vReferencia", $oProducto->getCB());
                $ot->fijarSerie("vNombre", getDatosProductosExtra($key, "nombre"));
                $ot->fijarSerie("tBorrar", $quitar);
                $ot->fijarSerie("vUnidades", $value);
                $ot->fijarSerie("vPrecio", dosdecimales($costescarrito[$key]));
                $ot->fijarSerie("IdProducto", $oProducto->getId());
                $ot->fijarSerie("Serie", $oProducto->getSerie());
                $ot->fijarSerie("vDescuento", dosdecimales($vdescuento));
                $ot->fijarSerie("PorcentajeDescuento", dosdecimales($pdescuento));
                $ot->fijarSerie("vImporte", dosdecimales($descuentos[$key][1]));
                $ot->fijarSerie("vPrecioVenta", dosdecimales($precioventa));
                $ot->fijarSerie("vVentaMenudeo", $oProducto->getVentaMenudeo());
                $ot->fijarSerie("vUnidadesPorContenedor", $oProducto->getUnidadesPorContenedor());
                $ot->fijarSerie("vUnidadMedida", $oProducto->getUnidadMedida());
                $unimedida = $oProducto->getUnidadMedida();
                $menudeo = $oProducto->getVentaMenudeo();
                $lt = $oProducto->getLote();
                $fv = $oProducto->getFechaVencimiento();
                $ns = $oProducto->getSerie();
                $contenedor = $oProducto->getContenedor();
                $vbtn = $menudeo ? true : false;
                $vbtn = $lt ? true : $vbtn;
                $vbtn = $fv ? true : $vbtn;
                $contunid = $menudeo ? intval($value / $oProducto->getUnidadesPorContenedor()) : "";
                $unid = $menudeo ? $value % $oProducto->getUnidadesPorContenedor() : "";
                $cadena = $contunid . " " . $contenedor . " + " . $unid . " " . $unimedida;
                $cadena = $menudeo ? $cadena : $contenedor;
                $svalbtn = validaxdtCarritoProducto($key) ? "+" : "?";
                $rbtnns = $ns ? "readonly" : "";
                $rbtnns = $detadoc[0] == 'O' ? "" : $rbtnns;
                $sbtnns = $ns ? "button" : "hidden";
                $sbtn = $vbtn ? "button" : "hidden";
                $svalbtn = $detadoc[0] == 'O' ? "+" : $svalbtn;
                $sbtnns = $detadoc[0] == 'O' ? "hidden" : $sbtnns;
                $sbtn = $detadoc[0] == 'O' ? "hidden" : $sbtn;
                $sbtn = $menudeo ? "button" : $sbtn;
                $sbtncsto = $menudeo ? "button" : "hidden";
                $ot->fijarSerie("vUnidMedida", $unimedida);
                $ot->fijarSerie("vTotalContenedor", $cadena);
                $ot->fijarSerie("vButton", $sbtn);
                $ot->fijarSerie("vButtonCosto", $sbtncsto);
                $ot->fijarSerie("vValButton", $svalbtn);
                $ot->fijarSerie("vReadOnly", $rbtnns);
                $ot->fijarSerie("vBotonSerie", $sbtnns);
            }
        }
    }
    if (!$salta) {
        $ot->fijar("aviso", gas("aviso", _("Carrito vacío")));
        $ot->eliminaSeccion("haydatos");
    } else {
        $ot->fijar("aviso");
        $ot->confirmaSeccion("haydatos");
    }
    $tpfecha = 'Fecha Emisión :';
    $tipodoc = $detadoc[0];
    $nrodoc = $detadoc[3];
    $anrodoc = explode("-", $nrodoc);
    $sdoc = $anrodoc[0];
    $ndoc = isset($anrodoc[1]) ? $anrodoc[1] : false;
    $tnrodoc = $nrodoc ? 'Nro. ' . $nrodoc : '';
    $titulo = $tipodoc == 'F' ? 'Factura ' . $tnrodoc : '';
    $titulo = $tipodoc == 'O' ? 'Pedido ' . $tnrodoc : $titulo;
    $titulo = $tipodoc == 'R' ? 'Boleta ' . $tnrodoc : $titulo;
    $titulo = $tipodoc == 'G' ? 'Albar&aacute;n ' . $tnrodoc : $titulo;
    $titulo = $tipodoc == 'SD' ? 'Ticket' . $tnrodoc : $titulo;
    $tpfecha = $tipodoc == 'O' ? 'Fecha Entrega : ' : $tpfecha;
    $idprov = $detadoc[1];
    $nomprov = $detadoc[2];
    $fecdoc = $detadoc[4];
    $tipomoneda = $detadoc[5];
    $checkedTS = $tipomoneda == 1 ? 'CHECKED' : '';
    $checkedTD = $tipomoneda == 2 ? 'CHECKED' : '';
    $tipocambio = $detadoc[6];
    $fechacambio = $detadoc[7];
    $fechapago = $detadoc[8];
    $idsubsid = $detadoc[9];
    $nomsubsid = $detadoc[10];
    $incluyeigv = getSesionDato("incImpuestoDet") == 'true' ? true : false;
    $incluyeipc = getSesionDato("incPercepcion") == 'true' ? true : false;
    $checkipc = $incluyeipc ? 'CHECKED' : '';
    $checkigv = $incluyeigv ? 'CHECKED' : '';
    $tpv = 'PC';
    $xipc = $incluyeipc ? '' : 'display:none';
    $tvv = $incluyeigv ? $tpv : 'VC';
    $tcp = $incluyeigv ? 'Precio/Unid.' : 'Costo/Unid.';
    $pv = $incluyeigv ? 'hidden' : 'text';
    $tdpv = $incluyeigv ? '1' : '0';
    $colheadcart = $incluyeigv ? '16' : '17';
    $checkcredt = getSesionDato("aCredito") == 'true' ? 'CHECKED' : '';
    $ot->fijar("vTDoc", $tipodoc);
    $ot->fijar("vTxFecha", $tpfecha);
    $ot->fijar("vCheckIGV", $checkigv);
    $ot->fijar("vCheckPercepcion", $checkipc);
    $ot->fijar("vxPercepcion", $xipc);
    $ot->fijar("vMoneda1", $Moneda[1]['T']);
    $ot->fijar("vMoneda2", $Moneda[2]['T']);
    $ot->fijar("vSimboloMoneda1", $Moneda[1]['S']);
    $ot->fijar("vSimboloMoneda2", $Moneda[2]['S']);
    $ot->fijar("vCheckCredt", $checkcredt);
    $ot->fijar("vTipoDoc", $titulo);
    $ot->fijar("vIdProvHab", $idprov);
    $ot->fijar("vIdSubsiHab", $idsubsid);
    $ot->fijar("vProveedorHab", $nomprov);
    $ot->fijar("vSubsiHab", $nomsubsid);
    $ot->fijar("vSDoc", $sdoc);
    $ot->fijar("vNDoc", $ndoc);
    $ot->fijar("vFechaDoc", $fecdoc);
    $ot->fijar("vFechaPago", $fechapago);
    $ot->fijar("vTipoMoneda", $tipomoneda);
    $ot->fijar("vCheckedTS", $checkedTS);
    $ot->fijar("vCheckedTD", $checkedTD);
    $ot->fijar("vTipoCambio", $tipocambio);
    $ot->fijar("vFechaCambio", $fechacambio);
    $ot->fijar("vIGV", $igv);
    $ot->fijar("vInputPV", $pv);
    $ot->fijar("vVV", $tvv);
    $ot->fijar("vPV", $tpv);
    $ot->fijar("vCP", $tcp);
    $ot->fijar("vTDPV", $tdpv);
    $ot->fijar("vColHeadCart", $colheadcart);
    $totallst = count($carrito);
    $ot->fijar("vTotalLst", $totallst);
    $ot->fijar("vTotalNeto", dosdecimales($TotalNeto));
    $ot->fijar("vTotalDescuento", dosdecimales($TotalDescuento));
    $ot->fijar("vTotalImpuesto", dosdecimales($TotalImpuesto));
    $ot->fijar("vTotalBruto", dosdecimales($TotalBruto));
    $ot->fijar("vBrutoNeto", dosdecimales($BrutoNeto));
    $ot->fijar("vImporteFlete", dosdecimales($ImporteFlete));
    $ot->fijar("vImportePercepcion", dosdecimales($ImportePercepcion));
    $ot->fijar("vImportePago", dosdecimales($ImportePago));
    $jsOut .= jsPaginador($indice, $ot->getPagina(), $num);
    $ot->fijar("CLIST", $jsOut);
    $ot->paginador($indice, false, $num);
    $ot->fijar("action", $action);
    $ot->terminaSerie();
    echo $ot->Output();
}