<% ' Guarda: si la base de datos no esta disponible, terminar sin consultas ' (evita que ADO intente reconectar y la pagina se quede colgada) If Cnx Is Nothing Then Response.Write "

Base de datos no disponible. Vuelva a intentarlo mas tarde.

" Response.End End If If Cnx.State <> 1 Then Response.Write "

Base de datos no disponible. Vuelva a intentarlo mas tarde.

" Response.End End If %> <% On Error Resume Next Response.CharSet = "utf-8" Session.CodePage = 65001 '************************************************************************************************************************ 'Añadir visita IPx=Request.ServerVariables("REMOTE_ADDR") NombrePagina="Vercarrito.asp" FechaFiltro=Month(Date()) & "/" & Day(Date()) & "/" & Year(Date()) Set RowV=Cnx2.Execute("Select * From Visitas Where IP='"&IPx&"' And Fecha=#"& FechaFiltro &"# And Pagina='"& NombrePagina &"'") If RowV.Eof=True Then Set SQLAdd=Cnx2.Execute("Insert INTO Visitas (IP, Pagina) Values ('"& IPx &"','"& NombrePagina & "')") End If '************************************************************************************************************************ Dim LugarSelect Dim Ipx Dim ClientesFPago Dim preciototal Dim precioitem Dim PVPTransporte Dim VClic Dim Vlugar Dim VError IPx=Request.ServerVariables("REMOTE_ADDR") VError=Request.QueryString("VError") Lug=request.QueryString("VLugar") FP=request.QueryString("FP") PrecioPorBulto=0 preciototal=0 precioitem=0 TotalConIVA=0 '************************************************************************************ 'Eliminar articulos del carrito CualBorro=Request.QueryString("EliminaUno") If CualBorro<>"" Then 'Saber cuantos artículos iguales hay Consulta2b="Select * from Compras where IP ='"& IPx &"' And NumeArticulo= "& CualBorro & "" Set MiRs2b=server.createObject ("ADODB.recordset") MiRs2b.cursortype=1 MiRs2b.activeconnection=Cnx MiRs2b.open Consulta2b Total=MiRs2b("Cantidad") 'Si solo hay una unidad, se borra. Si hay mas de una unidad, se resta una If Total=1 Then SQLtxt="Delete From compras Where ip ='" & IPx & "' and NumeArticulo= "& CualBorro & "" Else NuevaCantidad=MiRs2b("Cantidad")-1 SQLtxt="Update Compras Set Cantidad="& NuevaCantidad &" where NumeArticulo="& CualBorro &"" End If SQLAcc=Cnx.execute(SQLtxt) End If '************************************************************************************ '************************************************************************************ 'Sumar un artículo al carrito SumarUno=Request.QueryString("SumaUno") If SumarUno<>"" Then Consulta2b="Select * from Compras where IP ='"& IPx &"' And NumeArticulo= "& SumarUno & "" Set MiRs2b=server.createObject ("ADODB.recordset") MiRs2b.cursortype=1 MiRs2b.activeconnection=Cnx MiRs2b.open Consulta2b NuevaCantidad=MiRs2b("Cantidad")+1 SQLtxt="Update Compras Set Cantidad="& NuevaCantidad &" where NumeArticulo="& SumarUno &"" SQLAcc=Cnx.execute(SQLtxt) End If '************************************************************************************ '************************************************************************************ 'Se busca el cliente segun su IP. Si no existe se añade la IP y los campos automáticos (BBDD) Set RowsCL=Cnx.Execute("Select * From Clientes Where IP='"&IPx&"'") If RowsCL.EOF = True Then SQLAdd="Insert Into Clientes (IP) Values ('"&IPx&"');" SQLAdd2=Cnx.Execute(SQLAdd) End If If RowsCL.EOF=False And FP<>"" And Lug<>"" Then Set Editar=Cnx.Execute("Update Clientes Set Lugar='"&Lug&"', FormaDePago='"&FP&"' Where IP='"& IPx &"'") End If '************************************************************************************ '************************************************************************************ 'Buscar el lugar de origen del cliente Set RowsLFP=Cnx.Execute("Select Lugar,FormaDepago From Clientes Where IP ='" & IPx & "'") If RowsLFP.Eof Then 'Lug="Peninsula" 'FP="Transferencia" Else 'Lug=RowsLFP("Lugar") 'FP=RowsLFP("FormaDePago") End If '************************************************************************************ Set RowCFG=Cnx.Execute("Select * From Config") '************************************************************************************ 'Row es el Recordset principal. Apunta hacia los artículos de la base de datos ConsultaGrupo="Select NumeArticulo, NomArticulo, Cantidad, Precio From Compras Where IP='" & IPx & "' and CompraCompleta=False" Set Row=server.createObject ("ADODB.recordset") Row.cursortype=adOpenStatic Row.ActiveConnection=Cnx Row.Open ConsultaGrupo '************************************************************************************ %> Cesta de Pedidos y Software TPV | Ábaco Software

Ábaco Software - Carrito3D
Info
Carrito
Datos
Confirmar
Pago
Acuse
Artículo
PVP unitario
Unds.
Con IVA*
<% '******************************************* '******************************************* 'Comienza el DO (protegido: si la BD no esta disponible, no entra) If Not (Row Is Nothing) Then If Row.State = 1 Then Do While Not Row.Eof NumeArticulo=Row("NumeArticulo") RowART=Cnx.execute("Select NumeArticulo, PorcenTrans, TextoCorto, Portes From Precios Where NumeArticulo=" & NumeArticulo & "") precioitem=Row("Cantidad")*Row("Precio") %>
<% Set NuevoI2=Cnx.Execute("Select * From Imagenes where NumeArticulo="& (RowART("NumeArticulo")) &"") imagenJPG="'https://www.abacosoftware.com/images/articulos/" & NuevoI2("NOMBRE") & "'" %>
Ábaco Software - Caja 5 TPV
<%response.write(Row("NomArticulo"))%>
<%response.write(Row("precio"))%> €
&VLugar=<%=Lug%>&FP=<%=Pago%>">" type="text" value="<%=Row("cantidad")%>" size="3" maxlength="3" disabled>&VLugar=<%=Lug%>&FP=<%=Pago%>">
<% 'La siguiente funcion permite determinar del transporte por bulto FactorIVA=1.21 Select Case Lug Case "Peninsula" PrecioPorBulto=6.89 'son 8 euros menos el iva' Case "Islas Baleares" PrecioPorBulto=8.62 Case "Islas Canarias" PrecioPorBulto=15 FactorIVA=1 Case "Ceuta y Melilla" PrecioPorBulto=10 FactorIVA=1 Case "America" PrecioPorBulto=25 FactorIVA=1 Case "Otros" PrecioPorBulto=25 FactorIVA=1 End Select 'FactorIVA sólo multiplica si hay IVA PrecioConIVA=precioitem*FactorIVA 'Se establece el porcentaje de cobro de portes según bultos If RowCFG("Portes")=False And RowART("Portes")=False Then Cubicaje=0 PortesAhorro=(Row("cantidad")*RowART("PorcenTrans"))/100 Ahorro=Ahorro+PortesAhorro*PrecioPorBulto Else Cubicaje=(Row("cantidad")*RowART("PorcenTrans"))/100 End If 'Si el porcentaje es inferior a 1 pero superior a 0 se establece en 1 If Cubicaje < 1 And Cubicaje > 0 Then Cubicaje=1 %>
<%=FormatNumber(PrecioConIVA)%> €
<% PrecioTotalBultos=PrecioTotalBultos+Cubicaje preciototal=preciototal+PrecioConIVA Row.movenext Loop End If End If 'Final del DO '******************************************* '******************************************* If (int(PrecioTotalBultos)-PrecioTotalBultos<0) Then 'es que había decimales en el Cubicaje, devuelvo el valor entero + 1 SumaCubicajes=int(PrecioTotalBultos)+1 Else 'es que no había decimales SumaCubicajes=PrecioTotalBultos End If preciototal=preciototal+(SumaCubicajes*PrecioPorBulto*FactorIVA) %>
<% ValorCiudad=0 select case Lug case"Islas Canarias" ValorCiudad=1 case"Ceuta y Melilla" ValorCiudad=1 case"America" ValorCiudad=2 case"Otros" ValorCiudad=2 end select %> <%If Lug="America" Or Lug="Otros" Then%> Tarjeta de Crédito <%Else%> <%End If%>
<%If Ahorro>0 Then Response.Write("Ahorro en portes")%> <%If Ahorro>0 Then%>
<%Response.Write(FormatNumber(Ahorro))%> €
<%End If%> PORTES <%If FactorIVA>1 Then Response.Write("(Iva Incluido)")%>
<%PVPTransporte=FormatNumber(SumaCubicajes * PrecioPorBulto * FactorIVA)%> <%=FormatNumber(SumaCubicajes * PrecioPorBulto * FactorIVA)%> €
TOTAL CON <%If FactorIVA>1 Then Response.Write("IVA Y") %> PORTES
<%=FormatNumber(preciototal)%> €

Precios válidos salvo error tipográfico o fin de existencias.

Continua
*CON IVA: En los destinos Islas Baleares, Ceuta y Melilla. No se aplicará IVA en América y Otros.
<% Row.Close Set Row = Nothing If VError=1 then Response.Write("") End If If VError=2 then Response.Write("") End If If VError=3 then Response.Write("") End If If VError=4 then Response.Write("") End If If VError=5 then Response.Write("") End If %>