Olá pessoal. Sou novato no fórum e em programação.
Estou com o seguinte problema. Tenho uma loja virtual onde o cálculo do frete funcionava normalmente mas depois que o correio mudou a forma de cálculo do PAC, ele parou de funcionar somente este tipo de frete. Estou postando o código abaixo para ver se alguém pode me ajudar nisso.
Obrigado.
Nome do arquivo : frete.asp
<!-- #include file="conf_funcoes.asp" -->
<%
SELECT CASE request("acao")
'**********************************************************************************
'FUNO PARA CALCULAR O FRETE
'**********************************************************************************
CASE "calcular_frete"
Response.Charset="ISO-8859-1"
session("cep_entrega") = pform("cep")
Cn_cep
sql = "SELECT * FROM enderecos WHERE cep='"&session("cep_entrega")&"'"
set vr = cnx.execute(sql)
if vr.bof or vr.eof then
'ARQUIVO RESPONSVEL POR PEGAR O ENDEREO DO CEP DIGITADO
caminho="http://www.bronzebusiness.com.br/webservices/wscep.asmx/cep?strcep="&session("cep_entrega")&""
Set xml = Server.CreateObject("msxml2.DOMDocument.3.0")
xml.async = false
xml.setProperty "ServerHTTPRequest", true
xml.validateOnParse =false
xml.preserveWhiteSpace = false
folha = xml.Load(caminho)
If Not folha Then
endereco = "invalido"
bairro = "invalido"
cidade = "invalido"
estado = "invalido"
Else
Set logradouro = xml.getElementsByTagName("logradouro")
Set nome = xml.getElementsByTagName("nome")
Set bairro = xml.getElementsByTagName("bairro")
Set uf = xml.getElementsByTagName("UF")
Set cidade = xml.getElementsByTagName("cidade")
if logradouro.length > 0 then
endereco = logradouro.item(0).text & " " & nome.item(0).text
bairro = bairro.item(0).text
cidade = cidade.item(0).text
estado = uf.item(0).text
set gravar = cnx.execute("INSERT INTO enderecos (logradouro, cep, nome, bairro, cidade, uf) values ('"&logradouro.item(0).text&"', '"&session("cep_entrega")&"', '"&nome.item(0).text&"', '"&bairro&"', '"&cidade&"', '"&estado&"')")
else
endereco = "invalido"
bairro = "invalido"
cidade = "invalido"
estado = "invalido"
end if
end if
'aqui da funao
else
endereco = vr("logradouro") & " " & vr("nome")
bairro = vr("bairro")
cidade = vr("cidade")
estado = vr("uf")
end if
Des_cep
'pega todos os produtos comprados e calcula o peso
Conectar
set rs = conexao.execute("SELECT * FROM cesta WHERE compra='"&session("id_compra")&"'")
kg = 0
valor = 0
while not rs.eof
set pd = conexao.execute("SELECT preço, peso FROM produtos WHERE id='"&rs("produto")&"'")
kg = kg + (pd("peso") * rs("quantidade"))
valor = valor + (pd("preço") * rs("quantidade"))
rs.movenext
wend
Desconectar
'prepara os tens para calculo
um = formatnumber(kg,3)
peso = replace(um, ",", ".")
session("peso") = peso
cep_origem = dados("cep", "config_frete", "")
cep_destino = session("cep_entrega")
valor_declarado = replace(formatnumber(valor,2), ".", "")
'formas de entrega a ser calculadas
sedex_normal = dados("sedex", "config_frete", "")
sedex_acrescimo = dados("sedex_acrescimo", "config_frete", "")
sedex_seguro = dados("sedex_seguro", "config_frete", "")
sedex_10 = dados("sedex_10", "config_frete", "")
dez_acrescimo = dados("sedex_10_acrescimo", "config_frete", "")
dez_seguro = dados("sedex_10_seguro", "config_frete", "")
sedex_cobrar = dados("sedex_cobrar", "config_frete", "")
cobrar_acrescimo = dados("sedex_cobrar_acrescimo", "config_frete", "")
cobrar_seguro = dados("sedex_cobrar_seguro", "config_frete", "")
encomenda_normal = dados("encomenda_normal", "config_frete", "")
en_acrescimo = dados("en_acrescimo", "config_frete", "")
transportadora = dados("transportadora", "config_frete", "")
entrega_local = dados("entrega_local", "config_frete", "")
descricao_local = dados("descricao_entregalocal", "config_frete", "")
regiao_local = dados("regiao_entregalocal", "config_frete", "")
valor_local = dados("valor_entregalocal", "config_frete", "")
area_entregalocal = dados("area_entregalocal", "config_frete", "")
carta_registrada = dados("carta_registrada", "config_frete", "")
peso_cartaregistrada = dados("peso_cartaregistrada", "config_frete", "")
valor_cartaregistrada = dados("valor_cartaregistrada", "config_frete", "")
'identifica estado do cep de destino
If cep_destino >= 69900000 And cep_destino <= 69999999 Then
If cep_destino >= 69900000 And cep_destino <= 69920999 Then
session("estado_destino") = "Acre - Capital"
else
session("estado_destino") = "Acre - Interior"
end if
ElseIf cep_destino >= 57000000 And cep_destino <= 57999999 Then
If cep_destino >= 57000000 And cep_destino <= 57099999 Then
session("estado_destino") = "Alagoas - Capital"
else
session("estado_destino") = "Alagoas - Interior"
end if
ElseIf cep_destino >= 68900000 And cep_destino <= 68999999 Then
If cep_destino >= 68900000 And cep_destino <= 68909999 OR cep_destino >= 68925000 And cep_destino <= 68929999 Then
session("estado_destino") = "Amapa - Capital"
else
session("estado_destino") = "Amapa - Interior"
end if
ElseIf cep_destino >= 69000000 And cep_destino <= 69899999 Then
If cep_destino >= 69000000 And cep_destino <= 69099999 Then
session("estado_destino") = "Amazonas - Capital"
else
session("estado_destino") = "Amazonas - Interior"
end if
ElseIf cep_destino >= 40000000 And cep_destino <= 48999999 Then
If cep_destino >= 40000000 And cep_destino <= 43849999 OR cep_destino >= 44450000 And cep_destino <= 44470999 Then
session("estado_destino") = "Bahia - Capital"
else
session("estado_destino") = "Bahia - Interior"
end if
ElseIf cep_destino >= 60000000 And cep_destino <= 63999999 Then
If cep_destino >= 60000000 And cep_destino <= 61699999 OR cep_destino >= 61900000 And cep_destino <= 61939999 Then
session("estado_destino") = "Ceara - Capital"
else
session("estado_destino") = "Ceara - Interior"
end if
ElseIf cep_destino >= 70000000 And cep_destino <= 72799999 Then
If cep_destino >= 70000000 And cep_destino <= 72799999 OR cep_destino >= 73000999 And cep_destino <= 73699999 Then
session("estado_destino") = "Distrito Federal - Capital"
else
session("estado_destino") = "Distrito Federal - Interior"
end if
ElseIf cep_destino >= 29000000 And cep_destino <= 29999999 Then
If cep_destino >= 29000000 And cep_destino <= 29184999 Then
session("estado_destino") = "Espirito Santo - Capital"
else
session("estado_destino") = "Espirito Santo - Interior"
end if
ElseIf cep_destino >= 72800000 And cep_destino <= 76999999 Then
If cep_destino >= 74000000 And cep_destino <= 74999999 OR cep_destino >= 75250000 And cep_destino <= 75259999 Then
session("estado_destino") = "Goias - Capital"
else
session("estado_destino") = "Gias - Interior"
end if
ElseIf cep_destino >= 65000000 And cep_destino <= 65999999 Then
If cep_destino >= 65000000 And cep_destino <= 65099999 Then
session("estado_destino") = "Maranhao - Capital"
else
session("estado_destino") = "Maranhao - Interior"
end if
ElseIf cep_destino >= 78000000 And cep_destino <= 78899999 Then
If cep_destino >= 78000000 And cep_destino <= 78169999 Then
session("estado_destino") = "Mato Grosso - Capital"
else
session("estado_destino") = "Mato Grosso - Interior"
end if
ElseIf cep_destino >= 79000000 And cep_destino <= 79999999 Then
If cep_destino >= 79000000 And cep_destino <= 79124999 Then
session("estado_destino") = "Mato Grosso do Sul - Capital"
else
session("estado_destino") = "Mato Grosso do Sul - Interior"
end if
ElseIf cep_destino >= 30000000 And cep_destino <= 39999999 Then
If cep_destino >= 30000000 And cep_destino <= 34999999 Then
session("estado_destino") = "Minas Gerais - Capital"
else
session("estado_destino") = "Minas Gerais - Interior"
end if
ElseIf cep_destino >= 66000000 And cep_destino <= 68899999 Then
If cep_destino >= 66000000 And cep_destino <= 67999999 Then
session("estado_destino") = "Para - Capital"
else
session("estado_destino") = "Para - Interior"
end if
ElseIf cep_destino >= 58000000 And cep_destino <= 58999999 Then
If cep_destino >= 58000000 And cep_destino <= 58099999 Then
session("estado_destino") = "Paraiba - Capital"
else
session("estado_destino") = "Paraiba - Interior"
end if
ElseIf cep_destino >= 80000000 And cep_destino <= 87999999 Then
If cep_destino >= 80000000 And cep_destino <= 83189999 OR cep_destino >= 83300000 And cep_destino <= 83349999 OR cep_destino >= 83400000 And cep_destino <= 83749999 OR cep_destino >= 83800000 And cep_destino <= 83939999 Then
session("estado_destino") = "Parana - Capital"
else
session("estado_destino") = "Parana - Interior"
end if
ElseIf cep_destino >= 50000000 And cep_destino <= 56999999 Then
If cep_destino >= 50000000 And cep_destino <= 53989999 OR cep_destino >= 54000000 And cep_destino <= 54799999 Then
session("estado_destino") = "Pernambuco - Capital"
else
session("estado_destino") = "Pernambuco - Interior"
end if
ElseIf cep_destino >= 64000000 And cep_destino <= 64999999 Then
If cep_destino >= 64000000 And cep_destino <= 64999999 Then
session("estado_destino") = "Piaui - Capital"
else
session("estado_destino") = "Piaui - Interior"
end if
ElseIf cep_destino >= 20000000 And cep_destino <= 28999999 Then
If cep_destino >= 20000000 And cep_destino <= 23799999 OR cep_destino >= 24000000 And cep_destino <= 24799999 Then
session("estado_destino") = "Rio de Janeiro - Capital"
else
session("estado_destino") = "Rio de Janeiro - Interior"
end if
ElseIf cep_destino >= 59000000 And cep_destino <= 59999999 Then
If cep_destino >= 59000000 And cep_destino <= 59149999 Then
session("estado_destino") = "Rio Grande do Norte - Capital"
else
session("estado_destino") = "Rio Grande do Norte - Interior"
end if
ElseIf cep_destino >= 90000000 And cep_destino <= 99999999 Then
If cep_destino >= 90000000 And cep_destino <= 91999999 Then
session("estado_destino") = "Rio Grande do Sul - Capital"
else
session("estado_destino") = "Rio Grande do Sul - Interior"
end if
ElseIf cep_destino >= 78900000 And cep_destino <= 78999999 Then
If cep_destino >= 78900000 And cep_destino <= 78924999 Then
session("estado_destino") = "Rondonia - Capital"
else
session("estado_destino") = "Rondonia - Interior"
end if
ElseIf cep_destino >= 69300000 And cep_destino <= 69399999 Then
If cep_destino >= 69300000 And cep_destino <= 69339999 Then
session("estado_destino") = "Roraima - Capital"
else
session("estado_destino") = "Roraima - Interior"
end if
ElseIf cep_destino >= 77000000 And cep_destino <= 77999999 Then
If cep_destino >= 77000000 And cep_destino <= 77299999 Then
session("estado_destino") = "Tocantins - Capital"
else
session("estado_destino") = "Tocantins - Interior"
end if
ElseIf cep_destino >= 88000000 And cep_destino <= 89999999 Then
If cep_destino >= 88000000 And cep_destino <= 88149999 OR cep_destino >= 88160000 And cep_destino <= 888179999 Then
session("estado_destino") = "Santa Catarina - Capital"
else
session("estado_destino") = "Santa Catarina - Interior"
end if
ElseIf cep_destino >= 01000000 And cep_destino <= 19999999 Then
If cep_destino >= 01000000 And cep_destino <= 09999999 Then
session("estado_destino") = "são Paulo - Capital"
else
session("estado_destino") = "são Paulo - Interior"
end if
ElseIf cep_destino >= 49000000 And cep_destino <= 49999999 Then
If cep_destino >= 49000000 And cep_destino <= 49099999 Then
session("estado_destino") = "Sergipe - Capital"
else
session("estado_destino") = "Sergipe - Interior"
end if
End If
'calcula os fretes pelos correios
'41017 - Encomenda Normal
if encomenda_normal = "s" then
en_url = "http://www.correios.com.br/encomendas/precos/calculo.cfm?servico=41106&cepDestino="& cep_destino &"&CepOrigem="& cep_origem &"&peso="& session("peso") &""
Set en = CreateObject("Microsoft.XMLHTTP")
en.open "post", en_url, false
en.send
en_valor = en.responseText
set en = nothing
p = right(en_valor,len(en_valor)-instr(en_valor,"Tarifa"))
s = right(p,len(p)-instr(p,"Tarifa"))
enc = replace(replace(left(right(s,len(s)-6),5),"&",""),".",",")
enc = replace(enc, "e", "")
enc = replace(enc, "r", "")
enc = replace(enc, "a", "")
enc = replace(enc, "u", "")
enc = replace(enc, "i", "")
enc = replace(enc, "r", "")
if en_acrescimo <> 0 and en_acrescimo <> "" then
ence = acrescimo(enc, en_acrescimo)
else
ence = enc
end if
session("en") = ence
end if
'40010 = Sedex Convencional
if sedex_normal = "s" then
if sedex_seguro = "s" then
adicional_sn = "&ValorDeclarado="&valor_declarado&""
end if
sn_url="http://www.correios.com.br/encomendas/precos/calculo.cfm?Servico=40010&CepDestino="& cep_destino &"&CepOrigem="& cep_origem &"&Peso="& peso&""&adicional_sn&""
Set sn = CreateObject("Microsoft.XMLHTTP")
sn.open "post", sn_url,false
sn.send
sn_valor = sn.responseText
set sn = nothing
na = right(sn_valor,len(sn_valor)-instr(sn_valor,"Tarifa"))
nb = right(na,len(na)-instr(na,"Tarifa"))
nc = replace(replace(left(right(nb,len(nb)-6),5),"&",""),".",",")
nd = replace(replace(nc, "e", ""), "r", "")
if sedex_acrescimo <> 0 and sedex_acrescimo <> "" then
ne = acrescimo(nd, sedex_acrescimo)
else
ne = nd
end if
session("sn") = ne
end if
'40215 = Sedex 10
if sedex_10 = "s" then
if dez_seguro = "s" then
adicional_sd = "&ValorDeclarado="&valor_declarado&""
end if
sd_url="http://www.correios.com.br/encomendas/precos/calculo.cfm?Servico=40215&CepDestino="& cep_destino &"&CepOrigem="& cep_origem &"&Peso="& peso&""&adicional_sd&""
Set sd = CreateObject("Microsoft.XMLHTTP")
sd.open "post", sd_url,false
sd.send
sd_valor = sd.responseText
set sd = nothing
da = right(sd_valor,len(sd_valor)-instr(sd_valor,"Tarifa"))
db = right(da,len(da)-instr(da,"Tarifa"))
dc = replace(replace(left(right(db,len(db)-6),5),"&",""),".",",")
dd = replace(replace(dc, "e", ""), "r", "")
if dez_acrescimo <> 0 and dez_acrescimo <> "" then
de = acrescimo(dd, dez_acrescimo)
else
de = dd
end if
session("sd") = de
end if
'40045 = Sedex Cobrar
if sedex_cobrar = "s" then
if cobrar_seguro = "s" then
adicional_sc = "&ValorDeclarado="&valor_declarado&""
end if
sc_url="http://www.correios.com.br/encomendas/precos/calculo.cfm?Servico=40045&CepDestino="& cep_destino &"&CepOrigem="& cep_origem &"&Peso="& peso&""&adicional_sc&""
Set sc = CreateObject("Microsoft.XMLHTTP")
sc.open "post", sc_url,false
sc.send
sc_valor = sc.responseText
set sc = nothing
ca = right(sc_valor,len(sc_valor)-instr(sc_valor,"Tarifa"))
cb = right(ca,len(ca)-instr(ca,"Tarifa"))
cc = replace(replace(left(right(cb,len(cb)-6),5),"&",""),".",",")
cd = replace(replace(cc, "e", ""), "r", "")
if cobrar_acrescimo <> 0 and cobrar_acrescimo <> "" then
ce = acrescimo(cd, dez_acrescimo)
else
ce = cd
end if
session("sc") = ce
end if
'Entrega Local
if entrega_local = "s" then
if session("estado_destino") = area_entregalocal then
session("motoboy") = True
else
session("motoboy") = False
end if
end if
id = 0
response.write session("estado_destino")%>
###<table width="100%" border="0" cellspacing="0" cellpadding="0">
<form action="oct_atu_compra.asp" method="post" name="seguir" id="seguir">
<tr>
<td height="30" ><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="25" align="left"><span class="txtdetalhesopcao">Por favor, informe abaixo o endereço e a forma de entrega.</span> <br />
</td>
</tr>
<tr>
<td height="1" align="left" bgcolor="#CCCCCC"></td>
</tr>
<tr>
<td height="25" align="left" bgcolor="#FBFBFB" ><table width="100%" border="0" cellpadding="5" style="line-height:25px">
<tr>
<td><table width="100%" border="0">
<tr>
<td width="68" height="25" align="right"><span class="txtdetalhesopcao">Endereço:</span></td>
<td width="1283"><%if endereco<>"invalido" then
response.write endereco
end if%><input name="endereco" <% if endereco = "invalido" then%>type="text" class="caixas" size="50"<%else%>type="hidden" value="<%=endereco%>"<%end if%> id="endereco"/></td>
</tr>
<tr>
<td height="25" align="right"><span class="txtdetalhesopcao">Número:</span></td>
<td><input name="numero" class="caixas" type="text" id="numero" size="4" /></td>
</tr>
<tr>
<td height="25" align="right"><span class="txtdetalhesopcao">Compl.:</span></td>
<td><input name="complemento" class="caixas" type="text" id="complemento" /></td>
</tr>
<tr>
<td height="25" align="right"><span class="txtdetalhesopcao">Cep:</span></td>
<td><span class="txtdetalhesopcao"><%=session("cep_entrega")%></span></td>
</tr>
<tr>
<td height="25" align="right"><span class="txtdetalhesopcao">Bairro:</span></td>
<td><%if bairro<>"invalido" then
response.write bairro
end if%><input name="bairro" <% if bairro = "invalido" then%>type="text" class="caixas" size="50" <%else%>type="hidden" value="<%=bairro%>" <%end if%> id="bairro"/></td>
</tr>
<tr>
<td height="25" align="right"><span class="txtdetalhesopcao">Cidade:</span></td>
<td><%if cidade<>"invalido" then
response.write cidade
end if%><input name="cidade" <% if cidade = "invalido" then%>type="text" class="caixas" size="50"<%else%>type="hidden" value="<%=cidade%>"<%end if%> id="cidade"/></td>
</tr>
<tr>
<td height="25" align="right"><span class="txtdetalhesopcao">Estado:</span></td>
<td><%if estado<>"invalido" then
response.write estado
end if%><input name="estado" <% if estado = "invalido" then%>type="text" class="caixas" size="50"<%else%>type="hidden" value="<%=estado%>"<%end if%> id="estado"/></td>
</tr>
</table>
</td>
</tr>
</table></td>
</tr>
</table>
<p><span class="txtdetalhesopcao">Forma de Entrega: </span></p></td>
</tr>
<tr>
<td height="1" align="left" bgcolor="#CCCCCC"></td>
</tr>
<%if session("sn") <> 0 and sedex_normal="s" and session("sotransportadora") <> "Sim" then
id = id + 1 %>
<tr>
<td bgcolor="#FBFBFB"><table width="100%" border="0" cellpadding="5">
<tr><td height="44" ><input style="border:none" name="frete" id="f<%=id%>" type="radio" value="sn" onClick="totalcompra('<%=FormatNumber(session("sn"),2)%>');" >
<span class="txtdetalhesopcao">Sedex - R$ <%=FormatNumber(session("sn"),2)%><br>
Prazo: Capital de todo Brasil: 02 a 03 dias. Interior de Todo Brasil: 03 a 04 dias.</span></td>
</tr>
<%end if%>
<%if session("sd") <> 0 and sedex_10="s" and session("sotransportadora") <> "Sim" then
id = id + 1 %>
<tr>
<td height="44" ><input style="border:none" name="frete" id="f<%=id%>" type="radio" value="sd" onClick="totalcompra('<%=FormatNumber(session("sd"),2)%>');" >
<span class="txtdetalhesopcao">Sedex 10 - R$ <%=FormatNumber(session("sd"),2)%><br>
Prazo: Até as 10 horas do dia seguinte para pedidos efetuados até às 13:00 hs. </span></td>
</tr>
<%end if%>
<%if session("sc") <> 0 and sedex_cobrar="s" and session("sotransportadora") <> "Sim" then
id = id + 1 %>
<tr>
<td height="44" ><input style="border:none" name="frete" id="f<%=id%>" type="radio" value="sc" onClick="totalcompra('<%=FormatNumber(session("sc"),2)%>');" >
<span class="txtdetalhesopcao"> Sedex à cobrar - R$ <%=FormatNumber(session("sc"),2)%><br>
Prazo: Capital de todo Brasil: 02 a 03 dias. Interior de Todo Brasil: 03 a 04 dias.</span></td>
</tr>
<%end if%>
<%if encomenda_normal = "s" and session("en") <> 0 and session("en") <> "" and session("sotransportadora") <> "Sim" then
id = id + 1 %>
<tr>
<td height="44" ><input style="border:none" name="frete" id="f<%=id%>" type="radio" value="en" onClick="totalcompra('<%=FormatNumber(session("en"),2)%>');">
<span class="txtdetalhesopcao">Encomenda PAC - R$ <%=FormatNumber(session("en"),2)%><br>
Prazo: Capital de todo Brasil: 05 a 07 dias. Interior de Todo Brasil: 07 a 15 dias.</span></td>
</tr>
<%end if%>
<%if session("motoboy") = True and entrega_local = "s" and session("sotransportadora") <> "Sim" then
id = id + 1 %>
<tr>
<td height="44" ><input style="border:none" name="frete" id="f<%=id%>" type="radio" value="el" onclick="totalcompra('<%=FormatNumber(valor_local,2)%>');" />
<span class="txtdetalhesopcao"><%=descricao_local%> - R$ <%=FormatNumber(valor_local,2)%><br>
<%=regiao_local%></span></td></tr>
<%
end if
if carta_registrada = "s" and session("sotransportadora") <> "Sim" and replace(formatnumber(peso_cartaregistrada,3), ",", ".") => session("peso") then
id = id + 1 %>
<tr>
<td height="44" ><input style="border:none" name="frete" id="f<%=id%>" type="radio" value="cr" onClick="totalcompra('<%=FormatNumber(valor_cartaregistrada,2)%>');" >
<span class="txtdetalhesopcao">Carta Registrada - R$ <%=FormatNumber(valor_cartaregistrada,2)%><br>
Prazo: Para todo o Brasil de 15 a 25 dias.</span></td></tr><%end if
if transportadora = "s" then
id = id + 1 %>
<tr>
<td height="44" ><input style="border:none" name="frete" id="f<%=id%>" type="radio" value="tr" onclick="totalcompra('0');" />
<span class="txtdetalhesopcao">Transportadora<br />
O Valor e o Prazo será definido posteriormente por um atendente, buscando a melhor tarifa.</span></td>
</tr>
<%end if%>
</table></td>
</tr>
</form>
</table>
<%
END SELECT
%>
Pergunta
William Skaff
Olá pessoal. Sou novato no fórum e em programação.
Estou com o seguinte problema. Tenho uma loja virtual onde o cálculo do frete funcionava normalmente mas depois que o correio mudou a forma de cálculo do PAC, ele parou de funcionar somente este tipo de frete. Estou postando o código abaixo para ver se alguém pode me ajudar nisso.
Obrigado.
Nome do arquivo : frete.asp
<!-- #include file="conf_funcoes.asp" --> <% SELECT CASE request("acao") '********************************************************************************** 'FUNO PARA CALCULAR O FRETE '********************************************************************************** CASE "calcular_frete" Response.Charset="ISO-8859-1" session("cep_entrega") = pform("cep") Cn_cep sql = "SELECT * FROM enderecos WHERE cep='"&session("cep_entrega")&"'" set vr = cnx.execute(sql) if vr.bof or vr.eof then 'ARQUIVO RESPONSVEL POR PEGAR O ENDEREO DO CEP DIGITADO caminho="http://www.bronzebusiness.com.br/webservices/wscep.asmx/cep?strcep="&session("cep_entrega")&"" Set xml = Server.CreateObject("msxml2.DOMDocument.3.0") xml.async = false xml.setProperty "ServerHTTPRequest", true xml.validateOnParse =false xml.preserveWhiteSpace = false folha = xml.Load(caminho) If Not folha Then endereco = "invalido" bairro = "invalido" cidade = "invalido" estado = "invalido" Else Set logradouro = xml.getElementsByTagName("logradouro") Set nome = xml.getElementsByTagName("nome") Set bairro = xml.getElementsByTagName("bairro") Set uf = xml.getElementsByTagName("UF") Set cidade = xml.getElementsByTagName("cidade") if logradouro.length > 0 then endereco = logradouro.item(0).text & " " & nome.item(0).text bairro = bairro.item(0).text cidade = cidade.item(0).text estado = uf.item(0).text set gravar = cnx.execute("INSERT INTO enderecos (logradouro, cep, nome, bairro, cidade, uf) values ('"&logradouro.item(0).text&"', '"&session("cep_entrega")&"', '"&nome.item(0).text&"', '"&bairro&"', '"&cidade&"', '"&estado&"')") else endereco = "invalido" bairro = "invalido" cidade = "invalido" estado = "invalido" end if end if 'aqui da funao else endereco = vr("logradouro") & " " & vr("nome") bairro = vr("bairro") cidade = vr("cidade") estado = vr("uf") end if Des_cep 'pega todos os produtos comprados e calcula o peso Conectar set rs = conexao.execute("SELECT * FROM cesta WHERE compra='"&session("id_compra")&"'") kg = 0 valor = 0 while not rs.eof set pd = conexao.execute("SELECT preço, peso FROM produtos WHERE id='"&rs("produto")&"'") kg = kg + (pd("peso") * rs("quantidade")) valor = valor + (pd("preço") * rs("quantidade")) rs.movenext wend Desconectar 'prepara os tens para calculo um = formatnumber(kg,3) peso = replace(um, ",", ".") session("peso") = peso cep_origem = dados("cep", "config_frete", "") cep_destino = session("cep_entrega") valor_declarado = replace(formatnumber(valor,2), ".", "") 'formas de entrega a ser calculadas sedex_normal = dados("sedex", "config_frete", "") sedex_acrescimo = dados("sedex_acrescimo", "config_frete", "") sedex_seguro = dados("sedex_seguro", "config_frete", "") sedex_10 = dados("sedex_10", "config_frete", "") dez_acrescimo = dados("sedex_10_acrescimo", "config_frete", "") dez_seguro = dados("sedex_10_seguro", "config_frete", "") sedex_cobrar = dados("sedex_cobrar", "config_frete", "") cobrar_acrescimo = dados("sedex_cobrar_acrescimo", "config_frete", "") cobrar_seguro = dados("sedex_cobrar_seguro", "config_frete", "") encomenda_normal = dados("encomenda_normal", "config_frete", "") en_acrescimo = dados("en_acrescimo", "config_frete", "") transportadora = dados("transportadora", "config_frete", "") entrega_local = dados("entrega_local", "config_frete", "") descricao_local = dados("descricao_entregalocal", "config_frete", "") regiao_local = dados("regiao_entregalocal", "config_frete", "") valor_local = dados("valor_entregalocal", "config_frete", "") area_entregalocal = dados("area_entregalocal", "config_frete", "") carta_registrada = dados("carta_registrada", "config_frete", "") peso_cartaregistrada = dados("peso_cartaregistrada", "config_frete", "") valor_cartaregistrada = dados("valor_cartaregistrada", "config_frete", "") 'identifica estado do cep de destino If cep_destino >= 69900000 And cep_destino <= 69999999 Then If cep_destino >= 69900000 And cep_destino <= 69920999 Then session("estado_destino") = "Acre - Capital" else session("estado_destino") = "Acre - Interior" end if ElseIf cep_destino >= 57000000 And cep_destino <= 57999999 Then If cep_destino >= 57000000 And cep_destino <= 57099999 Then session("estado_destino") = "Alagoas - Capital" else session("estado_destino") = "Alagoas - Interior" end if ElseIf cep_destino >= 68900000 And cep_destino <= 68999999 Then If cep_destino >= 68900000 And cep_destino <= 68909999 OR cep_destino >= 68925000 And cep_destino <= 68929999 Then session("estado_destino") = "Amapa - Capital" else session("estado_destino") = "Amapa - Interior" end if ElseIf cep_destino >= 69000000 And cep_destino <= 69899999 Then If cep_destino >= 69000000 And cep_destino <= 69099999 Then session("estado_destino") = "Amazonas - Capital" else session("estado_destino") = "Amazonas - Interior" end if ElseIf cep_destino >= 40000000 And cep_destino <= 48999999 Then If cep_destino >= 40000000 And cep_destino <= 43849999 OR cep_destino >= 44450000 And cep_destino <= 44470999 Then session("estado_destino") = "Bahia - Capital" else session("estado_destino") = "Bahia - Interior" end if ElseIf cep_destino >= 60000000 And cep_destino <= 63999999 Then If cep_destino >= 60000000 And cep_destino <= 61699999 OR cep_destino >= 61900000 And cep_destino <= 61939999 Then session("estado_destino") = "Ceara - Capital" else session("estado_destino") = "Ceara - Interior" end if ElseIf cep_destino >= 70000000 And cep_destino <= 72799999 Then If cep_destino >= 70000000 And cep_destino <= 72799999 OR cep_destino >= 73000999 And cep_destino <= 73699999 Then session("estado_destino") = "Distrito Federal - Capital" else session("estado_destino") = "Distrito Federal - Interior" end if ElseIf cep_destino >= 29000000 And cep_destino <= 29999999 Then If cep_destino >= 29000000 And cep_destino <= 29184999 Then session("estado_destino") = "Espirito Santo - Capital" else session("estado_destino") = "Espirito Santo - Interior" end if ElseIf cep_destino >= 72800000 And cep_destino <= 76999999 Then If cep_destino >= 74000000 And cep_destino <= 74999999 OR cep_destino >= 75250000 And cep_destino <= 75259999 Then session("estado_destino") = "Goias - Capital" else session("estado_destino") = "Gias - Interior" end if ElseIf cep_destino >= 65000000 And cep_destino <= 65999999 Then If cep_destino >= 65000000 And cep_destino <= 65099999 Then session("estado_destino") = "Maranhao - Capital" else session("estado_destino") = "Maranhao - Interior" end if ElseIf cep_destino >= 78000000 And cep_destino <= 78899999 Then If cep_destino >= 78000000 And cep_destino <= 78169999 Then session("estado_destino") = "Mato Grosso - Capital" else session("estado_destino") = "Mato Grosso - Interior" end if ElseIf cep_destino >= 79000000 And cep_destino <= 79999999 Then If cep_destino >= 79000000 And cep_destino <= 79124999 Then session("estado_destino") = "Mato Grosso do Sul - Capital" else session("estado_destino") = "Mato Grosso do Sul - Interior" end if ElseIf cep_destino >= 30000000 And cep_destino <= 39999999 Then If cep_destino >= 30000000 And cep_destino <= 34999999 Then session("estado_destino") = "Minas Gerais - Capital" else session("estado_destino") = "Minas Gerais - Interior" end if ElseIf cep_destino >= 66000000 And cep_destino <= 68899999 Then If cep_destino >= 66000000 And cep_destino <= 67999999 Then session("estado_destino") = "Para - Capital" else session("estado_destino") = "Para - Interior" end if ElseIf cep_destino >= 58000000 And cep_destino <= 58999999 Then If cep_destino >= 58000000 And cep_destino <= 58099999 Then session("estado_destino") = "Paraiba - Capital" else session("estado_destino") = "Paraiba - Interior" end if ElseIf cep_destino >= 80000000 And cep_destino <= 87999999 Then If cep_destino >= 80000000 And cep_destino <= 83189999 OR cep_destino >= 83300000 And cep_destino <= 83349999 OR cep_destino >= 83400000 And cep_destino <= 83749999 OR cep_destino >= 83800000 And cep_destino <= 83939999 Then session("estado_destino") = "Parana - Capital" else session("estado_destino") = "Parana - Interior" end if ElseIf cep_destino >= 50000000 And cep_destino <= 56999999 Then If cep_destino >= 50000000 And cep_destino <= 53989999 OR cep_destino >= 54000000 And cep_destino <= 54799999 Then session("estado_destino") = "Pernambuco - Capital" else session("estado_destino") = "Pernambuco - Interior" end if ElseIf cep_destino >= 64000000 And cep_destino <= 64999999 Then If cep_destino >= 64000000 And cep_destino <= 64999999 Then session("estado_destino") = "Piaui - Capital" else session("estado_destino") = "Piaui - Interior" end if ElseIf cep_destino >= 20000000 And cep_destino <= 28999999 Then If cep_destino >= 20000000 And cep_destino <= 23799999 OR cep_destino >= 24000000 And cep_destino <= 24799999 Then session("estado_destino") = "Rio de Janeiro - Capital" else session("estado_destino") = "Rio de Janeiro - Interior" end if ElseIf cep_destino >= 59000000 And cep_destino <= 59999999 Then If cep_destino >= 59000000 And cep_destino <= 59149999 Then session("estado_destino") = "Rio Grande do Norte - Capital" else session("estado_destino") = "Rio Grande do Norte - Interior" end if ElseIf cep_destino >= 90000000 And cep_destino <= 99999999 Then If cep_destino >= 90000000 And cep_destino <= 91999999 Then session("estado_destino") = "Rio Grande do Sul - Capital" else session("estado_destino") = "Rio Grande do Sul - Interior" end if ElseIf cep_destino >= 78900000 And cep_destino <= 78999999 Then If cep_destino >= 78900000 And cep_destino <= 78924999 Then session("estado_destino") = "Rondonia - Capital" else session("estado_destino") = "Rondonia - Interior" end if ElseIf cep_destino >= 69300000 And cep_destino <= 69399999 Then If cep_destino >= 69300000 And cep_destino <= 69339999 Then session("estado_destino") = "Roraima - Capital" else session("estado_destino") = "Roraima - Interior" end if ElseIf cep_destino >= 77000000 And cep_destino <= 77999999 Then If cep_destino >= 77000000 And cep_destino <= 77299999 Then session("estado_destino") = "Tocantins - Capital" else session("estado_destino") = "Tocantins - Interior" end if ElseIf cep_destino >= 88000000 And cep_destino <= 89999999 Then If cep_destino >= 88000000 And cep_destino <= 88149999 OR cep_destino >= 88160000 And cep_destino <= 888179999 Then session("estado_destino") = "Santa Catarina - Capital" else session("estado_destino") = "Santa Catarina - Interior" end if ElseIf cep_destino >= 01000000 And cep_destino <= 19999999 Then If cep_destino >= 01000000 And cep_destino <= 09999999 Then session("estado_destino") = "são Paulo - Capital" else session("estado_destino") = "são Paulo - Interior" end if ElseIf cep_destino >= 49000000 And cep_destino <= 49999999 Then If cep_destino >= 49000000 And cep_destino <= 49099999 Then session("estado_destino") = "Sergipe - Capital" else session("estado_destino") = "Sergipe - Interior" end if End If 'calcula os fretes pelos correios '41017 - Encomenda Normal if encomenda_normal = "s" then en_url = "http://www.correios.com.br/encomendas/precos/calculo.cfm?servico=41106&cepDestino="& cep_destino &"&CepOrigem="& cep_origem &"&peso="& session("peso") &"" Set en = CreateObject("Microsoft.XMLHTTP") en.open "post", en_url, false en.send en_valor = en.responseText set en = nothing p = right(en_valor,len(en_valor)-instr(en_valor,"Tarifa")) s = right(p,len(p)-instr(p,"Tarifa")) enc = replace(replace(left(right(s,len(s)-6),5),"&",""),".",",") enc = replace(enc, "e", "") enc = replace(enc, "r", "") enc = replace(enc, "a", "") enc = replace(enc, "u", "") enc = replace(enc, "i", "") enc = replace(enc, "r", "") if en_acrescimo <> 0 and en_acrescimo <> "" then ence = acrescimo(enc, en_acrescimo) else ence = enc end if session("en") = ence end if '40010 = Sedex Convencional if sedex_normal = "s" then if sedex_seguro = "s" then adicional_sn = "&ValorDeclarado="&valor_declarado&"" end if sn_url="http://www.correios.com.br/encomendas/precos/calculo.cfm?Servico=40010&CepDestino="& cep_destino &"&CepOrigem="& cep_origem &"&Peso="& peso&""&adicional_sn&"" Set sn = CreateObject("Microsoft.XMLHTTP") sn.open "post", sn_url,false sn.send sn_valor = sn.responseText set sn = nothing na = right(sn_valor,len(sn_valor)-instr(sn_valor,"Tarifa")) nb = right(na,len(na)-instr(na,"Tarifa")) nc = replace(replace(left(right(nb,len(nb)-6),5),"&",""),".",",") nd = replace(replace(nc, "e", ""), "r", "") if sedex_acrescimo <> 0 and sedex_acrescimo <> "" then ne = acrescimo(nd, sedex_acrescimo) else ne = nd end if session("sn") = ne end if '40215 = Sedex 10 if sedex_10 = "s" then if dez_seguro = "s" then adicional_sd = "&ValorDeclarado="&valor_declarado&"" end if sd_url="http://www.correios.com.br/encomendas/precos/calculo.cfm?Servico=40215&CepDestino="& cep_destino &"&CepOrigem="& cep_origem &"&Peso="& peso&""&adicional_sd&"" Set sd = CreateObject("Microsoft.XMLHTTP") sd.open "post", sd_url,false sd.send sd_valor = sd.responseText set sd = nothing da = right(sd_valor,len(sd_valor)-instr(sd_valor,"Tarifa")) db = right(da,len(da)-instr(da,"Tarifa")) dc = replace(replace(left(right(db,len(db)-6),5),"&",""),".",",") dd = replace(replace(dc, "e", ""), "r", "") if dez_acrescimo <> 0 and dez_acrescimo <> "" then de = acrescimo(dd, dez_acrescimo) else de = dd end if session("sd") = de end if '40045 = Sedex Cobrar if sedex_cobrar = "s" then if cobrar_seguro = "s" then adicional_sc = "&ValorDeclarado="&valor_declarado&"" end if sc_url="http://www.correios.com.br/encomendas/precos/calculo.cfm?Servico=40045&CepDestino="& cep_destino &"&CepOrigem="& cep_origem &"&Peso="& peso&""&adicional_sc&"" Set sc = CreateObject("Microsoft.XMLHTTP") sc.open "post", sc_url,false sc.send sc_valor = sc.responseText set sc = nothing ca = right(sc_valor,len(sc_valor)-instr(sc_valor,"Tarifa")) cb = right(ca,len(ca)-instr(ca,"Tarifa")) cc = replace(replace(left(right(cb,len(cb)-6),5),"&",""),".",",") cd = replace(replace(cc, "e", ""), "r", "") if cobrar_acrescimo <> 0 and cobrar_acrescimo <> "" then ce = acrescimo(cd, dez_acrescimo) else ce = cd end if session("sc") = ce end if 'Entrega Local if entrega_local = "s" then if session("estado_destino") = area_entregalocal then session("motoboy") = True else session("motoboy") = False end if end if id = 0 response.write session("estado_destino")%> ###<table width="100%" border="0" cellspacing="0" cellpadding="0"> <form action="oct_atu_compra.asp" method="post" name="seguir" id="seguir"> <tr> <td height="30" ><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="25" align="left"><span class="txtdetalhesopcao">Por favor, informe abaixo o endereço e a forma de entrega.</span> <br /> </td> </tr> <tr> <td height="1" align="left" bgcolor="#CCCCCC"></td> </tr> <tr> <td height="25" align="left" bgcolor="#FBFBFB" ><table width="100%" border="0" cellpadding="5" style="line-height:25px"> <tr> <td><table width="100%" border="0"> <tr> <td width="68" height="25" align="right"><span class="txtdetalhesopcao">Endereço:</span></td> <td width="1283"><%if endereco<>"invalido" then response.write endereco end if%><input name="endereco" <% if endereco = "invalido" then%>type="text" class="caixas" size="50"<%else%>type="hidden" value="<%=endereco%>"<%end if%> id="endereco"/></td> </tr> <tr> <td height="25" align="right"><span class="txtdetalhesopcao">Número:</span></td> <td><input name="numero" class="caixas" type="text" id="numero" size="4" /></td> </tr> <tr> <td height="25" align="right"><span class="txtdetalhesopcao">Compl.:</span></td> <td><input name="complemento" class="caixas" type="text" id="complemento" /></td> </tr> <tr> <td height="25" align="right"><span class="txtdetalhesopcao">Cep:</span></td> <td><span class="txtdetalhesopcao"><%=session("cep_entrega")%></span></td> </tr> <tr> <td height="25" align="right"><span class="txtdetalhesopcao">Bairro:</span></td> <td><%if bairro<>"invalido" then response.write bairro end if%><input name="bairro" <% if bairro = "invalido" then%>type="text" class="caixas" size="50" <%else%>type="hidden" value="<%=bairro%>" <%end if%> id="bairro"/></td> </tr> <tr> <td height="25" align="right"><span class="txtdetalhesopcao">Cidade:</span></td> <td><%if cidade<>"invalido" then response.write cidade end if%><input name="cidade" <% if cidade = "invalido" then%>type="text" class="caixas" size="50"<%else%>type="hidden" value="<%=cidade%>"<%end if%> id="cidade"/></td> </tr> <tr> <td height="25" align="right"><span class="txtdetalhesopcao">Estado:</span></td> <td><%if estado<>"invalido" then response.write estado end if%><input name="estado" <% if estado = "invalido" then%>type="text" class="caixas" size="50"<%else%>type="hidden" value="<%=estado%>"<%end if%> id="estado"/></td> </tr> </table> </td> </tr> </table></td> </tr> </table> <p><span class="txtdetalhesopcao">Forma de Entrega: </span></p></td> </tr> <tr> <td height="1" align="left" bgcolor="#CCCCCC"></td> </tr> <%if session("sn") <> 0 and sedex_normal="s" and session("sotransportadora") <> "Sim" then id = id + 1 %> <tr> <td bgcolor="#FBFBFB"><table width="100%" border="0" cellpadding="5"> <tr><td height="44" ><input style="border:none" name="frete" id="f<%=id%>" type="radio" value="sn" onClick="totalcompra('<%=FormatNumber(session("sn"),2)%>');" > <span class="txtdetalhesopcao">Sedex - R$ <%=FormatNumber(session("sn"),2)%><br> Prazo: Capital de todo Brasil: 02 a 03 dias. Interior de Todo Brasil: 03 a 04 dias.</span></td> </tr> <%end if%> <%if session("sd") <> 0 and sedex_10="s" and session("sotransportadora") <> "Sim" then id = id + 1 %> <tr> <td height="44" ><input style="border:none" name="frete" id="f<%=id%>" type="radio" value="sd" onClick="totalcompra('<%=FormatNumber(session("sd"),2)%>');" > <span class="txtdetalhesopcao">Sedex 10 - R$ <%=FormatNumber(session("sd"),2)%><br> Prazo: Até as 10 horas do dia seguinte para pedidos efetuados até às 13:00 hs. </span></td> </tr> <%end if%> <%if session("sc") <> 0 and sedex_cobrar="s" and session("sotransportadora") <> "Sim" then id = id + 1 %> <tr> <td height="44" ><input style="border:none" name="frete" id="f<%=id%>" type="radio" value="sc" onClick="totalcompra('<%=FormatNumber(session("sc"),2)%>');" > <span class="txtdetalhesopcao"> Sedex à cobrar - R$ <%=FormatNumber(session("sc"),2)%><br> Prazo: Capital de todo Brasil: 02 a 03 dias. Interior de Todo Brasil: 03 a 04 dias.</span></td> </tr> <%end if%> <%if encomenda_normal = "s" and session("en") <> 0 and session("en") <> "" and session("sotransportadora") <> "Sim" then id = id + 1 %> <tr> <td height="44" ><input style="border:none" name="frete" id="f<%=id%>" type="radio" value="en" onClick="totalcompra('<%=FormatNumber(session("en"),2)%>');"> <span class="txtdetalhesopcao">Encomenda PAC - R$ <%=FormatNumber(session("en"),2)%><br> Prazo: Capital de todo Brasil: 05 a 07 dias. Interior de Todo Brasil: 07 a 15 dias.</span></td> </tr> <%end if%> <%if session("motoboy") = True and entrega_local = "s" and session("sotransportadora") <> "Sim" then id = id + 1 %> <tr> <td height="44" ><input style="border:none" name="frete" id="f<%=id%>" type="radio" value="el" onclick="totalcompra('<%=FormatNumber(valor_local,2)%>');" /> <span class="txtdetalhesopcao"><%=descricao_local%> - R$ <%=FormatNumber(valor_local,2)%><br> <%=regiao_local%></span></td></tr> <% end if if carta_registrada = "s" and session("sotransportadora") <> "Sim" and replace(formatnumber(peso_cartaregistrada,3), ",", ".") => session("peso") then id = id + 1 %> <tr> <td height="44" ><input style="border:none" name="frete" id="f<%=id%>" type="radio" value="cr" onClick="totalcompra('<%=FormatNumber(valor_cartaregistrada,2)%>');" > <span class="txtdetalhesopcao">Carta Registrada - R$ <%=FormatNumber(valor_cartaregistrada,2)%><br> Prazo: Para todo o Brasil de 15 a 25 dias.</span></td></tr><%end if if transportadora = "s" then id = id + 1 %> <tr> <td height="44" ><input style="border:none" name="frete" id="f<%=id%>" type="radio" value="tr" onclick="totalcompra('0');" /> <span class="txtdetalhesopcao">Transportadora<br /> O Valor e o Prazo será definido posteriormente por um atendente, buscando a melhor tarifa.</span></td> </tr> <%end if%> </table></td> </tr> </form> </table> <% END SELECT %>Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.