Postagem em destaque
- Gerar link
- X
- Outros aplicativos
Protheus :: Advpl :: Google maps :: Localizando o endereço mais próximo
Tempos atrás alguém me pediu uma ajuda para resolver um problema da Kasinski: Enviar, a seus clientes, carta informando sobre o “Recall” de suas motos contendo, no máximo, o endereço de três concessionárias próximas à sua localidade (CEP).
Bastou entender a regra de formação do CEP e o problema foi facilmente resolvido. Ia usar a carta como exemplo, mas, como perdi o contato com a pessoa, reescrevi o código, agora usando o Google maps.
A idéia básica é a seguinte: Informe o CEP de sua localidade e encontre o(s) endereço(s) mais próximo(s). Para o “Recall” da Kasinski havia usado o Código de Endereçamento Postal das Concessionárias. No exemplo que segue, e, considerando que se trata de ADVPL, vou usar alguns endereços da TOTVS (obtidos a partir do link canais).
Vamos imaginar o seguinte. Estou na Rua São João, no Centro de Niterói (CEP 24020-040) , e quero achar a TOTVS mais próxima. Informo o meu CEP e…
Se encontrei correspondente(s)…
Apresento(-os). O mais próximo na Cidade do Rio de Janeiro e no Mesmo Estado
e, como segunda opção… Vitória, no Espírito Santo.
Os Códigos de Endereçamentos Postais de referência, estão, no exemplo, armazenados em um arquivo CSV delimitado por “|” (pipe), mas poderiam ser uma Tabela do sistema, um arquivo XML ou qualquer outra forma de armazenamento.
No exemplo anterior, considerando que estava em Niterói, uma cidade do Rio de Janeiro, o endereço mais próximo era a TOTVS/Microsiga Rio. Imaginando, agora, que a minha localidade é em algum lugar de São José do Rio Preto (SP) cujo CEP seja 15015-000, qual a TOTVS mais próxima? Vamos procurar.
Vou encontrar três endereços. O mais próximo em São José do Rio Preto
o segundo, pela ordem de proximidade e considerando a regra de formação do CEP em Campinas
e finalmente, e, bem distante, em São José dos Campos.
O Algoritmo para a localização do CEP, baseado nas regras dos Correios, é bem simples:
Para obter o código completo, clique aqui
As dependências para o funcionamento do exemplo poderão ser obtidas em:
Protheus :: Herança de Classe em Advpl ( Derivando fTdb à partir da classe fT ) : para a Classe fTdb e;
Protheus :: ADVPL : Class TFINI Manipulando valores de um arquivo de configuração (*.INI): para a Classe TFINI.
[]s
иαldσ dj
- Gerar link
- X
- Outros aplicativos
Comentários
Postagens mais visitadas
BlackTDN :: RLeg ~ Desvendando a Função ParamBox
- Gerar link
- X
- Outros aplicativos
Protheus :: Chamando Funções do Menu Diretamente e sem a Necessidade de Login
- Gerar link
- X
- Outros aplicativos
Não consegui baixar, parece que googleDocs mudou algo!!
ResponderExcluirO link estava "quebrado". Corrigi o mapeamento do arquivo para "Download" e aproveitei a deixa para incrementar a função de busca de CEP uma vez que a primeira versão que apresentei era, digamos, "Tendenciosa".
ResponderExcluir[]s
иαldσ dj
Agora sim,
ResponderExcluirmostra a cobra e mata o pau!