marcelo oli Posted June 29, 2011 Report Share Posted June 29, 2011 ola, sou novo no forum e tb em programacao, estou com um problema para calcular o frete dos correios (sedex e pac), gostaria da ajuda de vocês.os problemas são no calculo do pac o valor é sempre o mesmo (R$ 12,90) e o valor do sedex não é calculado.segue o codigo abaixo:'41106 - Encomenda Normalurl_correios="http://www.correios.com.br/encomendas/precos/calculo.cfm?Servico=41106&CepDestino="& session("PesoTotalCep") &"&CepOrigem="& ceploja &"&Peso="& Session("PesoTotalFrete") &"&ValorDeclarado="& Replace(PesoValorTotal, ".", "") &"&MaoPropria="& mao_propriaSet objXMLHTTP = CreateObject("Microsoft.XMLHTTP")objXMLHTTP.open "post", url_correios,falseobjXMLHTTP.sendValorBox = objXMLHTTP.responseTextset objXMLHTTP = nothingp = right(valorbox,len(valorbox)-instr(valorbox,"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", "")if enc = "0rr" thensession("frete_encomenda") = "não"elseIF enc > 0.00 THENIF enc > 10.90 THENsession("frete_encomenda") = enc / 2IF session("frete_encomenda") < 10.90 THENsession("frete_encomenda") = 10.90END IFELSEsession("frete_encomenda") = 10.90END IFELSEsession("frete_encomenda") = encEND IFend if'40010 = Sedex Convencionalurl_correios="http://www.correios.com.br/encomendas/precos/calculo.cfm?Servico=40010&CepDestino="& session("PesoTotalCep") &"&CepOrigem="& ceploja &"&Peso="& Session("PesoTotalFrete") &"&ValorDeclarado="& Replace(PesoValorTotal, ".", "") &"&MaoPropria="& mao_propriaSet objXMLHTTP = CreateObject("Microsoft.XMLHTTP")objXMLHTTP.open "post", url_correios,falseobjXMLHTTP.sendValorBox = objXMLHTTP.responseTextset objXMLHTTP = nothingprimeira_tarifa = right(valorbox,len(valorbox)-instr(valorbox,"Tarifa"))segunda_tarifa = right(primeira_tarifa,len(primeira_tarifa)-instr(primeira_tarifa,"Tarifa"))final_sedex = replace(replace(left(right(segunda_tarifa,len(segunda_tarifa)-6),5),"&",""),".",",")final_sedex = left(final_sedex,instr(final_sedex,"e")-1)If final_sedex = "0rr" Thensession("frete_sedex") = "não"Elsesession("Frete_sedex") = final_sedexEnd if Quote Link to comment Share on other sites More sharing options...
Question
marcelo oli
ola, sou novo no forum e tb em programacao, estou com um problema para calcular o frete dos correios (sedex e pac), gostaria da ajuda de vocês.
os problemas são no calculo do pac o valor é sempre o mesmo (R$ 12,90) e o valor do sedex não é calculado.
segue o codigo abaixo:
'41106 - Encomenda Normal
url_correios="http://www.correios.com.br/encomendas/precos/calculo.cfm?Servico=41106&CepDestino="& session("PesoTotalCep") &"&CepOrigem="& ceploja &"&Peso="& Session("PesoTotalFrete") &"&ValorDeclarado="& Replace(PesoValorTotal, ".", "") &"&MaoPropria="& mao_propria
Set objXMLHTTP = CreateObject("Microsoft.XMLHTTP")
objXMLHTTP.open "post", url_correios,false
objXMLHTTP.send
ValorBox = objXMLHTTP.responseText
set objXMLHTTP = nothing
p = right(valorbox,len(valorbox)-instr(valorbox,"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", "")
if enc = "0rr" then
session("frete_encomenda") = "não"
else
IF enc > 0.00 THEN
IF enc > 10.90 THEN
session("frete_encomenda") = enc / 2
IF session("frete_encomenda") < 10.90 THEN
session("frete_encomenda") = 10.90
END IF
ELSE
session("frete_encomenda") = 10.90
END IF
ELSE
session("frete_encomenda") = enc
END IF
end if
'40010 = Sedex Convencional
url_correios="http://www.correios.com.br/encomendas/precos/calculo.cfm?Servico=40010&CepDestino="& session("PesoTotalCep") &"&CepOrigem="& ceploja &"&Peso="& Session("PesoTotalFrete") &"&ValorDeclarado="& Replace(PesoValorTotal, ".", "") &"&MaoPropria="& mao_propria
Set objXMLHTTP = CreateObject("Microsoft.XMLHTTP")
objXMLHTTP.open "post", url_correios,false
objXMLHTTP.send
ValorBox = objXMLHTTP.responseText
set objXMLHTTP = nothing
primeira_tarifa = right(valorbox,len(valorbox)-instr(valorbox,"Tarifa"))
segunda_tarifa = right(primeira_tarifa,len(primeira_tarifa)-instr(primeira_tarifa,"Tarifa"))
final_sedex = replace(replace(left(right(segunda_tarifa,len(segunda_tarifa)-6),5),"&",""),".",",")
final_sedex = left(final_sedex,instr(final_sedex,"e")-1)
If final_sedex = "0rr" Then
session("frete_sedex") = "não"
Else
session("Frete_sedex") = final_sedex
End if
Link to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.