Login
Buscar
Quem está conectado
Há 16 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 15 Visitantes :: 2 Motores de buscamarcaobona
[ Ver toda a lista ]
O recorde de usuários online foi de 337 em 27/12/2010, 08:00
Brasília
| |
Estamos no Twitter

Nossa Comunidade

Nosso Grupo

Últimos assuntos
Top dos mais postadores
| Marcos Guedes | ||||
| hugo | ||||
| alceu11 | ||||
| Julio | ||||
| m@r<3|o | ||||
| mfelis | ||||
| Tales Ruan | ||||
| Nelson Arcas | ||||
| _batmanvfp_ | ||||
| marcio |
Estatísticas
Temos 3637 usuários registradosO último usuário registrado atende pelo nome de reginaldolimas
Os nossos membros postaram um total de 13978 mensagens em 1958 assuntos
Calcular Frete via Webservice pelo VFP
Página 1 de 1 • Compartilhe •
Calcular Frete via Webservice pelo VFP
Pessoal estava verificando alguma coisas sobre XML e encontrei um webservice que calcula frete gratuito. Peguei o endereço do serviço e converti para VFP, estou disponibilizando caso alguem tenha interesse. Coloquei as informações sobre as fontes e os parametros que são utilizados para o processo.
- Código:
****** Desenvolvido por Nelson Arcas 24/02/2010*****
*!* Fonte de informações de parametros: http://www.comocriarsites.com.br/Calculo-de-frete-dos-correios-webservice-independente_b_2.html
*!* ENTENDA OS PARAMENTROS ACIMA
*!* CEP: cep do seu cliente com 8 dígitos - somente números
*!* COD: código de usuário, você receberá este código ao se cadastrar. Esse código estará vinculado ao CEP de origem - somente números
*!* PESO: é o peso do volume. Pode ser passado número quebrados com três casas decimais - Use o '.' ponto para separar as casas decimais, exemplo: 2.300
*!* COMPRIMENTO: comprimento do volume em centímetros - somente número de 16 a 60
*!* LARGURA: largura do volume em centimetros - somente número de 5 a 60
*!* ALTURA: altura do volume em centímetros - somente número de 2 a 60
*!* SERVICO: código do serviço desejado, use 1 para SEDEX, 2 para PAC e 3 para ambos.
*!* IMPORTANTE: O resultado de comprimento + largura + altura NÃO pode ser superior a 150.
*!* Os dados referentes ao tamanho são usados para calcular o peso cúbico. Para calcular a encomenda PAC os correios usa o peso cúbico se este for maior que o peso real.
*!* Os correios não usa as dimensões do volume para calcular o sedex, porém, mesmo se você não desejar calcular o valor do PAC será necessário informar as dimensões do volume.
*** Exemplo da Url para retorno ***
* http://frete.w21studio.com/calFrete.xml?cep=cepDestino&cod=codigoDoUsuario&peso=Peso&comprimento=comprimento&largura=largura&altura=altura&servico=servico
** Processo adaptado para VFP acessar o webservice **
*** Variaveis para leitura e envio do arquivo XML ***
LOCAL lcep AS STRING, lcod AS STRING, lpeso AS STRING, lcomprimento AS STRING,;
llargura AS STRING, laltura AS STRING, lservico AS STRING,linstrucao AS STRING,;
lsedex AS STRING,lpac AS STRING
*** Variaveis para armazenar o valor de retorno
LOCAL lvalor_sedex AS DECIMAL, lvalor_pac AS DECIMAL
** Variáveis para consulta xml no site **
lcep='06455000' && CEP DESTINO
lcod='1056' && Código de usuario para cadastrar é de graça no site http://frete.w21studio.com
lpeso='10' && Kilos
lcomprimento='60' && Comprimento
llargura='60' && Largura
laltura='5' && Altura
lservico='3' && Serviço
*** Instrução para monta a URL ***
linstrucao="http://frete.w21studio.com/calFrete.xml?cep="+lcep+"&"+"cod="+lcod+"&"+;
"peso="+lpeso+"&"+"comprimento="+lcomprimento+"&"+;
"largura="+llargura+"&"+"altura="+laltura+"&"+"servico="+lservico
*** Cria o Objeto para consulta e retormo em xml ***
objsrvxml = CREATEOBJECT("MSXML2.ServerXMLHTTP.4.0")
objsrvxml.OPEN("GET",linstrucao,.F.)
objsrvxml.SEND()
*Pego retorno do objeto Objsrvxml
objresulxml = CREATEOBJECT("MSXML2.DomDocument")
objresulxml.LOADXML(objsrvxml.responsetext)
*** Variavel com o resultado da entrega sedex ***
lsedex= objresulxml.selectnodes("//valor_sedex").ITEM(0).TEXT
lvalor_sedex= VAL(lsedex)
*** Variavel com o resultado da entrega pack ***
lpac=objresulxml.selectnodes("//valor_pac").ITEM(0).TEXT
lvalor_pac= VAL(lpac)
*** Validações ***
** Sedex **
IF lvalor_sedex>0
WAIT WINDOW 'Valor para entrega via sedex: R$' + ALLTRIM(STR(lvalor_sedex,10,2)) TIMEOUT 4
ENDIF
** Pac **
IF lvalor_pac>0
WAIT WINDOW 'Valor para entrega via pac: R$' + ALLTRIM(STR(lvalor_pac,10,2)) TIMEOUT 4
ENDIF

Nelson Arcas- Participa Bastante

Re: Calcular Frete via Webservice pelo VFP
Obrigado por compartilhar Nelson!
Com certeza este código será de grande utilidade.
Com certeza este código será de grande utilidade.
_________________
Marcos Guedes - Programador e desenvolvedor Web.
Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras
Marcos Guedes- Webmaster

Página 1 de 1
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum
Início
» Criar Variáveis em sequencia
» No final a Impressora não Ejecta cem corta o papel
» Ajuda com Imagens no MySQL
» Instalando MySQL no linux
» Como Criar arquivos de Log`s para certos usuarios
» MySQL X VFP @MEMO
» Dirf
» EXE Instalador Não Executa
» SQL Server Setup
» localizar registro no postgreslq (alterar/incluir)
» Saber se existe uma tabela??
» Empacotar arquivos em um único executável
» VAGAS ANALISTA DE SISTEMAS - VISUAL FOX
» Escrever a DATA por extenso
» ActionScript - Introdução
» Selecionar campo com mais de 9 caracteres
» CEP do BRASIL e dos UFs do brasil com codigo do IBGE para nf - <<<
» Tutorial HTML
» PHP + CSS