Example #1
0
function ListarAlbaranes()
{
    global $action;
    $res = Seleccion("AlbaranTraspaso", "", "FechaSalida DESC, IdAlbaranTraspaso ASC", "20");
    if (!$res) {
        echo gas("aviso", "No hay Albaranes disponibles");
    } else {
        //echo gas("titulo",_("Lista de Albaranes"));
        echo "<center>";
        echo "<table border=0 class=forma>";
        echo "<tr><td class='lh'>Fecha</td><td class='lh'>Mo</td><td class='lh'></td><td class='lh'></td></tr>";
        while ($oAlbaran = AlbaranFactory($res)) {
            $id = $oAlbaran->getId();
            /*
            	IdAlbaranTraspaso  	bigint(20)  	 	UNSIGNED  	No  	 	auto_increment  	  Examinar   	  Cambiar   	  Eliminar   	  Primaria   	  Índice   	  Único   	 Texto completo
            	IdAlmacenSalida 	smallint(5) 		UNSIGNED 	No 	0 		Examinar 	Cambiar 	Eliminar 	Primaria 	Índice 	Único 	Texto completo
            	IdAlmacenRecepcion 	smallint(5) 		UNSIGNED 	No 	0 		Examinar 	Cambiar 	Eliminar 	Primaria 	Índice 	Único 	Texto completo
            	FechaPedido 	date 			No 	0000-00-00 		Examinar 	Cambiar 	Eliminar 	Primaria 	Índice 	Único 	Texto completo
            	FechaSalida 	date 			No 	0000-00-00 		Examinar 	Cambiar 	Eliminar 	Primaria 	Índice 	Único 	Texto completo
            	Observaciones 	tinytext 	latin1_swedish_ci 		Sí 	NULL 		Examinar 	Cambiar 	Eliminar 	Primaria 	Índice 	Único 	Texto completo
            	Eliminado
            */
            $FechaSalida = CleanFechaFromDB($oAlbaran->get("FechaSalida"));
            $descripcion = getNombreLocalId($oAlbaran->get("IdAlmacenSalida")) . " - ";
            $descripcion .= getNombreLocalId($oAlbaran->get("IdAlmacenRecepcion"));
            $linkVer = gAccion("mostrar", _("Mostrar"), $id);
            echo "<tr class='f'><td class='fecha'>" . $FechaSalida . "</td><td class='descripcion'>" . $descripcion . "</td><td>" . $linkVer . "</td></tr>";
        }
        echo "</table>";
    }
    echo "</center>";
}
Example #2
0
function ListaFormaDeUnidades()
{
    //FormaListaCompraCantidades
    global $action;
    $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"));
    $tamPagina = $ot->getPagina();
    $indice = getSesionDato("PaginadorSeleccionCompras2");
    $carrito = getSesionDato("CarritoMover");
    //echo q($carrito,"Carrito Cantidades");
    $costescarrito = getSesionDato("CarroCostesMover");
    $quitar = _("Quitar");
    $ot->fijar("tTitulo", _("Carrito para Traslado"));
    //$ot->fijar("comboAlmacenes",getSesionDato("ComboAlmacenes"));
    $ot->fijar("comboAlmacenes", genComboAlmacenes(getParametro("AlmacenCentral")));
    $salta = 0;
    $num = 0;
    foreach ($carrito as $key => $value) {
        $salta++;
        if ($num <= $tamPagina and $salta >= $indice) {
            $num++;
            if ($oProducto->Load($key)) {
                $referencia = $oProducto->getReferencia();
                $nombre = $oProducto->getNombre();
            } else {
                $referencia = "";
                $nombre = "";
            }
            $ot->fijarSerie("vReferencia", $referencia);
            $ot->fijarSerie("vNombre", $nombre);
            $ot->fijarSerie("tBorrar", $quitar);
            $ot->fijarSerie("vUnidades", $value);
            $ot->fijarSerie("vPrecio", $costescarrito[$key]);
            $ot->fijarSerie("IdProducto", $oProducto->getId());
        }
    }
    if (!$salta) {
        $ot->fijar("aviso", gas("aviso", _("Carrito vacío")));
        $ot->eliminaSeccion("haydatos");
    } else {
        $ot->fijar("aviso");
        $ot->confirmaSeccion("haydatos");
    }
    $ot->paginador($indice, false, $num);
    $ot->fijar("action", $action);
    $ot->terminaSerie();
    echo $ot->Output();
}
Example #3
0
function gas($row, $col)
{
    global $matrix, $gasSing;
    $matrix[$row][$col] = $gasSing;
    if (checkCell($row, $col + 1)) {
        gas($row, $col + 1);
    }
    if (checkCell($row + 1, $col)) {
        gas($row + 1, $col);
    }
    if (checkCell($row, $col - 1)) {
        gas($row, $col - 1);
    }
    if (checkCell($row - 1, $col)) {
        gas($row - 1, $col);
    }
}
Example #4
0
function FormularioCompras($id)
{
    global $action;
    //Creamos template
    $ot = getTemplate("FormCompras");
    if (!$ot) {
        error(__FILE__ . __LINE__, "Info: template no encontrado");
        return false;
    }
    $producto = new producto();
    if ($producto->Load($id)) {
        $ot->fijar("NombreProducto", $producto->getNombre());
        $ot->fijar("Referencia", $producto->getReferencia());
        $ot->fijar("tTitulo", _("Petición de compra"));
        $ot->fijar("tCantidad", _("Cantidad:"));
        $ot->fijar("tEnviar", _("Enviar:"));
        $ot->fijar("tProveedorHabitual", _("Proveedor habitual:"));
        $ot->fijar("IdProducto", $producto->getId());
        $ot->fijar("action", $action);
        echo $ot->Output();
    } else {
        echo gas("Aviso", _("No se puede realizar la operación"));
    }
}
Example #5
0
function ClonarProducto($id, $idcolor, $idtalla, $referencia = false, $codigobarras, $refprovhab, $coste, $precioventa, $ventamenudeo, $unidadesxcontenedor, $unidadmedida, $idcontenedor, $referencia, $idalias0, $idalias1, $condventa)
{
    global $action;
    $oProducto = new producto();
    if (!$oProducto->Load($id)) {
        error(__FILE__ . __LINE__, "W: no pudo mostrareditar '{$id}'");
        return false;
    }
    $oProducto->set("IdColor", $idcolor, FORCE);
    $oProducto->set("IdTalla", $idtalla, FORCE);
    $oProducto->set("Referencia", $referencia, FORCE);
    $oProducto->set("CodigoBarras", $codigobarras, FORCE);
    $oProducto->set("RefProvHab", $refprovhab, FORCE);
    $oProducto->set("Costo", $coste, FORCE);
    $oProducto->setPrecioVenta($precioventa);
    $oProducto->set("IdContenedor", $idcontenedor, FORCE);
    $oProducto->set("UnidadMedida", $unidadmedida, FORCE);
    $oProducto->set("VentaMenudeo", $ventamenudeo, FORCE);
    $oProducto->set("CondicionVenta", $condventa, FORCE);
    $oProducto->set("UnidadesPorContenedor", $unidadesxcontenedor, FORCE);
    $oProducto->set("IdProductoAlias0", $idalias0, FORCE);
    $oProducto->set("IdProductoAlias1", $idalias1, FORCE);
    //setSesionDato("ClonProd",var_export($oProducto,true));
    if ($oProducto->Clon()) {
        $alm = getSesionDato("Almacen");
        $alm->ApilaProductoTodos($oProducto);
        return true;
    } else {
        echo gas("aviso", _("No se pudo realizar la copia. <br/> - Reintente con diferentes caracteristicas Modelo ó Detalle -"));
        $oProducto->regeneraCB();
        echo $oProducto->formClon($action, true);
    }
    return false;
}
Example #6
0
function OperacionesConUsuarios()
{
    if (!isUsuarioAdministradorWeb()) {
        return;
    }
    echo gas("titulo", _("Operaciones sobre Usuarios"));
    echo "<table border=1>";
    echo "<tr><td>" . _("Crear un nuevo usuario") . "</td><td>" . gModo("alta", _("Alta")) . "</td></tr>";
    echo "</table>";
}
Example #7
0
function CrearTemplate($nombre, $codigo)
{
    $oTemplate = new template();
    $oTemplate->Crea();
    $oTemplate->setNombre($nombre);
    $oTemplate->setCodigo($codigo);
    if ($oTemplate->Alta()) {
        if (isVerbose()) {
            echo gas("aviso", _("Nuevo template registrado"));
        }
    } else {
        echo gas("aviso", _("No se ha podido registrar el nuevo template"));
    }
}
Example #8
0
function ModificarProveedor($id, $comercial, $legal, $direccion, $poblacion, $cp, $email, $telefono1, $telefono2, $contacto, $cargo, $cuentabancaria, $numero, $comentario, $IdModPagoHabitual, $paginaweb, $idpais, $cuentabancaria2)
{
    $oProveedor = new proveedor();
    if (!$oProveedor->Load($id)) {
        error(__FILE__ . __LINE__, "W: no pudo mostrareditar '{$id}'");
        return false;
    }
    $oProveedor->set("IdPais", $idpais, FORCE);
    $oProveedor->set("PaginaWeb", $paginaweb, FORCE);
    $oProveedor->set("NombreComercial", $comercial, FORCE);
    $oProveedor->set("NombreLegal", $legal, FORCE);
    $oProveedor->set("Direccion", $direccion, FORCE);
    $oProveedor->set("Localidad", $poblacion, FORCE);
    $oProveedor->set("CP", $cp, FORCE);
    $oProveedor->set("Email", $email, FORCE);
    $oProveedor->set("Telefono1", $telefono1, FORCE);
    $oProveedor->set("Telefono2", $telefono2, FORCE);
    $oProveedor->set("Contacto", $contacto, FORCE);
    $oProveedor->set("Cargo", $cargo, FORCE);
    $oProveedor->set("CuentaBancaria", $cuentabancaria, FORCE);
    $oProveedor->set("NumeroFiscal", $numero, FORCE);
    $oProveedor->set("Comentarios", $comentario, FORCE);
    $oProveedor->set("CuentaBancaria2", $cuentabancaria2, FORCE);
    if ($IdModPagoHabitual) {
        $oProveedor->set("IdModPagoHabitual", $IdModPagoHabitual, FORCE);
    }
    if ($oProveedor->Modificacion()) {
        if (isVerbose()) {
            echo gas("aviso", _("Proveedor modificado"));
        }
    } else {
        echo gas("problema", _("No se puede cambiar datos de [{$comercial}]"));
    }
}
Example #9
0
 function nicerror($msg = false)
 {
     if (!$msg) {
         return $this->_error_msg;
     }
     $this->_error_msg = $msg;
     return gas("nota", $msg);
 }
Example #10
0
function ValidarTrasladoDetalle($Origen)
{
    $marcadotrans = getSesionDato("CarritoTrans");
    $Trans = getSesionDato("CarritoMover");
    $aSeries = getSesionDato("CarritoMoverSeries");
    $articulo = new articulo();
    $cbsrt = array();
    foreach ($marcadotrans as $idarticulo) {
        $oProducto = new producto();
        $articulo->Load($idarticulo);
        $oProducto->Load($articulo->get("IdProducto"));
        $idproducto = $articulo->get("IdProducto");
        $mSeleccion = $Trans[$idarticulo];
        $aSeleccion = explode("~", $mSeleccion);
        $esSerie = $aSeries[$idarticulo] ? true : false;
        $rkardex = getResumenKardex2Producto($idproducto, $Origen);
        //13:4~15:5~13:4
        foreach ($aSeleccion as $Pedido) {
            $aPedido = explode(":", $Pedido);
            $idpedidodet = $aPedido[0];
            //Kardex
            $unidades = $aPedido[1];
            //Serie...
            $mSeries = $esSerie ? $aSeries[$idarticulo] : '';
            $seriesxPedido = explode("~", $mSeries);
            foreach ($seriesxPedido as $nsPedido) {
                $aPedido = explode(":", $nsPedido);
                if ($idpedidodet == $aPedido[0]) {
                    $xnseries = str_replace(",", ";", $aPedido[1]);
                }
            }
            $xnseries = $esSerie ? $xnseries : false;
            $srt = existeUnidAlmacen($unidades, $idproducto, $idpedidodet, $xnseries, $idproducto, $Origen, $rkardex);
            if ($srt != 0) {
                array_push($cbsrt, $srt);
            }
        }
    }
    //idproducto:idpedidodet-mensajebug:unidades:unidadesalmacen:series;
    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);
            $pedido = 'Pedido Detalle: <br> [' . $idpedidodet . ']<br>';
            $stock = $unidades > $unidadesalm ? 'Unidades Seleccionadas:<br>Excede el stock actual en Almacén <br>' : '';
            $series = $xseries != "0" ? "N/S: " . $xseries . ' no diponibles <br>' : '';
            $mm .= "Producto:<br>" . $producto . "<br> " . $pedido . $stock . $series . "<br>";
            QuitarDeCarritoTraspaso($id);
            QuitarDeCarritoTraspasoSeries($id);
        }
        echo gas("aviso", _("*** Error en Kardex ***<br>" . $mm));
        return true;
        //Suspende...
    }
    return false;
    //Continua...
}
Example #11
0
 function formExtra($action)
 {
     $out = gas("titulo", _("Datos extra"));
     $cambiarnombre = "<input SIZE=80 name='Comentario' value='" . $this->get("Comentario") . "'>";
     $cambiarpaginas = "<input name='Paginas' value='" . $this->get("Paginas") . "'>";
     $out .= "<table><tr><td>" . Enviar(_("Guardar")) . "</td></tr>" . "<tr><td>{$cambiarnombre} - Comentario</td></tr>" . "<tr><td>{$cambiarpaginas} - Paginas</td></tr>" . "<tr><td>" . Enviar(_("Guardar")) . "</td></tr>" . "</table>";
     $modo = "newsave";
     $extra = Hidden("id", $this->getId());
     return "<form action='{$action}?modo=salvarextra' method=post>{$out} {$extra}</form>";
 }
Example #12
0
function BorrarFamilia($id)
{
    $oFamilia = new familia();
    $id = CleanID($id);
    if ($oFamilia->Load($id)) {
        $nombre = $oFamilia->getNombre();
        echo gas("Aviso", _("Familia {$nombre} borrado"));
        $oFamilia->EliminarFamilia();
    } else {
        echo gas("Aviso", _("No se ha podido borrar la familia"));
    }
}
Example #13
0
function ModificarArticulo($id, $esDisponible, $esDisponibleOnline, $esOferta, $esStockIlimitado, $stockmin, $Producto, $esObsoleto, $UnidDisponible, $UnidReservadas, $UnidOferta, $PrecioOferta, $Stock)
{
    if (!Admite("Stocks")) {
        return false;
    }
    $Obsoleto = $esObsoleto ? 1 : 0;
    $Disponible = $esDisponible && !$esObsoleto ? 1 : 0;
    $DispOnline = $esDisponibleOnline ? 1 : 0;
    $UnidDisponible = $esDisponible && !$esObsoleto ? $UnidDisponible : 0;
    $UnidDisponible = $UnidDisponible == $Stock ? 0 : $UnidDisponible;
    $Oferta = $esOferta ? 1 : 0;
    $OfertaUnidades = $esOferta && $esDisponible ? $UnidOferta : 0;
    $StockIlimitado = $esStockIlimitado ? 1 : 0;
    //Almacen
    $KeyValue = "Disponible='{$Disponible}',";
    $KeyValue .= "DisponibleOnline='{$DispOnline}',";
    $KeyValue .= "DisponibleUnidades='{$UnidDisponible}',";
    $KeyValue .= "Oferta='{$Oferta}',";
    $KeyValue .= "OfertaUnidades='{$UnidOferta}',";
    $KeyValue .= "PrecioVentaOferta='{$PrecioOferta}',";
    $KeyValue .= "StockIlimitado='{$StockIlimitado}',";
    $KeyValue .= "StockMin='{$stockmin}'";
    $IdAlmacen = $_SESSION["LocalMostrado"];
    $num = MarcarGenerico(array("{$id}"), $KeyValue, $IdAlmacen);
    //Obsoleto
    MarcarGenericoProducto(array("{$id}"), " Obsoleto = '{$Obsoleto}' ");
    if ($num != 0) {
        echo gas("aviso", _(" Modificado Correctamente el Producto : <br/><br/>  {$Producto} "));
    }
    return true;
}
Example #14
0
 function old_formEntrada($action, $esModificar)
 {
     if ($esModificar) {
         $out = gas("titulo", _("Modificando local"));
     } else {
         $out = gas("titulo", _("Nuevo local"));
     }
     $out .= "<table><tr>\n\t\t  <td>Nombre comercial</td><td>" . Input("NombreComercial", $this->getNombre()) . "</td><tr>" . "<tr><td></td><td>" . Enviar(_("Guardar")) . "</td></tr>" . "</table>";
     $modo = "newsave";
     if ($esModificar) {
         $modo = "modsave";
         $extra = Hidden("id", $this->getId());
     }
     return "<form action='{$action}?modo={$modo}' method=post>{$out} {$extra}</form>";
 }
Example #15
0
function BorrarPerfil($id)
{
    $oPerfil = new perfil();
    if ($oPerfil->Load($id)) {
        $nombre = $oPerfil->getNombre();
        echo gas("Aviso", _("Perfil {$nombre} borrado"));
        $oPerfil->MarcarEliminado();
        return true;
    } else {
        echo gas("Aviso", _("No se ha podido borrar el perfil"));
        return false;
    }
}
Example #16
0
function BorrarCliente($id)
{
    $oCliente = new cliente();
    if ($oCliente->Load($id)) {
        if (isVerbose()) {
            echo gas("aviso", _("Cliente borrado"));
        }
        $oCliente->MarcarEliminado();
        //invalidarSesion("ListaTiendas");
    } else {
        echo gas("aviso", _("No se ha podido borrar el cliente"));
    }
}
Example #17
0
function ListadoTiendasPrecios($IdProducto, $copias)
{
    global $action, $salida_funcion;
    $ot = getTemplate("SeleccionEtiqueta");
    if (!$ot) {
        error(__FILE__ . __LINE__, "Info: template busqueda no encontrado");
        echo "3!";
        return false;
    }
    $almacen = getSesionDato("Articulos");
    $cr = "<br>";
    $res = $almacen->Listado(false, $IdProducto, false);
    $out = "";
    $precioVarios = false;
    $precioold = "old";
    $numPreciosValidos = 0;
    while ($almacen->SiguienteArticulo()) {
        $ajustar = "";
        $vPrecio = $almacen->get("PrecioVenta");
        if ($vPrecio < 0.01) {
            continue;
        }
        $tPrecio = FormatMoney($vPrecio);
        if ($precioold == "old") {
            $precioold = $vPrecio;
        }
        //echo ("precioold $precioold, vprecio $vPrecio<br>");
        if ($precioold != $vPrecio) {
            $precioVarios = true;
        }
        $out .= "<tr>";
        $out .= g("td", $almacen->get("Identificacion"));
        //Nombre del local
        $id = $almacen->get("IdProducto");
        $ajustar .= "AjustarCampo(\"precio\",\"{$vPrecio}\");";
        //$ajustar .= "AjustarCampo(\"precio\",\"$vPrecio\");";
        $out .= g("td", "<input type=submit onclick='{$ajustar}' value='{$tPrecio}'>");
        $out .= "</tr>";
        $numPreciosValidos = $numPreciosValidos + 1;
    }
    if ($numPreciosValidos == 0) {
        echo gas("Aviso", _("Fije un Precio de Venta TPV, para imprimir etiquetas."));
        ?>
         <center>
	   <form action="selimpresion.php?modo=codigobarrasProductoGet" method="post">
	     <table class='forma'>
	       <tr>
		 <td class="lh">
		   <?php 
        echo _("Precio:");
        ?>
		 </td>
		 <td>
		   <input value="0" type="text" 
			  onkeypress="return soloNumerosBase(event,this.value)" name="precio">
		   </td>
		 </tr>
		 <tr>
		   <td class="lh"></td>
		   <td>
		     <input class="btn item" value="<?php 
        echo _("Enviar");
        ?>
" type=submit>
		   </td>
		 </tr>
	       </table>
	       <input type="hidden" name="copias" value="<?php 
        echo $copias;
        ?>
">	
	       <input type="hidden" name="IdProducto" value="<?php 
        echo $IdProducto;
        ?>
">	
	     </form>	 			
	   </center>
       <?php 
        return false;
    } else {
        if (!$precioVarios) {
            return floatval($precioold);
            //quickprecio o cero
        }
    }
    $ot->fijar("cuerpo", $out);
    $ot->fijar("action", $action . "?modo=codigobarrasProductoGet");
    $ot->fijar("IdProducto", $IdProducto);
    $ot->fijar("copias", $copias);
    echo $ot->Output();
    //$salida_funcion =  $ot->Output();
    return false;
    //Si hay mas de uno, no devuelve quickprecio
}
Example #18
0
function ListarOpcionesSeleccion()
{
    echo gas("titulo", _("Operaciones sobre la selección"));
    echo "<table border=1>";
    echo "<tr><td>" . _("Hacer una compra a proveedores") . "</td><td>" . gModo("comprar", _("Comprar")) . "</td></tr>";
    echo "<tr><td>" . _("Buscar en el almacén") . "</td><td>" . gModo("transsel", _("Buscar")) . "</td></tr>";
    //echo "<tr><td>"._("Cambio global de precio")."</td><td>".gModo("preciochange",_("Precios"))."</td></tr>";
    echo "</table>";
}
Example #19
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();
}