Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal. Sou novato em ASP e preciso de ajuda de vcs. Tenho um sistema de loja virtual e nele existe o cálculo de frete dos correios. Porém o calculo do PAC parou de funcionar porque os correios mudaram a forma de calculo e agora utilizam o tamanho cúbico do produto para cálculo. Já vi vários artigos na net explicando como mudar (o melhor no kit da locaweb), porém não sei como fazer. Alguém pode me ajudar ? Segue o código abaixo que utilizo hj na loja virtual. Obrigado.
'calcula os fretes pelos correios
'41106 - 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
Obrigado à todos.
William
Carregando comentários...