Uma funcionalidade interessante que podemos implementar no Dynamics CRM 2011 é a busca do endereço de uma Conta através do CEP. Para realizarmos este processo, necessitamos editar o formulário da entidade e adicionarmos os JavaScripts necessários.
Antes de iniciar a implementação da funcionalidade é necessário criar um Recurso da Web do tipo Script e importar a biblioteca JQuery no formulário, o download desta biblioteca pode ser realizado no site
http://jquery.org/.
Tento a biblioteca no formulário, criamos outro Recurso da Web, que no meu caso chamei de "BuscaEndereco", onde contém a função que realiza a busca do CEP. Abaixo eu tenho um exemplo desta função:
function BuscaCEP(){
var cep = Xrm.Page.getAttribute("address1_postalcode").getValue();
/*Limpa os Valores do Campos de Endereço*/
Xrm.Page.getAttribute("address1_line1").setValue('');
Xrm.Page.getAttribute("address1_line2").setValue('');
Xrm.Page.getAttribute("address1_city").setValue('');
Xrm.Page.getAttribute("address1_stateorprovince").setValue('');
Xrm.Page.getAttribute("address1_country").setValue('');
/*Faz a chamado do Web Service e popula os campos com o retorno obtido*/
$.getScript("http://cep.republicavirtual.com.br/web_cep.php?formato=javascript&cep=" + cep, function(){
if(resultadoCEP["resultado"] == 1){
var TipoLogradouro = resultadoCEP["tipo_logradouro"] + ' ' + resultadoCEP["logradouro"];
Xrm.Page.getAttribute("address1_line1").setValue(unescape(TipoLogradouro));
Xrm.Page.getAttribute("address1_line2").setValue(unescape(resultadoCEP["bairro"]));
Xrm.Page.getAttribute("address1_city").setValue(unescape(resultadoCEP["cidade"]));
Xrm.Page.getAttribute("address1_stateorprovince").setValue(unescape(resultadoCEP["uf"]));
Xrm.Page.getAttribute("address1_country").setValue("Brasil");
}
/*Mensagem de alerta caso o endereço não seja localizado*/
if(resultadoCEP["resultado"] == 0){
alert("Endereço não Localizado!");
}
});
}
Implementados os dois Recursos da Web, é necessário determinar em que momento em que realizamos a chamada do Script. Neste caso realizamos a chamada do recurso "BuscaEndereco" no momento em que o CEP da conta é alterado. Para isso realizo a chamada da função "BuscaCEP" no OnChange do campo CEP.
Realizada esta implementação, basta salvar e publicar o formulário, que ao alterar o CEP, os dados de endereço serão preenchidos automaticamente. Esta funcionalidade pode ser implementada nas demais entidades que possuem endereço.