Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

santind2

Calculo de frete

Recommended Posts

Bom dia..

 

Estou fazendo o calculo de frete, só que não é feito consumindo o WS dos correios e com isso o calculo é feito todo via consulta de banco.

Como aproveitei um código pronto no carrinho da loja, aproveitei algumas coisas, porém está dando erro e não estou sabendo como resolver..

O que posso adiantar é que na consulta via banco foi criada uma função da seguinte maneira

SELECT * FROM [nomeDoBanco].[dbo].[FCN_PRODUTOS_PRECOS] (
  <@TXT_PRODUTO_QUANTIDADE, varchar(5000),>
 ,<@NUM_VALOR_PRESENTE, numeric(10,2),>)
GO

 

E a pagina original do carrinho é a seguinte:


<!--#include file="../../scripts/config.asp"-->
<!--#include file="../scripts/config.asp"-->
<!--#include file="../../scripts/funcoes.asp"-->
<!--#include file="../scripts/seguranca.asp"-->
<!--#include file="../../scripts/funcoes_carrinho.asp"-->
<!--#include file="../../scripts/comp_correios.asp"-->
<%

'// Força o cache a limpar
Response.Expires = -1
Response.Expiresabsolute = Now() - 1
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"


Response.CharSet = "ISO-8859-1"
session.lcid = 1046

Set TB = Server.CreateObject("ADODB.RecordSet")
Set TBAux = Server.CreateObject("ADODB.RecordSet")
Set RS = Server.CreateObject("ADODB.RecordSet")

TB.CursorLocation = 3 : TB.CursorType = 3

Set objCorreios = New brochuraCorreios
Set TB = listProdutoToCarrinho(titLoja)

qtd_reg = TB.RecordCount

txt_campos = ""

if trim(qtd_reg) > "1" then
For i = 1 to qtd_reg
   if trim(txt_campos) = "" then
txt_campos = "txt_cep_"&i
   else
txt_campos = txt_campos&"|txt_cep_"&i
   end if 
Next
else
txt_campos = "txt_cep_"&qtd_reg
end if

'Response.Write Request.Cookies("Loja_" & titLoja & "_Sessao")

rd_forma = Session(titLoja&"_forma_cep")
rd_frete = Session(titLoja&"_tipo_frete")
numCep = Session(titLoja&"_txt_cep_unico")

if trim(rd_forma) = "" then rd_forma = 0
if trim(rd_frete) = "" then rd_frete = "pac"
if trim(numCep) = "0" then numCep = "" 

if trim(qtd_reg) > "0" then

%>
<form id="form_carrinho" name="form_carrinho" method="post" action="pedidos_gerencia_carrinho.asp" target="frameOcorrencias" onsubmit="return validacep(<%=qtd_reg%>);">

<input type="hidden" id="action" name="action" value="4">
   <input type="hidden" id="txt_campos" name="txt_campos" value="<%=txt_campos%>">
<table cellpadding="0" cellspacing="0" border="0" width="100%">
       <tr>
		<td colspan="9" style="height:40px; vertical-align:top;">
			<table cellspacing="1" cellpadding="0" border="0" width="100%" bgcolor="#F2F2F2" style="margin:0 0 15px 0;">
           	  <tr>
           	    <td width="27%"><strong>Tipo de Frete:</strong></td>
           	    <td width="2%"><input type="radio" name="rd_frete" id="rd_frete" value="pac" <%if trim(rd_frete) = "pac" then response.Write "checked='checked'"%> onclick="mudaBotao(1);" /></td>
           	    <td width="15%"><strong>PAC</strong></td>
           	    <td width="2%"><input name="rd_frete" type="radio" id="rd_frete" value="sedex" <%if trim(rd_frete) = "sedex" then response.Write "checked='checked'"%> onclick="mudaBotao(1);" /></td>
           	    <td width="54%"><strong>Sedex</strong></td>
          	      </tr>
          	  </table>

           	<table cellspacing="1" cellpadding="0" border="0" width="100%" bgcolor="#F2F2F2">
               	<tr>
                   	<td width="27%"><strong>Escolha a forma de envio:</strong></td>
                       <td width="2%" title=""><input type="radio" name="rd_forma" id="rd_forma" value="0" onclick="formaCep();mudaBotao(1)" <%if trim(rd_forma) = "0" then response.Write "checked"%> /></td>
                       <td width="18%">Para o mesmo CEP</td>
                       <td width="19%"><input type="text" name="txt_cep_unico" id="txt_cep_unico" style="width:65px; " maxlength="9" onKeyPress="return digitos(event, this);" onkeyup="Mascara('CEP',this,event);mudaBotao(1);" value="<%=numCep%>" /></td>
                       <td width="2%" title="Somente em casos onde a compra é para mais de um produto e para CEPs diferentes"><input type="radio" name="rd_forma" id="rd_forma" value="1" onclick="formaCep(); mudaBotao(1);" <%if trim(rd_forma) <> "0" then response.Write "checked"%> /></td>
                       <td width="32%">Para CEPs diferentes</td>
                   </tr>
              </table>
           </td>
	</tr>
       <tr class="cabecalho">
		<td width="2%"> </td>
		<td width="2%"> </td>
		<td width="34%">Produto</td>
		<td width="14%"><div align="center">CEP</div></td>
           <td width="7%"><img src='../../imagens/admin/ico_presente1.gif' alt='Produto para presente' title='Produto para presente' valign="absmiddle" align="absmiddle" /><span style="font-size:8px;"> R$ <%=FormatNumber(var_presente, 2)%></span></td>
		<td width="6%"><div align="center">Qtd.</div></td>
		<td width="11%"><div align="center">Valor Unit.</div></td>
		<td width="11%"><div align="center">Valor Total</div></td>
		<td width="13%" style="text-align:center"><img src="../../imagens/img/ico/ico_delete_todos.gif" border="0" alt="Remover tudo" title="Remover tudo" style="cursor:pointer;" onclick="javascript:if(confirm('Realmente deseja REMOVER TODOS os itens de seu carrinho de compras?')) window.open('pedidos_gerencia_carrinho.asp?action=3','frameOcorrencias');" /></td>
	</tr>
       <%
	relacao_produtos = ""
	Do while TB.EOF = False
		if trim(relacao_produtos) = "" then
			relacao_produtos = TB("ID_PRODUTO")&"|"&TB("NUM_CHAVE")&"|"&TB("TXT_CEP")&"|"&TB("NUM_QTD")&"|"&TB("BIT_PRESENTE")'&"|"&TB("BIT_APROVADO")
		else
			relacao_produtos = relacao_produtos&","&TB("ID_PRODUTO")&"|"&TB("NUM_CHAVE")&"|"&TB("TXT_CEP")&"|"&TB("NUM_QTD")&"|"&TB("BIT_PRESENTE")'&"|"&TB("BIT_APROVADO")
		end if			
	TB.MoveNext : Loop
	TB.Close

	SQL = "SELECT a.ID_PRODUTO "_
		& " 	, a.NUM_CHAVE "_
		& "		, a.NUM_QUANTIDADE "_
		& "		, a.NUM_PRECO_UNITARIO "_
		& "		, a.BIT_PRESENTE "_
		& "		, a.NUM_PRECO_PRESENTE "_
		& "		, a.NUM_PRECO_TOTAL "_
		& "		, (a.NUM_PRECO_TOTAL - a.NUM_PRECO_PRESENTE) as NUM_TOTAL_SEM_PRESENTE "_
		& "		, b.TXT_PRODUTO "_
		& "		, b.NUM_PESO_LIQ "_
		& "		, b.NUM_ALTURA "_
		& "		, b.NUM_LARGURA "_
		& "		, b.NUM_COMPRIMENTO "_
		& "		, a.TXT_CEP "_
		& "		, c.ID_TEMPLATE "_
		& "		, d.TXT_TITULO "_
		& "		, isnull(b.BIT_AMOSTRA,0) BIT_AMOSTRA "_
		& "		, isnull(e.BIT_DESCONTO, 0) as BIT_DESCONTO "_
		& "		, isnull(e.TXT_DESCONTO_TIPO, '') as TXT_DESCONTO_TIPO "_
		& "		, isnull(e.NUM_DESCONTO_VALOR, 0) as NUM_DESCONTO_VALOR "_
		& "		, isnull(e.BIT_FRETE_GRATIS, 0) as BIT_FRETE_GRATIS "_
		& "FROM dbo.FCN_PRODUTOS_PRECOS('"&relacao_produtos&"', "&replace(var_presente,",",".")&") a "_
		& "INNER JOIN TBP_PRODUTOS b on b.ID_PRODUTO = a.ID_PRODUTO " _
		& "INNER JOIN TBP_PRODUTOS_TEMPLATES c on c.ID_PRODUTO = b.ID_PRODUTO and c.BIT_ACTIVE = 1 and c.NUM_ORDEM = 1 " _
		& "INNER JOIN TBP_PRODUTOS_UNIDADE d on d.ID_UNIDADE = b.NUM_UNIDADES " _
		& " LEFT OUTER JOIN ( " _
		& " 	SELECT pr.ID_PRODUTO " _
		& " 		, case when count(cps.ID_CATEGORIAS) > 0 then 1 else 0 end BIT_DESCONTO " _
		& " 		, case when count(cps.ID_CATEGORIAS) > 0 then cps.TXT_DESCONTO_TIPO else '' end TXT_DESCONTO_TIPO " _
		& " 		, case when count(cps.ID_CATEGORIAS) > 0 then cps.NUM_DESCONTO_VALOR else 0 end NUM_DESCONTO_VALOR " _
		& " 		, case when count(cps.ID_CATEGORIAS) > 0 then cps.BIT_FRETE_GRATIS else 0 end BIT_FRETE_GRATIS " _
		& " 	FROM TBP_PRODUTOS pr " _
		& " 	INNER JOIN TBP_PRODUTOS_SUBCATEGORIAS prs on prs.ID_SUBCATEGORIAS = pr.ID_SUBCATEGORIAS " _
		& " 	INNER JOIN TBP_PRODUTOS_CATEGORIAS prc on prc.ID_CATEGORIAS = prs.ID_CATEGORIAS_PRINCIPAL " _
		& " 	LEFT OUTER JOIN ( " _
		& " 		SELECT cpdp.ID_CATEGORIAS, cpdp.ID_SUBCATEGORIAS, cpdp.ID_PRODUTO, cp.NUM_DESCONTO_VALOR, cp.TXT_DESCONTO_TIPO, cp.BIT_FRETE_GRATIS " _
		& " 		FROM TBP_CUPONS_DESCONTOS_PRODUTOS cpdp " _
		& " 		INNER JOIN TBP_CUPONS_DESCONTOS_CUPONS cpdc on cpdc.ID_CUPOM = cpdp.ID_CUPOM " _
		& " 		INNER JOIN TBP_CUPONS_DESCONTOS cp on cp.ID_CUPOM = cpdp.ID_CUPOM and cp.BIT_ACTIVE = 1 " _
		& " 		WHERE cpdc.TXT_CUPOM = '" & Trim(lstCupomDescontos(titLoja)) & "' " _
		& " 	) cps on cps.ID_CATEGORIAS = prc.ID_CATEGORIAS " _
		& " 		and isnull(cps.ID_SUBCATEGORIAS, prs.ID_SUBCATEGORIAS) = prs.ID_SUBCATEGORIAS " _
		& " 		and isnull(cps.ID_PRODUTO, pr.ID_PRODUTO) = pr.ID_PRODUTO " _
		& " 	GROUP BY pr.ID_PRODUTO, cps.TXT_DESCONTO_TIPO, cps.NUM_DESCONTO_VALOR, cps.BIT_FRETE_GRATIS " _
		& "		HAVING count(cps.ID_CATEGORIAS) > 0 " _
		& " ) e on e.ID_PRODUTO = a.ID_PRODUTO "
	'Response.Write "<PRE>" & SQL & "</PRE>"
	TB.Open SQL, Conn
	'Response.Write(SQL)
	contador = 0
	num_cep = 0
	numSubTotal = 0
	numTotalPresente = 0
	bitFreteGratis = "" '// Marca se o Frete é Gratis ou não, conforme cadastro do cupom. Caso haja um produto fora do intervalo selecionado (produtos marcado como válidos para o cupom) o frete passa a ser cobrado. Começa com Vaziu para que o controle dentro do loop funcione
	txtTipoDesconto = "" '// Marca o tipo de desconto do cupom (% ou $)
	numValorDesconto = 0 '// Marca o valor do desconto a ser realizado
	numValorParaDescontar = 0 '// Como o cupom é válido somente para produtos selecionados, esta variavem irá calcular o valor total destes produtos (pois no carrinho poderá haver outros e estes outros não devem entrar descontos)
	cepValidoFinal = 1 'Variavel para verificar se existe algum CEP inválido, caso haja mostra uma mensagem no final da listagem de produtos no carrinho
	Set TBAux = listProdutoToCarrinho(titLoja)			
	Do While TB.EOF = False
		cepValido = 0
		contador = contador + 1

		'Rotina para verificar se todos os CEPs foram digitados, caso exista algum vazio não aparece o botão de finalizar pedido
		if trim(TB("TXT_CEP")) <= "0" then
			num_cep = 1
		end if
		If txtTipoDesconto = "" and trim(TB("TXT_DESCONTO_TIPO")) <> "" Then txtTipoDesconto = trim(TB("TXT_DESCONTO_TIPO"))
		If numValorDesconto = 0 and CDbl(TB("NUM_DESCONTO_VALOR")) > 0 Then numValorDesconto = CDbl(TB("NUM_DESCONTO_VALOR"))
		If Cstr(TB("BIT_DESCONTO")) = "1" Then numValorParaDescontar = CDbl(numValorParaDescontar) + trim(TB("NUM_PRECO_TOTAL"))
		If bitFreteGratis <> "0" Then bitFreteGratis = Cstr(TB("BIT_FRETE_GRATIS"))

		'Rotina que verifica se o CEP é válido			
		if trim(TB("TXT_CEP")) > "0" then
			If trim(rd_frete) = "sedex" Then
				If trim(objCorreios.fcnPrecoSedex(var_cepLoja, TB("TXT_CEP"), 0.3, TB("NUM_COMPRIMENTO"), TB("NUM_LARGURA"), TB("NUM_ALTURA"))) > "0" Then
					cepValido = 1
				Else
					cepValidoFinal = 0
				End If
			Else
				If trim(objCorreios.fcnPrecoTabelado(var_cepLoja, TB("TXT_CEP"), 0.3, TB("NUM_COMPRIMENTO"), TB("NUM_LARGURA"), TB("NUM_ALTURA"))) > "0" Then
					cepValido = 1
				Else
					cepValidoFinal = 0
				End If
			End If
		else
			cepValidoFinal = 2
			cepValido = 1
		end if
		%><input type="hidden" id="idProduto_<%=contador%>" name="idProduto_<%=contador%>" value="<%=TB("ID_PRODUTO")%>">
		<input type="hidden" id="ref_<%=contador%>" name="ref_<%=contador%>" value="<%=TB("NUM_CHAVE")%>">
		<tr>
			<td style="padding:10px 0 5px 0; text-align:center;"><%
			'Response.Write TB("ID_PRODUTO")
			If TBAux.EOF = false then
				TBAux.filter = "ID_PRODUTO = " & TB("ID_PRODUTO") & " and NUM_CHAVE = "& TB("NUM_CHAVE")
				if TBAux.EOF = False then
					if cstr(TBAux("BIT_APROVADO")) = "1" then
						response.Write "<img src='../../imagens/img/stu_verd.gif' alt='Personalização Aprovada' title='Personalização Aprovada' />"
					else
						response.Write "<img src='../../imagens/img/stu_verm.gif' alt='Personalização Sem Aprovação' title='Personalização Sem Aprovação' />"
					end if
				end if
				TBAux.filter = ""
			end if
			%></td>
			<td style="padding:10px 0 5px 0; text-align:center;"><img src="../../imagens/img/ico/ico_pencil.png" alt="Alterar Personalização" title="Alterar Personalização" width="16" height="16" onclick="javascript:window.open('produtos_editor.asp?idTemplate=<%=TB("ID_TEMPLATE")%>&idProduto=<%=TB("ID_PRODUTO")%>&idProdutoChave=<%=TB("NUM_CHAVE")%>&numAlt=1','_self');" style="cursor:pointer;" /></td>
			<td style="padding:10px 0 5px 3px;"><%=TB("TXT_PRODUTO")%></td>
			<td style="padding:10px 0 5px 0; text-align:center">
           		<input type="text" name="txt_cep_<%=contador%>" id="txt_cep_<%=contador%>" style="width:65px; <%
				if trim(cepValido) = "0" then response.Write "background-color:#F00; color:#FFF; "

				if trim(rd_forma) = "0" then response.Write "visibility: hidden; "
				%>" maxlength="9" value="<%
				if trim(rd_forma) = "1" then
					if trim(TB("TXT_CEP")) > "0" then response.Write left(TB("TXT_CEP"),5)&"-"&right(TB("TXT_CEP"),3)
				end if
				%>" onKeyPress="return digitos(event, this);" onkeyup="Mascara('CEP',this,event);mudaBotao(1);" onBlur="document.form_carrinho.submit();" />
			</td>
			<td style="padding:10px 0 5px 0;">
			<%if trim(TB("BIT_AMOSTRA")) = "0" then%>
           		<input type="checkbox" name="hd_presente_<%=contador%>" id="hd_presente_<%=contador%>" value="1" onclick="javascript:document.form_carrinho.submit();" <%if trim(TB("BIT_PRESENTE")) = "1" then response.Write "checked"%> alt='Produto para presente acrécimo de R$ <%=FormatNumber(var_presente, 2)%>' title='Produto para presente acrécimo de R$ <%=FormatNumber(var_presente, 2)%>' />
				<img id="bt_presente_claro_<%=contador%>" src='../../imagens/admin/ico_presente1.gif' alt='Produto para presente acrécimo de R$ <%=FormatNumber(var_presente, 2)%>' title='Produto para presente acrécimo de R$ <%=FormatNumber(var_presente, 2)%>' />
			<%
			else
				response.Write " "
			end if
			%>
			</td>            

			<td style="padding:10px 0 5px 0; text-align:center">
			<input type="text" name="txt_qtd_<%=contador%>" id="txt_qtd_<%=contador%>" value="<%=TB("NUM_QUANTIDADE")%>" style="text-align:center; width:30px" onKeyPress="return digitos(event, this);" <%if trim(TB("BIT_AMOSTRA")) = "1" then response.Write "disabled='disabled'" %> onkeyup="mudaBotao(1);" onBlur="document.form_carrinho.submit();" /><%if trim(TB("TXT_TITULO")) <> "" then response.Write "("&TB("TXT_TITULO")&")"%>
			</td>
			<td style="padding:10px 0 5px 0; text-align:center"><%=formatCurrency(TB("NUM_PRECO_UNITARIO"),2)%></td>
			<td style="padding:10px 0 5px 0; text-align:center"><%=formatCurrency(TB("NUM_TOTAL_SEM_PRESENTE"),2)%><%'=formatCurrency(TB("NUM_PRECO_TOTAL"),2)%></td>
			<td style="padding:10px 0 5px 0; text-align:center"><img src="../../imagens/img/ico/ico_delete.gif" border="0" alt="Remover do carrinho" title="Remover do carrinho" style="cursor:pointer;" onClick="javascript:if(confirm('Realmente deseja REMOVER este item de seu carrinho de compras?')) window.open('pedidos_gerencia_carrinho.asp?idProduto=<%=TB("ID_PRODUTO")%>&ref=<%=TB("NUM_CHAVE")%>&action=2','frameOcorrencias');" /></td>
		</tr><%
		'numSubTotal = cDbl(numSubTotal) + cDbl(TB("NUM_PRECO_TOTAL"))
		numSubTotal = cDbl(numSubTotal) + cDbl(TB("NUM_TOTAL_SEM_PRESENTE"))
		if trim(TB("BIT_PRESENTE")) = "1" then numTotalPresente = cDbl(numTotalPresente) + cDbl(var_presente)
	TB.MoveNext : Loop : TB.Close

	'// Calcula os descontos do Cupom, caso haja
	Select Case Cstr(txtTipoDesconto)
		Case "$" '// Desconto em Valor
			If CDbl(numValorDesconto) > CDbl(numValorParaDescontar) Then numValorDesconto = CDbl(numValorParaDescontar)
		Case "%" '// Desconto em %
			numValorDesconto = CDbl(numValorParaDescontar) * (CDbl(numValorDesconto) / 100)
	End Select
	%>       
</table>
 <%if trim(cepValidoFinal) = "0" then%>
   <div id="acoes" style="margin:10px 0 10px 0; background-color:#C30; color:#FFF; text-align:center;">
   	CEP(s) inválido(s)!
   </div>
   <%
end if


SQL = "SELECT a.TXT_CEP, SUM(a.NUM_QUANTIDADE*b.NUM_PESO) as PESO_TOTAL, SUM(a.NUM_PRECO_TOTAL) as PRECO_TOTAL, SUM(b.NUM_ALTURA)as ALTURA, max(b.NUM_COMPRIMENTO) as COMPRIMENTO, max(b.NUM_LARGURA) as LARGURA  "_
	& "FROM dbo.FCN_PRODUTOS_PRECOS('"&relacao_produtos&"', "&replace(var_presente,",",".")&") a "_
	& "INNER JOIN VW_PRODUTOS b on a.ID_PRODUTO = b.ID_PRODUTO and b.ID_LOJA =  "&codigoLoja _
	& " group by a.TXT_CEP"

numFrete = 0
TB.Open SQL, Conn

   Response.Write(SQL)

Do while not TB.EOF
	if trim(TB("PRECO_TOTAL")) > "0" then
		'Rotina que verifica se o CEP é válido
		if trim(TB("TXT_CEP")) > "0" then
			'numFrete = numFrete + objCorreios.fcnPrecoTabelado(var_cepLoja, TB("TXT_CEP"), TB("PESO_TOTAL"), TB("COMPRIMENTO"), TB("LARGURA"), TB("ALTURA"))
			Select Case trim(rd_frete)
				Case "sedex" : numFrete = numFrete + objCorreios.fcnPrecoSedex(var_cepLoja, TB("TXT_CEP"), TB("PESO_TOTAL"), TB("COMPRIMENTO"), TB("LARGURA"), TB("ALTURA")) + var_ar
				'Case "pac" : numFrete = (numFrete + var_pac) + var_ar
				Case "pac" : numFrete = numFrete + objCorreios.fcnPrecoTabelado(var_cepLoja, TB("TXT_CEP"), TB("PESO_TOTAL"), TB("COMPRIMENTO"), TB("LARGURA"), TB("ALTURA")) + var_ar
			End Select
		end if
	end if
TB.MoveNext : Loop
TB.Close

if trim(numFrete) = "0" then cepValidoFinal = 0
%>
<div class="valor_carrinho">
	<table cellspacing="0" cellpadding="0" border="0" align="center" style="margin-left:350px;margin-left:230px\9;">
		<tr>
			<td rowspan="5" class="botaoFrete"><%if trim(cepValidoFinal) = "1" then%>
					<input type="submit" name="atualizar1" id="atualizar1" value="Calcular Frete" class="finalizar" />
					<input type="submit" name="atualizar" id="atualizar" value="Calcular Frete" class="calcular" style="display:none;" />
				<%else%>
					<input type="submit" name="atualizar1" id="atualizar1" value="Calcular Frete" class="finalizar" style="display:none;" />
					<input type="submit" name="atualizar" id="atualizar" value="Calcular Frete" class="calcular" style="margin-left:-173px;margin-left:-180px\9;" />
				<%end if%>
			</td>
			<td class="lblLabel">Sub-Total:</td>
			<td class="txtValor"><span class="moeda">R$ </span><span class="valor"><%=formatNumber(numSubTotal,2)%></span></td>
		</tr>
		<tr>
			<td class="lblLabel">Valor do Presente:</td>
			<td class="txtValor"><span class="moeda">R$ </span><span class="valor"><%=formatNumber(numTotalPresente,2)%></span></td>
		</tr>
		<tr>
			<td class="lblLabel">Frete:</td>
			<td class="txtValor"><%
			  If Cstr(bitFreteGratis) = "1" Then
				numFrete = 0
				%><span class="moeda"> </span><span class="valor"><font color="#FF0000">GRÁTIS</font></span><%
			  Else
				  if trim(numFrete) > "0" then
  					%><span class="moeda">R$ </span><span class="valor"><%=formatNumber(numFrete,2)%></span><%
				  else
  					%><A href="#" onClick="javascript:if(validacep('<%=qtd_reg%>')) document.form_carrinho.submit(); return false;"><font color="#990000">clique para calcular</font></A><%
				  end if
			  End If
			%></td>
		</tr><%
		If Trim(lstCupomDescontos(titLoja)) <> "" Then
			%><tr>
				<td class="lblLabel">Cupom de Desconto:</td>
				<td class="txtValor"><span class="moeda">R$ </span><span class="valor"><%=formatNumber(numValorDesconto,2)%></span></td>
			</tr><%
		End If
		%><tr>
			<td class="lblLabel" style="border-top:1px solid #000000;">Total do Pedido:</td>
			<td class="txtValor" style="border-top:1px solid #000000; border-bottom:none;"><strong><span class="moeda">R$ </span><span class="valor"><%=formatNumber(((CDbl(numSubTotal)+CDbl(numFrete)+CDbl(numTotalPresente)-CDbl(numValorDesconto))),2)%></span></strong></td>
		</tr>
	</table>
	<br class="clear" />
</div>

<div class="cupom_desconto">
	<div>Cupom de Desconto:</div>
	<div id="innerCupomCaixa" name="innerCupomCaixa"><%
	If Trim(lstCupomDescontos(titLoja)) <> "" Then
		%><img src='../../imagens/img/ico/ico_finalizar_edicao.png' width='16' height='16' border='0' alt='Cupom Válido' title='Cupom Válido' align='middle' valign='absmiddle' /> Cupom Válido: <strong><%=Trim(lstCupomDescontos(titLoja))%></strong>.<%
		%><img src="../../imagens/img/ico/ico_delete.gif" border="0" alt="Remover Cupom" title="Remover Cupom" style="cursor:pointer;" onClick="javascript:if(confirm('Realmente deseja REMOVER este cupom de suas compras?')) fcnUsarCupom(1);" /><%
	Else
		%><input type="text" name="txt_cupom_desconto" id="txt_cupom_desconto" value="" style="text-align:center; width:150px" /><input type="button" name="btnCupom" id="btnCupom" value="Utilizar Cupom" class="finalizar" onclick="javascript:fcnUsarCupom(0);" /><%
	End If
	%></div>
</div>
   <br /><br />

<div id="acoes">
  <input type="button" name="continuar" id="continuar" value="Continuar Comprando" class="continuar" onclick="javascript:window.open('produtos.asp','_self');" />		
     <input type="button" name="finalizar" id="finalizar" value="Finalizar Pedido" class="finalizar" onClick="<%if trim(cepValidoFinal) = "1" then%>location.href='pedidos_login.asp';<%else%>javascript:alert('Para finalizar o pedido é necessário preencher o CEP, a quantidade e Atualizar o Carrinho!');<%end if%>" />
</div>
</form>
<%
else
%>
<div style="text-align:center; padding:150px 0 0 0; font-size:14px; color:#C00;">
<strong>Seu carrinho está vazio.</strong>
</div>
<%
End if
Set TB = Nothing
Set TBAux = Nothing
Set RS = Nothing
%>

 

A minha página difere dessa pois não tenho tanto campo assim e só uso mais a parte do frete em si, porém existe a seguinte validação que tenho "penso eu" que modificar, pois onde são as tabelas eu coloco as variáveis que recebo do form.

relacao_produtos = ""
Do while TB.EOF = False
 if trim(relacao_produtos) = "" then
    relacao_produtos = TB("ID_PRODUTO")&"|"&TB("NUM_CHAVE")&"|"&TB("TXT_CEP")&"|"&TB("NUM_QTD")
 else
    relacao_produtos = relacao_produtos&","&TB("ID_PRODUTO")&"|"&TB("NUM_CHAVE")&"|"&TB("TXT_CEP")&"|"&TB("NUM_QTD")
 end if			
TB.MoveNext : Loop

 

Mode que está no meu arquivo é este, pois se tiver alguma tabela os valores vem todos vazios.

relacao_produtos = ""
if trim(relacao_produtos) = "" then
  relacao_produtos = id_produto&"|"&cepDestino
else
  relacao_produtos = relacao_produtos&"," id_produto&"|"&cepDestino
end if

 

Agora irei mostrar a minha página em sí.

<!--#include file="../../scripts/config.asp"-->
<!--#include file="../scripts/config.asp"-->
<!--#include file="../../scripts/funcoes.asp"-->
<!--#include file="../scripts/seguranca.asp"-->
<!--#include file="../../scripts/funcoes_carrinho.asp"-->
<!--#include file="../../scripts/comp_correios.asp"-->
<%

Set TB = Server.CreateObject("ADODB.Recordset")
Set TBpro = Server.CreateObject("ADODB.Recordset")


TB.CursorLocation = 3 : TB.CursorType = 3

Set objCorreios = New brochuraCorreios
Set TB = listProdutoToCarrinho(titLoja)

txt_campos = ""

if trim(qtd_reg) > "1" then
For i = 1 to qtd_reg
	if trim(txt_campos) = "" then
		txt_campos = "txt_cepDestino"&i
	else
		txt_campos = txt_campos&"|txt_cepDestino"&i
	end if 
Next
else
txt_campos = "txt_cepDestino"&qtd_reg
end if

rd_forma = Session(titLoja&"_forma_cep")
rd_frete = Session(titLoja&"_tipo_frete")
numCep = Session(titLoja&"txt_cepDestino")

if trim(rd_frete) = "" then rd_frete = "pac"
if trim(numCep) = "0" then numCep = "" 

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<!--#include file="../scripts/metatags.asp"-->
<title><%=titLojaSite%></title>
<link href="../css/estilos.css" rel="stylesheet" type="text/css" />

<!--COMBO-->
<script type="text/javascript" src="../scripts/js/ajax.js"></script>
<script src="../../scripts/funcoes.js" type="text/javascript"></script>
<script src="../../scripts/ajax.js" type="text/javascript"></script>
<script type="text/javascript"> 
function Ajax() { 
var req; 
 try { 
       req = new ActiveXObject("Microsoft.XMLHTTP"); 
 } catch(e) { 
        try { 
         req = new ActiveXObject("Msxml2.XMLHTTP"); 
 } catch(ex) { 
        try { 
         req = new XMLHttpRequest(); 
 } catch(exc) { 
        alert("Esse browser n�o tem recursos para uso do Ajax"); 
       req = null; 
  } 
 } 
} 
return req; 
} 

function  reflesh(){ 
   var ajax = new Ajax();
   ajax.open("POST", "calculo_frete_produtos.asp?cod="+document.getElementById("tipo_subcategoria").value , true);
   ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
   ajax.onreadystatechange = function() { 
   if(ajax.readyState == 4) { 
       if(ajax.status == 200) { 
         document.getElementById("tipo_produto").innerHTML = ajax.responseText;
       } else { 
        <!-- ajax.statusText) //--> 
       } 
   } 
} 
ajax.send("acao=reflesh"); 
delete ajax; 
}

function TipoProduto(){ 
   var ajax = new Ajax();
   ajax.open("POST", "calculo_frete_produtos_paginas.asp?codp="+document.getElementById("tipo_produto").value , true);
   ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
   ajax.onreadystatechange = function() { 
   if(ajax.readyState == 4) { 
       if(ajax.status == 200) { 
           document.getElementById("qt_paginas").innerHTML = ajax.responseText;
       } else { 
        <!-- ajax.statusText) //--> 
       } 
   } 
} 
ajax.send("acao=reflesh"); 
delete ajax; 
}

<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
 window.open(theURL,winName,features);
}
//-->

function formaCep(){
for (i=0; i<document.form_carrinho.rd_forma.length; i++){
	if (document.form_carrinho.rd_forma[i].checked == true){
		campos = document.form_carrinho.txt_campos.value;
		novoArray = campos.split('|');
		for (a = 0; a < novoArray.length; a++) {
			if(document.form_carrinho.rd_forma[i].value == 0){					
				document.getElementById(novoArray[a]).style.visibility = "hidden";
				document.form_carrinho.txt_cep_unico.focus();
			}else{
				document.getElementById(novoArray[a]).style.visibility = "visible";
			}
		}			
	}
}
}

function validacep(numQtd){
for (i=0; i<document.form_carrinho.rd_forma.length; i++){
	if (document.form_carrinho.rd_forma[i].checked == true){
		if(document.form_carrinho.rd_forma[i].value == 0){					
			if(document.form_carrinho.txt_cep_unico.value == ""){					
				alert("Preencha o campo CEP!");
				document.form_carrinho.txt_cep_unico.focus();
				return(false);
			}
			return(true);
		}else{
			var ct;
			for(ct=1; ct<=numQtd; ct++){
				var num_cep = eval("document.form_carrinho.txt_cep_" + ct + ".value");
				if(num_cep.length < 9){
					alert("Preencha o(os) campo(os) CEP!");
					eval("document.form_carrinho.txt_cep_" + ct + ".focus()");
					return(false);
				}
			}				
		}
	}
}
}

function atualizaQuantidade(numQtd){
document.getElementById("qtd_carrinho").innerHTML = numQtd;
}

</script>
<!--FIM COMBO-->

<!--Class H3-->
<style type="text/css">
.Meebook
{
   color:#6D6E72
}
</style>    
</head>
<body>
<div id="main">
   <div id="pagina">
<!--TOPO-->
<!--#include file="topo.asp"-->
<!--TOPO FIM-->
<!--MENU-->
   <!--#include file="menu.asp"-->
<!--MENU FIM-->

<!--CONTEÚDO-->
   <div id="conteudo">
   	<h4 class="bg_cinza" onClick="javascript:window.open('default.asp','_self');" style="cursor:pointer;"></h4>
       <div class="tabs">
       	<div class="aba_vendidos"><a href="produtos_maispedidos.asp">Mais vendidos</a></div>
		<div  style="margin-left:30px;" class="aba_lancamentos">
           	<a style="width:110px;margin-left:-8px; border:0px solid black" href="download_meebok.asp">
                   <div style="border:0px solid black; width:74px; position:absolute">Meebook</div>
               	<img alt="" style="margin-left:85px" border="0" src="../imagens/downer.png" />
               </a>
           </div> 
           <div  style="margin-left:-295px;" class="aba_vendidos" >
           	<a  style="margin-left:0px" href="como_comprar_meebok.asp" >Como comprar</a>
           </div>
           <div  style="margin-left:-455px;" class="aba_vendidos" >
           	<a  style="margin-left:-10px" href="calculo_frete.asp" >Calcule seu frete</a>
           </div>
       </div>
       <br /><br />
       <%
       Set TBsub = Server.CreateObject("ADODB.Recordset")

           SQL = " Select a.ID_SUBCATEGORIAS, a.TXT_SUBCATEGORIA "_
	        & " from TBP_PRODUTOS_SUBCATEGORIAS a "_
	        & " inner join VW_PRODUTOS b on a.ID_SUBCATEGORIAS = b.ID_SUBCATEGORIAS and b.BIT_HABILITADO = 1 "_
               & " and b.BIT_HABILITADO = 1 "_
               & " where a.BIT_ACTIVE = 1 and a.ID_CATEGORIAS_PRINCIPAL = 14 "_
	        & " group by a.ID_SUBCATEGORIAS, a.TXT_SUBCATEGORIA order by a.TXT_SUBCATEGORIA "

           TBsub.Open SQL, Conn, 1,3
           'Response.Write(SQL)
       %>
       <form method="post" action="calculo_frete.asp">
           <table>
               <tr>
                   <td width="131"><strong>Subcategorias:</strong></td>
                   <td width="257">
                       <select name="tipo_subcategoria" id="tipo_subcategoria" onchange="reflesh();">
                           <option value="0">Selecione</option>
                           <%
                        if not TBsub.EOF then
                        Do while not TBsub.EOF
                        %>
                        <option value="<%=TBsub("ID_SUBCATEGORIAS")%>"><%=TBsub("TXT_SUBCATEGORIA")%></option>
                        <%
                        TBsub.MoveNext : Loop
                        end if : TBsub.Close
                        %>
                       </select>
                   </td>
               </tr>
               <tr>
                   <td width="131"><strong>Produtos:</strong></td>
                   <td>
                       <select name="tipo_produto" id="tipo_produto" onchange="TipoProduto();">
                         <option value="0">Selecione</option>
                       </select>
                   </td>
               </tr>
               <tr>
                   <td width="131"><strong>Páginas:</strong></td>
                   <td>
                       <select name="qt_paginas" id="qt_paginas">
                         <option value="0">Selecione</option>
                       </select>
                   </td>
               </tr>
               <tr>
                   <td><strong>Tipo de Frete:</strong></td>
                   <td>
                       <strong>PAC</strong><input type="radio" name="rd_frete" id="rd_frete" value="pac" <%if trim(rd_frete) = "pac" then response.Write "checked='checked'"%> onclick="mudaBotao(1);" />
           	        <strong>Sedex</strong><input name="rd_frete" type="radio" id="rd_frete" value="sedex" <%if trim(rd_frete) = "sedex" then response.Write "checked='checked'"%> onclick="mudaBotao(1);" />
                   </td>
          	    </tr>
               <tr>
                   <td width="131"><strong>Cep:<strong></td>
                   <td ><input type="text" name="txt_cepDestino" id="txt_cepDestino" style="width:65px; " maxlength="9" onKeyPress="return digitos(event, this);" onkeyup="Mascara('CEP',this,event);" value="<%=numCep%>" /></td>
               </tr>
               <tr>
                   <td><strong>Quantidade:<strong></td>
                   <td><input type="text" name="txtQt" id="txtQt" size="1" /></td>
               </tr>
               <%
                   id_produto        = trim(Request("qt_paginas"))'recebe o id do produto de acordo com o tamanho
                   cepDestino        = trim(Request("txt_cepDestino"))'recebe o cep de destino
                   num_qtd           = trim(Request("txtQt"))'recebe a quantida
                   tipoFrete         = trim(Request("rd_frete"))'recebe o tipo de frete


                   relacao_produtos = ""
		            if trim(relacao_produtos) = "" then
                           relacao_produtos = id_produto&"|"&cepDestino
		            else
                           relacao_produtos = relacao_produtos&","&id_produto&"|"&cepDestino
		            end if
	            TB.Close

	            SQL2 = "SELECT a.ID_PRODUTO "_
		            & " 	, a.NUM_CHAVE "_
		            & "		, a.NUM_QUANTIDADE "_
		            & "		, a.NUM_PRECO_UNITARIO "_
		            & "		, a.BIT_PRESENTE "_
		            & "		, a.NUM_PRECO_PRESENTE "_
		            & "		, a.NUM_PRECO_TOTAL "_
		            & "		, (a.NUM_PRECO_TOTAL - a.NUM_PRECO_PRESENTE) as NUM_TOTAL_SEM_PRESENTE "_
		            & "		, b.TXT_PRODUTO "_
		            & "		, b.NUM_PESO_LIQ "_
		            & "		, b.NUM_ALTURA "_
		            & "		, b.NUM_LARGURA "_
		            & "		, b.NUM_COMPRIMENTO "_
		            & "		, a.TXT_CEP "_
		            & "		, c.ID_TEMPLATE "_
		            & "		, d.TXT_TITULO "_
		            & "		, isnull(b.BIT_AMOSTRA,0) BIT_AMOSTRA "_
		            & "		, isnull(e.BIT_DESCONTO, 0) as BIT_DESCONTO "_
		            & "		, isnull(e.TXT_DESCONTO_TIPO, '') as TXT_DESCONTO_TIPO "_
		            & "		, isnull(e.NUM_DESCONTO_VALOR, 0) as NUM_DESCONTO_VALOR "_
		            & "		, isnull(e.BIT_FRETE_GRATIS, 0) as BIT_FRETE_GRATIS "_
		            & "FROM dbo.FCN_PRODUTOS_PRECOS('"&relacao_produtos&"', "&replace(var_presente,",",".")&") a "_
		            & "INNER JOIN TBP_PRODUTOS b on b.ID_PRODUTO = a.ID_PRODUTO " _
		            & "INNER JOIN TBP_PRODUTOS_TEMPLATES c on c.ID_PRODUTO = b.ID_PRODUTO and c.BIT_ACTIVE = 1 and c.NUM_ORDEM = 1 " _
		            & "INNER JOIN TBP_PRODUTOS_UNIDADE d on d.ID_UNIDADE = b.NUM_UNIDADES " _
		            & " LEFT OUTER JOIN ( " _
		            & " 	SELECT pr.ID_PRODUTO " _
		            & " 		, case when count(cps.ID_CATEGORIAS) > 0 then 1 else 0 end BIT_DESCONTO " _
		            & " 		, case when count(cps.ID_CATEGORIAS) > 0 then cps.TXT_DESCONTO_TIPO else '' end TXT_DESCONTO_TIPO " _
		            & " 		, case when count(cps.ID_CATEGORIAS) > 0 then cps.NUM_DESCONTO_VALOR else 0 end NUM_DESCONTO_VALOR " _
		            & " 		, case when count(cps.ID_CATEGORIAS) > 0 then cps.BIT_FRETE_GRATIS else 0 end BIT_FRETE_GRATIS " _
		            & " 	FROM TBP_PRODUTOS pr " _
		            & " 	INNER JOIN TBP_PRODUTOS_SUBCATEGORIAS prs on prs.ID_SUBCATEGORIAS = pr.ID_SUBCATEGORIAS " _
		            & " 	INNER JOIN TBP_PRODUTOS_CATEGORIAS prc on prc.ID_CATEGORIAS = prs.ID_CATEGORIAS_PRINCIPAL " _
		            & " 	LEFT OUTER JOIN ( " _
		            & " 		SELECT cpdp.ID_CATEGORIAS, cpdp.ID_SUBCATEGORIAS, cpdp.ID_PRODUTO, cp.NUM_DESCONTO_VALOR, cp.TXT_DESCONTO_TIPO, cp.BIT_FRETE_GRATIS " _
		            & " 		FROM TBP_CUPONS_DESCONTOS_PRODUTOS cpdp " _
		            & " 		INNER JOIN TBP_CUPONS_DESCONTOS_CUPONS cpdc on cpdc.ID_CUPOM = cpdp.ID_CUPOM " _
		            & " 		INNER JOIN TBP_CUPONS_DESCONTOS cp on cp.ID_CUPOM = cpdp.ID_CUPOM and cp.BIT_ACTIVE = 1 " _
		            & " 		WHERE cpdc.TXT_CUPOM = '" & Trim(lstCupomDescontos(titLoja)) & "' " _
		            & " 	) cps on cps.ID_CATEGORIAS = prc.ID_CATEGORIAS " _
		            & " 		and isnull(cps.ID_SUBCATEGORIAS, prs.ID_SUBCATEGORIAS) = prs.ID_SUBCATEGORIAS " _
		            & " 		and isnull(cps.ID_PRODUTO, pr.ID_PRODUTO) = pr.ID_PRODUTO " _
		            & " 	GROUP BY pr.ID_PRODUTO, cps.TXT_DESCONTO_TIPO, cps.NUM_DESCONTO_VALOR, cps.BIT_FRETE_GRATIS " _
		            & "		HAVING count(cps.ID_CATEGORIAS) > 0 " _
		            & " ) e on e.ID_PRODUTO = a.ID_PRODUTO "
	            'Response.Write "<PRE>" & SQL & "</PRE>"
	            TB.Open SQL2, Conn                    
                   cepValidoFinal = 1 'Variavel para verificar se existe algum CEP inválido, caso haja mostra uma mensagem no final da listagem de produtos no carrinho
		        cepValido = 0
		        contador = contador + 1                     

                   TB.Close


                   SQL = "SELECT  a.TXT_CEP, SUM(a.NUM_QUANTIDADE*b.NUM_PESO) as PESO_TOTAL, SUM(a.NUM_PRECO_TOTAL) as PRECO_TOTAL, SUM(b.NUM_ALTURA)as ALTURA, max(b.NUM_COMPRIMENTO) as COMPRIMENTO, max(b.NUM_LARGURA) as LARGURA  "_
	                & "FROM dbo.FCN_PRODUTOS_PRECOS('"&relacao_produtos&"', "&replace(var_presente,",",".")&") a "_
	                & "INNER JOIN VW_PRODUTOS b on a.ID_PRODUTO = b.ID_PRODUTO and b.ID_LOJA =  "&codigoLoja _
	                & " group by a.TXT_CEP, a.ID_PRODUTO, a.NUM_CHAVE "

                numFrete = 0
                TB.Open SQL, Conn

                   'Response.Write(SQL)

                Do while not TB.EOF
	                if trim(TB("PRECO_TOTAL")) > "0" then
		                'Rotina que verifica se o CEP é válido
		                if trim(TB("TXT_CEP")) > "0" then
			                'numFrete = numFrete + objCorreios.fcnPrecoTabelado(var_cepLoja, TB("TXT_CEP"), TB("PESO_TOTAL"), TB("COMPRIMENTO"), TB("LARGURA"), TB("ALTURA"))
			                Select Case trim(rd_frete)
				                Case "sedex" : numFrete = numFrete + objCorreios.fcnPrecoSedex(var_cepLoja, TB("TXT_CEP"), TB("PESO_TOTAL"), TB("COMPRIMENTO"), TB("LARGURA"), TB("ALTURA")) + var_ar
				                'Case "pac" : numFrete = (numFrete + var_pac) + var_ar
				                Case "pac" : numFrete = numFrete + objCorreios.fcnPrecoTabelado(var_cepLoja, TB("TXT_CEP"), TB("PESO_TOTAL"), TB("COMPRIMENTO"), TB("LARGURA"), TB("ALTURA")) + var_ar
			                End Select
		                end if
	                end if
                TB.MoveNext : Loop
                TB.Close


		  if trim(numFrete) = "0" then cepValidoFinal = 0
%>
<div class="valor_carrinho">
	<table cellspacing="0" cellpadding="0" border="0" align="center" style="margin-left:350px;margin-left:230px\9;">
		<tr>
			<td rowspan="5" class="botaoFrete"><%if trim(cepValidoFinal) = "1" then%>
					<input type="submit" name="atualizar1" id="atualizar1" value="Calcular Frete" class="finalizar" />
					<input type="submit" name="atualizar" id="atualizar" value="Calcular Frete" class="calcular" style="display:none;" />
				<%else%>
					<input type="submit" name="atualizar1" id="atualizar1" value="Calcular Frete" class="finalizar" style="display:none;" />
					<input type="submit" name="atualizar" id="atualizar" value="Calcular Frete" class="calcular" style="margin-left:-173px;margin-left:-180px\9;" />
				<%end if%>
			</td>
		</tr>
		<tr>
			<td class="lblLabel" style="border-top:1px solid #000000;">Total do frete:</td>
			<td class="txtValor" style="border-top:1px solid #000000; border-bottom:none;"><strong><span class="moeda">R$ </span><span class="valor"><%=formatNumber((CDbl(numFrete)),2)%></span></strong></td>
		</tr>
       </table>
</div>
        </table>
     </form>
   <br class="clear"/>
   </div>
<br class="clear"/>
   </div>
   <br class="clear"/>
<!--CONTEÚDO FIM-->
<!--´RODAPÉ-->

   <br class="clear"/>
<!--´RODAPÉ FIM-->
</body>
</html>


 

Agora irei mostrar os resultados que obtive no banco

Minha página

TXT_CEP     PESO_TOTAL         PRECO_TOTAL         ALTURA          COMPRIMENTO        LARGURA
NULL       11111111.000        0.00                  5              34                  36

 

Página Original

TXT_CEP     PESO_TOTAL         PRECO_TOTAL         ALTURA          COMPRIMENTO        LARGURA
0           0.675               28.90               4                  31                25

 

 

Concluindo, da maneira que passo não consigo resgatar o TXT_CEP como 0 e nem o PRECO_TOTAL independente do id que coloque.

Fora que ainda está dando o seguinte erro que acontece por causa do cepDestino.

 

Microsoft OLE DB Provider for ODBC Drivers erro '80040e07'

 

[Microsoft][ODBC SQL Server Driver]

Error converting data type varchar to numeric.

 

/meepix/impressos_personalizados/meepix/nav/calculo_frete.asp, linha 324

 

Se alguém tiver alguma forma de como resolver essa questão fica grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se você faz esta fazendo algumas das coisas seguintes:

 

tentativa de inserir uma data no Access com 'delimitadores;

tentativa de inserir uma data no SQL Server com # delimitadores;

tentativa de inserir uma data no Access ou SQL Server sem delimitadores, ou,

tentativa de inserir uma data malformado.

 

dá um response.write na sua string SQL para ver o que esta sendo passado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.