Ir para conteúdo
Fórum Script Brasil
  • 0

Calculo De Frete


dark0

Pergunta

Olá pessoal, tudo bem?

Bem, acho que alguns de vocês se perguntaram "Como calcular o frete em asp?"

Eu vou postar aqui um código 100% ASP, que funciona muito bem!

O requisito minimo para rodar, é ter o componente XMLHTTP instalado.

Esse componente é quase que padrão no IIS. Não sei quanto ao PWS.. mas é bem capaz de ter ele tb.

Eu peguei ele pronto na web, então os direitos autorais, ficam para o criador do codigo. Achei ele no Superasp, quando eu achar o link original, eu coloco aqui.

pagina default.asp

Link para o comentário
Compartilhar em outros sites

21 respostass a esta questão

Posts Recomendados

  • 0

hehe

eu fiz um teste antes e pareceu funcionar

mas pode ser erro mesmo

mais tarde eu dou uma olhada nisso, e ajusto pra vocês

se acharem erros/tiverem sugestoes, sintam-se à vontade para postar

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

desculpem-me pessoal

Agora, eu arrumei, podem testar

Foi uma idiotice minha.. eu havia esquecido de alterar a url de resposta.. hehehe

é que testei localmente aqui e funcionou né..

Podem testar

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Então..

Eu acabei de mecher no script.. pra ele rodar direto em qualquer servidor.. e em qualquer pasta.. sem precisar mecher em nada!

Vejam como ficou:

default.asp

Link para o comentário
Compartilhar em outros sites

  • 0

como de praxe.. depois de uns dias pendurado.. to despendurando esse tópico..

Link para o comentário
Compartilhar em outros sites

  • 0

ainda não vi nada em xmlhttp, mas aqui esta:

<%@ language=javascript %>
<%
	var xmlhttp =Server.CreateObject("Msxml2.serverXMLHTTP");

	var strCepOrg="41000000";
	var strCepDest="41857628";
	var fltPeso=2;

    var strUrl="http://www.correios.com.br/encomendas/precos/calculo.cfm?cepOrigem=" + strCepOrg +
    "&cepDestino=" + strCepDest + 
    "&peso=" + fltPeso + 
    "&resposta=" + Server.URLEncode("[url resposta]");
    
	xmlhttp.open("GET", strUrl, false);
	xmlhttp.send();

	Response.write("<b>tarifa: " + xmlhttp.responseXML.selectSingleNode("//rate").text + "</b>");

%>
e o arquivo para o URL resposta:
<%@ language=javascript %>
<%
Response.contentType="text/xml";
Response.clear();
%><?xml version="1.0" ?>
<rate>
	<%= Request.Querystring("tarifa") %>
</rate>

Para mais informações, entre em contato: mail@smpc.com.br

Link para o comentário
Compartilhar em outros sites

  • 0

O resultado é:

Servico : SEDEX

valorDeclarado : 0

cepOrigem : 88101350

UFOrigem : SC

AvisoRecebimento : 0

cepDestino : 45202560

LocalOrigem : Capital

LocalDestino : Interior

UFdestino : BA

Tarifa : 32

Peso : 1

MaoPropria : 0

erro :

O valor está vindo sempre 0

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Fábio --

Eu sei calcular vários tipos de Serviços, como Sedec, Sedex 10, PAC, Encomenda Normal, mas não sei como trazer todos os valores e uma só vez como eu vejo por ai.

Alguém sabe como trazer todos os valores de uma só vez na tela.

Exemplo:

Sedex = R$ 10,80

Sedex 10 = R$ 15,40

Encomenda Normal = R$ 8,00

PAC = R$ 9,00

Abraços - Fábio!

Link para o comentário
Compartilhar em outros sites

  • 0
ainda não vi nada em xmlhttp, mas aqui esta:

<%@ language=javascript %>
<%
    var xmlhttp =Server.CreateObject("Msxml2.serverXMLHTTP");

    var strCepOrg="41000000";
    var strCepDest="41857628";
    var fltPeso=2;
    
    var strUrl="http://www.correios.com.br/encomendas/precos/calculo.cfm?cepOrigem=" + strCepOrg +
    "&cepDestino=" + strCepDest + 
    "&peso=" + fltPeso + 
    "&resposta=" + Server.URLEncode("[url resposta]");
    
    xmlhttp.open("GET", strUrl, false);
    xmlhttp.send();
    
    Response.write("<b>tarifa: " + xmlhttp.responseXML.selectSingleNode("//rate").text + "</b>");
    
%>
e o arquivo para o URL resposta:
<%@ language=javascript %>
<%
Response.contentType="text/xml";
Response.clear();
%><?xml version="1.0" ?>
<rate>
    <%= Request.Querystring("tarifa") %>
</rate>

Para mais informações, entre em contato: mail@smpc.com.br

Ola..

este código eu coloco em qual página?

montei as duas, uma como Sedex.asp e a outra como RespostaCorreios.asp

mas não sei onde colocar estes q você postou.

aguardo respostas..

grato

Link para o comentário
Compartilhar em outros sites

  • 0

Dae Galera, esse é meu primeiro post aqui no ScriptBrasil.

Eu vi o codigo e achei legal, mas eu precisava de uma coisa que funciona-se completamente no lado do servidor, sem essa interação usando o browser do usuário... Isso torna o sistema inseguro... nada impede que o meliante de uma marretada e coloque um valor qualquer no campo de frete do formulário... então eu adaptei o codigo, e segue abaixo.

<%
Session.LCID = 1036

Dim URLCorreio, CEPOrigem, CEPDestino, Peso, xmlhttp, strRetorno, urlInteressante, arrLinha, arrRetornos
Dim TipoServico, Tarifa

CEPOrigem    = "06056180"
CEPDestino    = "06236020"
Peso        = "1"

URLCorreio = "http://www.correios.com.br/encomendas/precos/calculo.cfm?cepOrigem=" & CEPOrigem & "&cepDestino=" & CEPDestino & "&peso=" & Peso

Set xmlhttp = Server.CreateObject("Msxml2.serverXMLHTTP")

Call xmlhttp.open("GET", URLCorreio, false)
Call xmlhttp.send()
strRetorno = xmlhttp.responseText

urlInteressante = Mid(strRetorno, instr(1, strRetorno, "window.open") )
urlInteressante = left(urlInteressante, instr(1, urlInteressante, "popUpTarifa") )

arrRetornos = Split(urlInteressante, "&")

for i=0 to Ubound(arrRetornos)
    arrLinha = Split(arrRetornos(i), "=")
    if instr(1, arrLinha(0), "Servico") Then  TipoServico = arrLinha(1)
    if arrLinha(0) = "Tarifa" Then Tarifa = Cdbl(Replace(arrLinha(1),".",","))
Next

Response.Write "O Frete é do tipo " & TipoServico & " e vai custar R$ " & FormatNumber(Tarifa,2)


%>

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...