Jump to content


Loja Locaweb


  • Faça o login para participar
12 replies to this topic

#1 fas

fas
  • Visitantes

Posted 26/02/2003, 16:52

estou com a minha loja praticamente pronta...já em fase de testes...´so que apareceu um erro que nem tenho noção.

Microsoft VBScript runtime error '800a005e'
Invalid use of Null: 'CDbl'

/store/carrinho.asp, line 281


O que pode ser isto?!!?

#2 Arley

Arley

    12 Horas

  • Usuários
  • 188 posts
  • Sexo:Não informado
  • Localidade:Brasilia
  • Interesses:ASP <br>banco de dados

Posted 26/02/2003, 16:57

Cara acho que sei pq ta dando esse erro, mas por vias das dúvidas tem como vc postar o seu codigo.
ok ok!
Sem Imagens!

#3 Guest

Guest
  • Visitantes

Posted 26/02/2003, 19:43

Poxa Arley, espero que você consiga me ajudar! Agora fiquei preocupado!

<!--#INCLUDE FILE="funcoes_uteis.asp" -->
<!--#INCLUDE FILE="frete.asp" -->
<!--#INCLUDE FILE="met_pag_carrinho.asp" -->
<%
' *********************************************************
' Versão 4.1
' *********************************************************

' Abre conexao com banco de dados
Set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open Application("StringConexaoODBC")

' Quando esta pagina é chamada pela primeira vez durante a visita, é criado um novo registro na 
' tabela de pedidos, e este tambem é gravado na variavel de sessao

pedido_cookie = Request.Cookies(Application("Nome"))("codigo_pedido")

If Session("user_id") = "" Then
	Session("user_id") = Request.Cookies(Application("Nome"))("user_id")
	' este cookie eh utilizado pelo WebTrends para gerar o relatorio de visitantes
	' que mais frequentaram o site.
	Session("cookieID") = Request.Cookies("SITESERVER")("ID")
End If

Session("taxa_envio") = 0

If Request.Form = "" Then

	' Pesquisa o codigo de pedido mais alto existente
	Set RS_Max = Server.CreateObject("ADODB.Recordset")

        ' checa se pedido ja foi concluido, se nao insere na tabela.
	' Isto é necessario por medidas de seguranca. O Cookie é um arquivo texto facilmente
	' modificado e alguem pode tentar usar um pedido que ja existe e foi concluido e assim
        ' iria estraga-lo.
	If pedido_cookie <> "" Then

  RS_Max.Open "SELECT codigo_pedido, forma_pagamento FROM Pedidos WHERE codigo_pedido=" & pedido_cookie, Conexao
  If RS_Max.EOF Then
 	 ' Nao achou. Tem que criar pedido
 	 pedido_cookie = ""
  Else
 	 ' Ja que pedido nao foi completado podemos usa-lo.
 	 If IsNull(RS_Max("forma_pagamento")) Then
    Session("codigo_pedido") = pedido_cookie
 	 ' Pedido ja foi usado.
 	 Else
    pedido_cookie = ""
 	 End If
  End If
                RS_Max.Close  
	End If
	' cria novo pedido se nao estiver no Cookie ja ou se for verificado que esta pedido
        ' ja foi completado.
	If pedido_cookie = "" Then

  RS_Max.Open "SELECT MAX(codigo_pedido) AS max_codigo_pedido FROM Pedidos", Conexao

  ' Acrescenta 1 e grava novo codigo de pedido
  If IsNull(RS_Max("max_codigo_pedido")) Then
 	 novo_codigo_pedido = Application("NumPedidoInicial")
  Else
 	 novo_codigo_pedido = RS_Max("max_codigo_pedido") + 1
  End If

  Conexao.Execute "INSERT INTO Pedidos (codigo_pedido) VALUES (" & novo_codigo_pedido & ")"
  ' Grava novo codigo do pedido na sessao para que possa ser lido de outras paginas
  Session("codigo_pedido") = novo_codigo_pedido
  '  Grava novo codigo do pedido em um cookie.
       	 Response.Cookies(Application("Nome"))("codigo_pedido") = novo_codigo_pedido
  Response.Cookies(Application("Nome")).Expires = now + Application("DiasValidosPedido")
  Response.Cookies(Application("Nome")).Domain = Application("URLdaLoja")
                RS_Max.Close  
	End If
        Set RS_Max = Nothing

End If

' Esta pagina pode ser chamada de dois diferentes locais:
'
' Da pagina de produtos, quando o visitante clica em um produto:
' Nesse caso, deve ser lida a variavel codigo_produto, que e enviada junto com o request da pagina
' pois os links da pagina de produto sao do tipo carrinho.asp?codigo_produto=xxx
' 
' Da propria pagina carrinho.asp quando o visitante resolve mudar a quantidade de um dos itens.
' Nesse caso a quantidade alterada devera estar na variavel de POST

Set RS_Pedido_Item = Server.CreateObject("ADODB.Recordset")

If Request.QueryString("codigo_produto") <> "" Then
	' Chamada foi feita clicando em um item na pagina de produtos

	' Se ja nao esta no pedido, item é incluido na tabela Pedido_Item
	RS_Pedido_Item.Open "SELECT codigo_pedido FROM Pedido_Item WHERE codigo_pedido = " & Session("codigo_pedido") & " AND codigo_produto = " & Request.QueryString("codigo_produto"), Conexao
	
	If RS_Pedido_Item.EOF Then
  ' Nao achou. Portanto inclui
  Conexao.Execute "INSERT INTO Pedido_Item (codigo_pedido, codigo_produto, quantidade, preco_unitario) VALUES (" & Session("codigo_pedido") & ", " & Request.QueryString("codigo_produto") & ", 1, 0)"
	End If
	num_itens_total = 1
	RS_Pedido_Item.Close
End If

If Session("codigo_pedido") = "" Then

   Conexao.Close

   Set RS_Pedido_Item = Nothing
   Set Conexao = Nothing

   Call Checa_Sessao_Pedido()

End If 

If Request.Form <> ""  Then
	' Chamada foi feita atraves do botao atualizar desta pagina
	
	' Regrava todos os itens do pedido de acordo com os campos do formulario;

	' Primeiro apaga tudo para regravar
	Conexao.Execute "DELETE FROM Pedido_Item WHERE codigo_pedido = " & Session("codigo_pedido")

	' Para cada campo do formulario, nome do campo é o código do produto a incluir
	' e o valor do campo é a quantidade escolhida
	For Each nome_controle In Request.Form
  If Left(nome_controle,5) = "Quant" And Request.Form(nome_controle) <> "0" Then
                        nome_controle_cod_prod=Mid(nome_controle,7,5) 'Pega os caracteres a partir do sexto. O Máximo de codigos é 99.999.
 	 comandoSQL = "INSERT INTO Pedido_Item (codigo_pedido, codigo_produto, quantidade, preco_unitario) VALUES ("
 	 comandoSQL = comandoSQL & Session("codigo_pedido") & ", " & nome_controle_cod_prod & ", " & Request.Form(nome_controle) & ", 0)"
 	 Conexao.Execute comandoSQL
  End If
	Next
End If

RS_Pedido_Item.Open "SELECT Pedido_Item.codigo_pedido, Pedido_Item.codigo_produto, Pedido_Item.quantidade, Produtos.nome_produto, Produtos.preco_unitario, Produtos.peso FROM Pedido_Item, Produtos WHERE codigo_pedido = " & Session("codigo_pedido") & " AND Pedido_Item.codigo_produto = Produtos.codigo_produto", Conexao
subtotal = 0

' Checa se carrinho possui algum item 
If Not RS_Pedido_Item.EOF Then
%>
<HTML><!-- #BeginTemplate "/Templates/neutros.dwt" -->
<HEAD>
<!-- #BeginEditable "doctitle" --> 
<TITLE>:::::::::: SPORTS ::::::::</TITLE>
<!-- #EndEditable --> 
<STYLE type=text/css>
BODY {SCROLLBAR-FACE-COLOR: #ffffff; SCROLLBAR-HIGHLIGHT-COLOR: #808080; SCROLLBAR-SHADOW-COLOR: #808080; SCROLLBAR-3DLIGHT-COLOR: #ffffff; SCROLLBAR-ARROW-COLOR: #808080; SCROLLBAR-TRACK-COLOR: #ffffff; SCROLLBAR-DARKSHADOW-COLOR: #ffffff}
.politicas {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9px; color: #FF6633; text-decoration: none; font-style: normal}
.forms {  border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px}
</STYLE>
<META content="MSHTML 6.00.2712.300" name=GENERATOR>
</HEAD>
<BODY bgColor=#8796ad leftMargin=31 background="neutros/files/fundo.jpg" topMargin=0 onload="" marginheight="0" marginwidth="0">
<table width="718" border="0" cellspacing="0" cellpadding="0" align="left" height="100%" bgcolor="#ededed">
  <tr valign="top"> 
    <td height="0">&nbsp;</td>
  </tr>
  <tr valign="top"> 
    <td height="100%"> 
      <table width="95%" border="0" cellspacing="0" cellpadding="0" align="center" height="100%">
        <tr> 
          <td><!-- #BeginEditable "corpo" --> 
            <center>
            </center>
            <table border=0 align="center" width="600">
              <td> <font size="3"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Carrinho 
                de Compras</font></b></font> 
                <p align="LEFT"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Confirme 
                  suas compras. Clique em Calcular Frete, antes de escolher a 
                  forma de pagamento.</font></p>
                <form method="POST" action="carrinho.asp" name="carrinho">
                  <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
                  <input type="hidden" name="tipofrete" value="<%= Application("TipoFrete") %>">
                  </font> 
                  <table border="1" bordercolor=#C0C0C0>
                    <tr> 
                      <td width="5%"> 
                        <div align="CENTER"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><font color=#8796AD>Cód</font></b> 
                          </font></div>
                      </td>
                      <td width="55%"> 
                        <div align="CENTER"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><font color=#8796AD>Nome 
                          do produto</font></b> </font></div>
                      </td>
                      <td width="15%"> 
                        <div align="CENTER"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><font color=#8796AD>Preço</font></b> 
                          </font></div>
                      </td>
                      <td width="10%"> 
                        <div align="CENTER"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><font color=#8796AD>Quant.</font></b> 
                          </font></div>
                      </td>
                      <td width="15%"> 
                        <div align="CENTER"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><font color=#8796AD>Total</font></b> 
                          </font></div>
                      </td>
                      <td width="10%"> 
                        <div align="center"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b><font color=#8796AD>Excluir?</font></b> 
                          </font></div>
                      </td>
                    </tr>
                    <%
' Para cada registro na tabela Pedido_Item, mostra uma nova linha na tabela com
' codigo, descricao, preco, quantidade e total
' O trecho de HTML enviado fica conforme o exemplo:
'    <tr> 
'      <td width="10%"> 
'        <div align="RIGHT">
'          0193834
'        </div>
'      </td>
'      <td width="60%">Máquina fotográfica</td>
'      <td width="10%"> 
'        <div align="RIGHT">
'          55,00 
'        </div>
'      </td>
'      <td width="10%">
'        <div align="RIGHT">
'          <input type="TEXT" name="textfield" size="2" maxlength="2" value="2">
'        </div>
'      </td>
'      <td width="10%"> 
'        <div align="RIGHT">
'          110,00 
'        </div>
'      </td>
'    </tr>

    message = "Produto                   Preco Unitario     Quantidade   Total<BR>===============================================================<BR>"

    RS_Pedido_Item.MoveFirst
    While Not RS_Pedido_Item.EOF
%> 
                    <tr> 
                      <td width="5%"> 
                        <div align="RIGHT"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= RS_Pedido_Item("codigo_produto") %></font> 
                        </div>
                      </td>
                      <td width="55%"> 
                        <div align="LEFT"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= RS_Pedido_Item("nome_produto") %></font> 
                        </div>
                      </td>
                      <td width="15%"> 
                        <div align="RIGHT"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= FormatCurrency(RS_Pedido_Item("preco_unitario")) %></font> 
                        </div>
                      </td>
                      <td width="10%"> 
                        <div align="RIGHT"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
                          <input type="TEXT" name="Quant_<%= RS_Pedido_Item("codigo_produto") %>" size="2" maxlength="2" value="<%= RS_Pedido_Item("quantidade") %>">
                          </font></div>
                      </td>
                      <td width="15%"> 
                        <div align="RIGHT"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= FormatCurrency(RS_Pedido_Item("quantidade") * RS_Pedido_Item("preco_unitario"))%></font> 
                        </div>
                      </td>
                      <td width="10%" align="center"> 
                        <div align="center"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"><a href="javascript:remover_produto('Quant_'+<%= RS_Pedido_Item("codigo_produto") %>)"><img src=images/excluir.gif border=0></a> 
                          </font></div>
                      </td>
                    </tr>
                    <%
     subtotal = subtotal + CDbl(RS_Pedido_Item("quantidade") * RS_Pedido_Item("preco_unitario"))
     peso_total = peso_total + CDbl(RS_Pedido_Item("quantidade") * RS_Pedido_Item("peso"))
            message = message &_ 
               Left(RS_Pedido_Item("nome_produto") & Space(29), 29) &_
               Right(Space(11) & FormatCurrency(RS_Pedido_Item("preco_unitario")), 11) &_
               Right(Space(10) & RS_Pedido_Item("quantidade"),10) &_
               Right(Space(13) & FormatCurrency(subtotal), 13) & chr(13)

            ' agora é o momento de atualizar o preco_unitario em pedidos_item - aqui guardamos o historico
            ' do preco. Se ele mudar no produto, preservamos o valor antigo no pedido.
     If Application("DBAccess") = 1 Then
        Conexao.Execute "UPDATE Pedido_Item SET preco_unitario = cdbl('" & FormatNumber(RS_Pedido_Item("preco_unitario")) & "') WHERE codigo_pedido = " & Session("codigo_pedido") & " AND codigo_produto = " & RS_Pedido_Item("codigo_produto")
     Else
               Conexao.Execute "UPDATE Pedido_Item SET preco_unitario = convert(float, '" & replace(RS_Pedido_Item("preco_unitario"), ",", ".") & "') WHERE codigo_pedido = " & Session("codigo_pedido") & " AND codigo_produto = " & RS_Pedido_Item("codigo_produto")
         End If
  
     RS_Pedido_Item.MoveNext
     Wend

     ' mensagem a ser impressa no recibo do cartao VISA ( se for o caso do cartao ser escolhido )
     message = message & Space(39) & "Subtotal     " & Right(Space(11) & FormatCurrency(subtotal),11) & "<BR>"
     
' Agora grava e mostra o subtotal
     Session("subtotal") = CDbl(subtotal)
     Session("total") = CDbl(subtotal)
     Session("peso_total") = CDbl(peso_total)

'*********************************************************
'*** calcula frete segundo o metodo selecionado em GLOBAL.Asa

     If Request("cep1") <> "" And Request("cep2") <> "" Then
	Session("cep") = Request("cep1") & Request("cep2")
     End If

     Call Calcula_frete(Application("TipoFrete"), Session("cep"))

     If Application("DBAccess") = 1 Then
    Conexao.Execute "UPDATE Pedidos SET tipo_sedex = '" & Session("tipo_sedex") & "',subtotal = cdbl('" & FormatNumber(Session("subtotal")) & "'), taxa_envio = CDbl('" & FormatNumber(Session("taxa_envio")) & "'), total = CDbl('" & FormatNumber(Session("total")) & "') WHERE codigo_pedido = " & Session("codigo_pedido")
     Else
           Conexao.Execute "UPDATE Pedidos SET tipo_sedex = '" & Session("tipo_sedex") & "',subtotal = convert(float, '" & replace(Session("subtotal"), ",", ".") & "'), taxa_envio = convert(float, '" & replace(Session("taxa_envio"), ",", ".") & "'), total = convert(float, '" & replace(Session("total"),",", ".") & "') WHERE codigo_pedido = " & Session("codigo_pedido")
     End If

     If Session("taxa_envio") <> 0 Then
%> 
                    <tr> 
                      <td colspan="4"> 
                        <div align="RIGHT"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><% If Application("TipoFrete") = "SEDEX" Then %> 
                          Taxa de envio: <% Else  %> Taxa de envio:</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><% End If %> 
                          </font></div>
                      </td>
                      <td width="15%"> 
                        <div align="RIGHT"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= FormatCurrency(Session("taxa_envio")) %></font> 
                        </div>
                      </td>
                    </tr>
                    <% End If %> 
                    <tr> 
                      <td colspan="4"> 
                        <div align="RIGHT"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><% If Session("taxa_envio") <> 0 Then %> 
                          Total:</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><% Else %> 
                          Subtotal:</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><% End If %> 
                          </font></div>
                      </td>
                      <td width="15%"> 
                        <div align="RIGHT"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><%= FormatCurrency(Session("total")) %></b></font> 
                        </div>
                      </td>
                    </tr>
                  </table>
                  <hr color=8796AD>
                  <font face="Verdana, Arial, Helvetica, sans-serif" size="2"><%  ' *** controles para o calculo do frete. No caso do SEDEX os CEPS. No caso
' *** do personalizado, Localidades.
Call Mostra_frete(Application("TipoFrete"), Conexao)  %> </font> 
                </form>
                <hr color=8796AD>
                <p align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><a href="javascript:atualizar_carrinho()"><img border=0 src="images/bot_atualizar.gif"></a> 
                  </font> 
                <ul>
                  <li> 
                    <center>
                      <font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Para 
                      modificar a quantidade, altere o valor e clique ATUALIZAR 
                      COMPRAS</b> </font> 
                    </center>
                  </li>
                </ul>
                <ul>
                  <li> 
                    <center>
                      <font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Para 
                      calcular o frete, se a loja o disponibilizar, selecione 
                      a modalidade e clique em CALCULAR FRETE</b> </font> 
                    </center>
                  </li>
                </ul>
                <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
                <script language="JavaScript">
<!--//

function remover_produto(nome)
{
       eval("document.carrinho."+nome+".value = 0");  // estamos zerando o carrinho.
       document.carrinho.submit ();
}

function atualizar_carrinho() {
       var resposta, Form;
       Form = document.carrinho;
       resposta = true;
       if (Form.tipofrete.value == "SEDEX" && (Form.cep1.value.length != 0 || Form.cep2.value.length != 0)) {
           resposta = valida_cep();
       }
       if (resposta == true)
           document.carrinho.submit ();
}

function calcular_frete() {
       var resposta;

       resposta = valida_cep();
       if (resposta == true)
           document.carrinho.submit ();
}

function mostra_calculo_frete() {
    var Form;
    Form = document.pagamento;
    janela = window.open('calculo_frete.asp?valor=' + Form.subtotal.value + '&frete=' + Form.taxa_envio.value + '&cepdestino=' + Form.cep.value + '&peso=' + Form.peso.value + '&tipo_sedex=' + Form.tipo_sedex.value,'promocao','width=600,height=250,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=yes')
    if (janela != null) {
          janela.location.href ='calculo_frete.asp?valor=' + Form.subtotal.value + '&frete=' + Form.taxa_envio.value + '&cepdestino=' + Form.cep.value + '&peso=' + Form.peso.value + '&tipo_sedex=' + Form.tipo_sedex.value
    }

}

function metodo_pagamento(nome) { 

   var carteira, i, sel, num_pag, temp, metodo_pag, ssl, acao;

   num_pag = document.pagamento.num_pagamentos.value;
   if (document.pagamento.taxa_envio.value == 0 && !document.carrinho.frete_teste) {
     alert("Por favor, calcule a taxa de envio...");         
   } else { 
     if (num_pag == "1") {
       temp = document.pagamento.tipo.value;
       acao = document.pagamento.URL_Autentica.value + "?acao=login" + "&forma_pagamento=" + metodo_pag;
    eval("document.pagamento.action='" + acao + "'");
      document.pagamento.submit();
     } else {
       for (i=0; i<num_pag; i++) {
         if (document.pagamento.tipo[i].checked == true) {
               //alert(document.pagamento.tipo[i].value);
               sel = i;
               break;
         }
       }
       temp = document.pagamento.tipo[sel].value;
     }

     // Ex CHEQUE0
     // CHEQUE - Cheque Eletronico, 0 - sem SSL
     // VISA1
     // VISA - VisaNet, 1 - com SSL

    // temp = document.pagamento.tipo[sel].value;
     metodo_pag = temp.substring(0,temp.length-1);
     if (metodo_pag == "AMERICAN" || metodo_pag == "REDECARD" || metodo_pag == "VISA") metodo_pag = "CARTAO"; 
     ssl = temp.substring(temp.length-1,temp.length);
     if (ssl == "0") {
         acao = document.pagamento.URL_Autentica.value + "?acao=login" + "&forma_pagamento=" + metodo_pag;
         //eval("document.pagamento.action='" + document.pagamento.URL_Autentica.value + "?acao=login" + "&forma_pagamento=" + metodo_pag + "'");
     } else {
        acao = document.pagamento.URL_Autentica_seguro.value + "?acao=login" + "&forma_pagamento=" + metodo_pag;
        //eval("document.pagamento.action='" + document.pagamento.URL_Autentica_seguro.value + "?acao=login" + "&forma_pagamento=CARTAO&cartao=" + document.pagamento.tipo[sel].value + "'");
     }
     if (metodo_pag == "CARTAO") {
        acao = acao + "&cartao=" + temp.substring(0,temp.length-1);
     }

     eval("document.pagamento.action='" + acao + "'");

     document.pagamento.submit();
   }

}

function valida_cep() {

     Form = document.carrinho;
     if (Form.cep1.value.length == 0) {
	alert("Por favor digite um CEP !");
        Form.cep1.focus();
        return false;
     }
     if (Form.cep2.value.length == 0) {
	alert("Por favor digite um CEP !");
        Form.cep2.focus();
        return false;
     }
     s = limpa_string(Form.cep1.value);
     if (s.length != 5) {
	alert("O CEP deve ter caracteres numericos !");
        Form.cep1.focus();
        return false;
     }
     s = limpa_string(Form.cep2.value);
     if (s.length != 3) {
	alert("O CEP deve ter caracteres numericos !");
        Form.cep2.focus();
        return false;
     }
     return true;
}

function limpa_string(S){
// Deixa so' os digitos no numero
var Digitos = "0123456789";
var temp = "";
var digito = "";
    for (var i=0; i<S.length; i++){
      digito = S.charAt(i);
      if (Digitos.indexOf(digito)>=0){temp=temp+digito}
    }
    return temp
}

//-->
</script>
                </font> 
                <hr color=8796AD>
                <center>
                  <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Selecione 
                  sua forma de pagamento:</b> </font> 
                </center>
                <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><% 
' Para chamar o Bradesco a URL é a seguinte:
'     http://www.sualoja.com.br/autentica.asp?forma_pagamento=BRADESCO
' Para chamar o Boleto a URL é a seguinte:
'     http://www.sualoja.com.br/autentica.asp?forma_pagamento=BOLETO
' Para chamar o Cartao a URL é a seguinte:
'     https://sslx.locaweb.com.br/sualoja/autentica.asp?forma_pagamento=CARTAO
%> </font> 
                <form method="POST" name="pagamento">
                  <table border=0 align=center width="70%">
                    <% '*************************** cria aqui seleção dos meios de pagamento
    NumeroFormaPagamentos = CriaSelecaoPagamentos(Application("MeiosPagamentoSeguro"))  %> 
                    <input type="hidden" name="num_pagamentos" value="<%= NumeroFormaPagamentos %>">
                  </table>
                  <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><% If Application("TipoFrete") = "SEDEX" And Session("taxa_envio") = 0 And Session("cep") <> "" Then %> 
                  </font> 
                  <p align=center><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>O 
                    CEP digitado não consta dos registros. Por favor, tente novamente 
                    ( talvez colocar "000" nos últimos 3 dígitos )</b></font></p>
                  <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><% ElseIf Application("TipoSedex") = "SEDEX" And Session("taxa_envio") = 0 And Session("cep") = "" Then %> 
                  </font> 
                  <p align=center><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Por 
                    favor digite o CEP e clique em Cálcular Frete.</font></p>
                  <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><% End If %> 
                  </font> 
                  <p align=center><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="javascript:metodo_pagamento()"><img border=0 src="images/bot_pagar.gif"></a> 
                    <input type="HIDDEN" name="URL_Autentica"    value="<%= Application("URL_Autentica") %>" >
                    <input type="HIDDEN" name="URL_Autentica_seguro" value="<%= Application("URL_Autentica_seguro") %>" >
                    <% 'passa parametros para a seção segura SSL a fim de recriar as variaveis de secao %> 
                    <input type="HIDDEN" name="codigo_pedido" value="<%= Session("codigo_pedido") %>" >
                    <input type="HIDDEN" name="peso"          value="<%= Session("peso_total")  %>" >
                    <input type="HIDDEN" name="tipo_sedex"    value="<%= Session("tipo_sedex")  %>" >
                    <input type="HIDDEN" name="taxa_envio"    value="<%= Session("taxa_envio")  %>" >
                    <input type="HIDDEN" name="message"       value="<%= message %>" >
                    <input type="HIDDEN" name="user_id"       value="<%= Session("user_id") %>" >
                    <input type="HIDDEN" name="subtotal"      value="<%= Session("subtotal") %>" >
                    <input type="HIDDEN" name="cookieID"      value="<%= Session("cookieID") %>" >
                    <input type="HIDDEN" name="cep"           value="<%= Session("cep") %>" >
                    </font> 
                </form>
                <p align="CENTER"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="<%= Application("URL_Categorias") %>"><i>Voltar 
                  ao Catálogo dos Produtos</i></a></font></p>
                <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%
   RS_Pedido_Item.Close
' Caso o carrinho esteja vazio, redireciona para pagina de categorias
Else 
   RS_Pedido_Item.Close
   Conexao.Close

   Set RS_Pedido_Item = Nothing
   Set Conexao = Nothing

   Response.Redirect Application("URL_Categorias")
   Response.End

End If 

Conexao.Close

Set RS_Pedido_Item = Nothing
Set Conexao = Nothing
%> </font></td>
            </table>
            <!-- #EndEditable --></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
</BODY><!-- #EndTemplate --></HTML>


#4 Arley

Arley

    12 Horas

  • Usuários
  • 188 posts
  • Sexo:Não informado
  • Localidade:Brasilia
  • Interesses:ASP &lt;br&gt;banco de dados

Posted 27/02/2003, 15:25

essa Parte do seu codigo acho que ta errada.

If Application("DBAccess") = 1 Then

Conexao.Execute "UPDATE Pedido_Item SET preco_unitario = cdbl('" & FormatNumber(RS_Pedido_Item("preco_unitario")) & "') WHERE codigo_pedido = " & Session("codigo_pedido") & " AND codigo_produto = " & RS_Pedido_Item("codigo_produto")

Else

Conexao.Execute "UPDATE Pedido_Item SET preco_unitario = convert(float, '" & replace(RS_Pedido_Item("preco_unitario"), ",", ".") & "') WHERE codigo_pedido = " & Session("codigo_pedido") & " AND codigo_produto = " & RS_Pedido_Item("codigo_produto")

End If




Troque por esta e veja se resolve.

If Application("DBAccess") = 1 Then

Conexao.Execute "UPDATE Pedido_Item SET preco_unitario =" & cdbl(FormatNumber(RS_Pedido_Item("preco_unitario")))& "WHERE codigo_pedido=" & Session("codigo_pedido") & " AND codigo_produto = " & RS_Pedido_Item("codigo_produto")

Else

Conexao.Execute "UPDATE Pedido_Item SET preco_unitario =" & convert(float, replace(RS_Pedido_Item("preco_unitario")))& "WHERE codigo_pedido = " & Session("codigo_pedido") & " AND codigo_produto = " & RS_Pedido_Item("codigo_produto")

End If


Nao consegui testar aqui, mas vi que vc deixou alguns comandos dentro das aspas do SQL isso gera erro tb.
veja se vai funcionar assim.

Qualquer coisa posta denovo
Valeu
ok ok!
Sem Imagens!

#5 fas

fas
  • Visitantes

Posted 27/02/2003, 21:03

amigo arley, meu, valeu mesmo o help...tava numa enrascada das boas!

Ainda não mudei o codigo pois o erro parou de aparecer...por acaso tem algo lógico nisso ou é o calor, ou o carnaval?!?!?

Bem, guardei este código para, quando o erro aparecer novamente, eu substituí-lo...não com a preguiça de arrumar, mas de tentar captar em qual situação isso acontece...para depois passar para outros colegas a resolução final.

Valeu novamente!

#6 Arley

Arley

    12 Horas

  • Usuários
  • 188 posts
  • Sexo:Não informado
  • Localidade:Brasilia
  • Interesses:ASP &lt;br&gt;banco de dados

Posted 27/02/2003, 21:09

Blz Meu irmão,

Estamos aqui para isso hehe , mas se de erro denovo e minha modificação nao der certo c posta aqui denovo blz!

Calor do carnacal hehe

Até mais
ok ok!
Sem Imagens!

#7 fas

fas
  • Visitantes

Posted 05/03/2003, 10:52

aproveitando sua boa vontade (valeu mesmo)...

Nessa mesma página de carrinho, tem como não limitar o peso em 30kg?

Meu site entregará geladeira, mas como pesa mais de 30 kg ele num permite a compra...e como o cliente num fez ainda nenhuma negociação com transportadora, vai calcular com a mesma tabela do sedex...

#8 Arley

Arley

    12 Horas

  • Usuários
  • 188 posts
  • Sexo:Não informado
  • Localidade:Brasilia
  • Interesses:ASP &lt;br&gt;banco de dados

Posted 05/03/2003, 11:35

Cara tem como vc posta o codigo que limita o tamanho. Pois nao achei no codigo que vc postou acho que vc ta colocando o peso_total dentro de um session.

Vc tem que ver tb se o seu calculo de frete suporta um peso amior que 30kg.

valeu
ok ok!
Sem Imagens!

#9 fas

fas
  • Visitantes

Posted 05/03/2003, 21:38

putz...o pior é que já procurei o xxxxxx....Acho que entrei numa fria...no global.asa ele especifica que:
Application("TipoFrete") = "SEDEX",

Na hora que compro um total superior a 30kg, aparece a seguinte frase: 'O limite maximo de peso para esta modalidade de servico e de 30 Kg" e em nenhum arquivo do sistema locaweb aparece esta frase para que eu possa encontrar o local onde posso mexer...

bem no código que postei mostra claramente que ele trabalha com session de peso:
Session("peso_total") = CDbl(peso_total)

Será que conseguimos alguma coisa?!?!?!

#10 Arley

Arley

    12 Horas

  • Usuários
  • 188 posts
  • Sexo:Não informado
  • Localidade:Brasilia
  • Interesses:ASP &lt;br&gt;banco de dados

Posted 05/03/2003, 23:17

c ta trabalhando com xml nesse codigo? Pois dei uma olhada no codigo (baixei a loja da locaweb) e vi que eles fazem conexao com o banco de dados dos Correios SEDEX.
Nisso fica a critério dos correios o peso total que eles podem enviar por sedex.

Tb vi que eles gravaram algumas coisas em Dlls ai nao tem como saber o que tem la. pois esta gravada no servidor da locaweb

Ai como nao entendo muito de xml fica meio difil de te ajudar.

Caso isso que eu falei esteja errado alguem me corrija pelo amor de Deus.
ok ok!
Sem Imagens!

#11 e-junior

e-junior

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado
  • Localidade:Uberlândia/MG

Posted 04/06/2007, 10:48

cara esse calculo de frete q vc usa e atraves do site dos correios ou vc cadastrou no seu banco de dados????

#12 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 04/06/2007, 15:38

Bem olhando por alto esse código parece que ele tem um BD proprio pois não vi nenhuma URL vindo do site dos correios ...

Respondendo sua pergunta vc pode e deve usar o site dos correios, pois eles forncecem acesso remoto aos calculos usando XML bastando acessar uma URL especifica que eles mandam ... para se cadastrar veja aqui:
http://www.correios....omendas/precos/

Esse tópico é bem velhor (2003) esses usuários nem são mais tão frequentes do fórum sem contar se bobia esses códigos nem existem mais :(
Por favor evite ressusitar tópicos ;)


cara esse calculo de frete q vc usa e atraves do site dos correios ou vc cadastrou no seu banco de dados????



#13 JayJr

JayJr

    Normal

  • Usuários
  • 92 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 15/06/2007, 06:56

cara esse calculo de frete q vc usa e atraves do site dos correios ou vc cadastrou no seu banco de dados????


Cara baixa esse anexo que tu to colocando aqui que vai te ajudar...É um código que calcula direto dos sites dos correios!

Abraços

Attached Files


..::::.. jay ..::::..




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq