Outras Dicas

Buscar o CEP nos Correios e preencher os campos de endereço automaticamente

Para facilitar o preenchimento dos campos de endereço é possível configurar para que o campo de CEP dispare uma consulta na base dos Correios e preencha os campos de endereço.

Informações que são possíveis preencher automaticamente através do CEP:

 

  • Rua,
  • Bairro,
  • Cidade,
  • Estado,
  • Sigla do Estado,
  • DDD da região,
  • Número De - Até (Intervalo numérico da região)

 

Configuração:

1. Através do menu principal do sistema, entre na área de customização e configuração do Agilityflow

2. Na área de customização, edite o formulário que deseja configurar a busca pelo CEP

3. Já dentro do formulário acesse a área de customização em Javascript, como na imagem abaixo

4. Cole a função Javascript e altere apenas os parâmetros que estão em amarelo no código abaixo. Na tabela um pouco mais abaixo os parâmetros estão descritos com mais detalhes

formContext.buscaCEP.configurar(
    'id_campo_cep',
    {
        uf_sigla: 'id_do_campo_uf_sigla',
        uf_nome: 'id_do_campo_uf_nome',
        logradouro: 'id_do_campo_logradouro',
        bairro: 'id_do_campo_bairro',
        cidade: 'id_do_campo_cidade',
        numero_de_ate: 'id_do_campo_numero_de_ate',
        ddd_da_regiao: 'id_do_campo_ddd_da_regiao'
    }
);

Parâmetros da função

Parametro     Retorno de exemplo
"id_campo_cep" obrigatório Esse é o campo principal, troque esse parâmetro pelo id do campo que será digitado o CEP  
uf_sigla pode estar em branco

Troque esse parâmetro pelo id do campo que deve ser preenchido a SIGLA do Estado

SP

uf_nome pode estar em branco Troque esse parâmetro pelo id do campo que deve ser preenchido com o nome completo do Estado São Paulo
logradouro pode estar em branco Troque esse parâmetro pelo id do campo que deve ser preenchido com o Logradouro (Avenida, Rua etc..) Avenida Paulista
bairro pode estar em branco Troque esse parâmetro pelo id do campo que deve ser preenchido com o Bairro Bela Vista
cidade pode estar em branco Troque esse parâmetro pelo id do campo que deve ser preenchido com a Cidade São Paulo
numero_de_ate pode estar em branco

Troque esse parâmetro pelo id do campo que deve ser preenchido com a Número

Importante: esse campo não deve ter máscara numérica, pois ele retorna um intervalo De XXX até YYY

de 1047 a 1865 - lado ímpar
ddd_da_regiao pode estar em branco Troque esse parâmetro pelo id do campo que deve ser preenchido com o DDD da região, por exemplo, no caso de São Paulo, ele retornará 11 11

 

5. Publique o seu formulário e teste.

 Pronto, já deve estar funcionando.

 

Callbacks para customização avançada:

 

Existem 3 callbacks que você pode chamar no Javascript:

  • callback_before - Antes de fazer a busca -
  • callback_onSucess - No sucesso do retorno
  • callback_onError - No Erro da busca

Abaixo está o exemplo do código que você pode utilizar

formContext.buscaCEP.configurar(
    'id_campo_cep',
    {
        uf_sigla: 'id_do_campo_uf_sigla',
        uf_nome: 'id_do_campo_uf_nome',
        logradouro: 'id_do_campo_logradouro',
        bairro: 'id_do_campo_bairro',
        cidade: 'id_do_campo_cidade',
        numero_de_ate: 'id_do_campo_numero_de_ate',
        ddd_da_regiao: 'id_do_campo_ddd_da_regiao'
    },
    {        
        callback_before: function() {
            alert('before')
        },
        callback_onSucess: function (dados) {
            alert('callback_onSucess')
            console.log(dados)
        },
        callback_onError: function () {
            alert('error')
        }

    }
);

 

Ficou alguma dúvida ? Fale com a gente

 

 

 

Automatizar a criação de tarefas em um Quadro de Tarefas ao salvar um formulário

 

O agilityflow através de sua Regras de Negócios pré-definidas, consegue te ajudar na automatização de processos.
No vídeo abaixo apresentamos como  criar uma tarefa em um quadro, com data de entrega e responsável ao salvar um formulário.

 

Problema de acentuação no retorno de um CSHtml que é usado com Javacript

Em algumas situações será necessário tratar caso a caso a acentuação de textos no CSHTML.
Para isso utilize a função nativa do .NET (C#):

Html.Raw(...)

Exemplo de uso, imaginamos que toda vez que o usuário entrar em um formulário a descrição do produto seja apresentado em um alert em javascript:

Para isso, criamos um cshtml, e adicionamos no formulário com o seguinte código.

@{
    /*
     * FUNÇÃO EM C# PARA BUSCAR A DESCRIÇÃO NO BANCO DE DADOS
     */
    var id_produto = Model.FormularioCamposPreenchidos["produto"];
	var descricao = "";
    if(id_produto != null && id_produto.ToString() != string.Empty){
        
        var query = @"select isnull(p.descricao,'') descricao from x_tbl_produtos p where p.deletado = 0 and p.id = '"+id_produto+"' ";
        var dt = await PageContext.GetDataTableAsync(query);

        if(dt.Rows.Count > 0)
        {
            var dr = dt.Rows[0];           
            descricao = dr["descricao"].ToString().Replace("'","");
        }
    }

   /*
     * ABAIXO ESTÁ A FUNÇÃO EM JAVASCRIPT APRESENTAR A DESCRIÇÃO EM UM ALERT
     */
}
<script>
    DOM.ready(function () {
    	 //nesse momento eu quero apresenta um alert com a descrição do produto, para garantir que a acentuação esteja correta, utilizo Html.Raw
         alert('@Html.Raw(descricao)');
    });
</script>