none
Recuperar registro dynamics crm 2015 RRS feed

  • Pergunta

  • Tenha uma demanda de preencher o endereço a partir do CEP. Tenho uma tabela com os CEPs, que ao preencher o campo CEP do contato os campos rua, bairro, cidade..... deve ser preenchido. Como posso realizar este procedimento.

    Obrigado. 

    terça-feira, 14 de julho de 2015 16:01

Todas as Respostas

  • procsis, boa tarde!

    Nesse caso você deve fazer uma busca pelo CEP informado pelo usuário, na sua entidade de CEPs, segue abaixo um exemplo. Nesse caso eu tenho uma entidade chamada new_cep e tenho os campos de endereço nela, essa função é chamada no onchange do campo de CEP passando como parâmetro 1 ou 2 que é referente ao endereço 1 ou endereço 2, o script vai buscar na entidade new_cep um CEP com o campo new_name igual ao que foi informado pelo usuário em seguida preenche o campo composto de endereço e bloqueia os campos que foram preenchidos para evitar que o usuário modifique. Lembre de colocar nos parâmetros da função o número do endereço que deve ser preenchido.

    function onChange(end1ou2) {
    
        var nomeCampoCep = "address" + end1ou2 + "_postalcode";
    	var campoEndereco = "address" + end1ou2 + "_line1";
    	var campoBairro = "address" + end1ou2 + "_line3";
    	var campoCidade = "address" + end1ou2 + "_city";
    	var campoEstado = "address" + end1ou2 + "_stateorprovince";
    	var campoPais = "address" + end1ou2 + "_country";
    	var cep_texto = Xrm.Page.getAttribute(nomeCampoCep).getValue();
    	
    	if (cep_texto != null) {
    		
    		cep_texto = cep_texto.replace(/[^0-9]/gi, ""); //descomente se quiser utilizar sem o -
    		SDK.REST.retrieveMultipleRecords(
    			"new_cep", //Nome da entidade que deve ser capturado os campos.
    			"$filter=new_name eq '" + cep_texto + "'", 
    			function(results) {
    
    				//Captura os valores dos dados cadastrados na entidade CEP.
    				var endereco = results[0].new_logradouro;
    				var bairro = results[0].new_bairro;
    				var cidade = results[0].new_cidade;
    				var estado = results[0].new_uf;
    				var pais = results[0].new_pais;
    
    				
    				//seta os valores no campos de endereco
    				Xrm.Page.getAttribute(campoEndereco).setValue(endereco);
    				Xrm.Page.getAttribute(campoBairro).setValue(bairro);
    				Xrm.Page.getAttribute(campoCidade).setValue(cidade);
    				Xrm.Page.getAttribute(campoEstado).setValue(estado);
    				Xrm.Page.getAttribute(campoPais).setValue(pais);
    				
    				//desabilita edicao dos campos
    				var field_pais = Xrm.Page.ui.controls.get("address1_composite_compositionLinkControl_address1_country"); 
    				field_pais.setDisabled(true);
    				var field_estado = Xrm.Page.ui.controls.get("address1_composite_compositionLinkControl_address1_stateorprovince"); 
    				field_estado.setDisabled(true);
    				var field_cidade = Xrm.Page.ui.controls.get("address1_composite_compositionLinkControl_address1_city"); 
    				field_cidade.setDisabled(true);
    				var field_bairro = Xrm.Page.ui.controls.get("address1_composite_compositionLinkControl_address1_line3"); 
    				field_bairro.setDisabled(true);
    				
    				Xrm.Page.getAttribute(campoEndereco).setSubmitMode("always");
    				Xrm.Page.getAttribute(campoBairro).setSubmitMode("always");
    				Xrm.Page.getAttribute(campoCidade).setSubmitMode("always");
    				Xrm.Page.getAttribute(campoEstado).setSubmitMode("always");
    				Xrm.Page.getAttribute(campoPais).setSubmitMode("always");
    				
    			},
    
    			function erro(err) {
    				//alert(err.message);
    			},
    
    			function() {}
    		);
    	}
    	else 
    	{
    		Xrm.Page.getAttribute(campoEndereco).setValue(null);
    		Xrm.Page.getAttribute(campoBairro).setValue(null);
    		Xrm.Page.getAttribute(campoCidade).setValue(null);
    		Xrm.Page.getAttribute(campoEstado).setValue(null);
    		Xrm.Page.getAttribute(campoPais).setValue(null);
    	}
    }


    [MCP | MCSA Microsoft SQL Server 2012 | MCTS Microsoft Dynamics CRM 2011]


    • Editado Marcos Rocha terça-feira, 14 de julho de 2015 16:42 Correções de regras gramaticais
    • Sugerido como Resposta Gabriel Dias Junckes terça-feira, 28 de julho de 2015 00:55
    terça-feira, 14 de julho de 2015 16:38