CEP + campo autocomplete

Sou novato no scriptcase rsrs.
Tenho um formulário de cadastro de clientes. Tenho os campos NOME(text), CEP(Função CEP scriptcase), RUA(text), NUMERO(numero), BAIRRO(text), CIDADE(autocomplete com dados do BD), ESTADO(text).
O campo CEP está habilitado a função do scriptcase, que ao preencher o campo com um número de CEP válido, ele automaticamente me retorna RUA, BAIRRO, CIDADE, ESTADO.
O campo CIDADE é um campo do tipo autocomplete, que busca cidades em uma tabela no bd.
Ate aí blz…
O meu problema é o seguinte… Ao inserir um número de CEP válido, o campo CIDADE(que é um campo autocomplete) não esta sendo preenchido, ja os outros campos estão sendo preenchidos corretamente. Acredito que seja alguma incompatibilidade pois se eu alterar o tipo do campo CIDADE para texto ou select ele funciona normal.
Alguem ja passou por isso?

Obs : Ja tentei ate uma gambi bem fraquinha, que seria enviar a cidade fornecida pelo CEP para um campo do tipo select e enviar via ajax para o campo CIDADE(autocomplete). Sem sucesso!!!

cidade nào pode ser autocomplete.

Na pasta CAMPOS selecione o campo CEP > tipo de dado CEP > Na parte FORMATAÇÃO DE VALORES coloque os dados CEP: endereço = logradouro, bairro = bairro, cidade = cidade, estado = UF

Crie os campos BAIRRO, CIDADE, ESTADO na pasta CAMPOS

pronto.

quando executar terá um botão CEP…abrirá um janela para inserir os dados e ao pesquisar irá mostrar o CEP automaticamente… e ao apertar confirmar já vai inserir nos campos correspondentes

e se o campo cidade e UF forem tipo select que buscam na tabela_cidades e tabela_estado respectivamente pelo seus IDs ?
Como faço para quando o CEP for 40725-074, ele buscar em outra tabela “tabela_cidades” = Salvador e em outra tabela “tabela_estado” o UF = BA do CEP digitado ?
ou é melhor deixar os campos cidades e UF apenas para serem preenchidos sem buscar em outras tabelas ?

Tem opção de as informações que retornam automaticamente do cep retornarem em maiuscula?

Até hoje, desde a versão 5 eu me faço a mesma pergunta.
Quando busca o CEP, como preencher o campo Estado, quando esse é um campo Select conectado em uma tabela de estados.

Até hoje não consegui.

Uma opção é criar um Evento OnBefforeInsert e um Evento OnBefforeUpdate que contenha -> {sua_variavel} = strtoupper({sua_variavel});

Não entendi… explique aí…

Uma opção é criar um Evento Ajax, para o botão CEP (onchange)… busque os resultados através das macros sc_lookup em quantas tabelas diferentes vc quiser.

Olá Jovito,
Quanto tempo?

Em 2012 vc me ajudou muito na Implementação do meu sistema. Hoje ja ta com 5 anos no mercado. Muito obrigado !

Rapaz, é o seguinte, eu tenho campo CEP com o botãozinho de busca que preenche todos os campos. Se os campos são de Texto, fica fácil, ele preenche e pronto. Quando o campo UF é um campo Select, ele não preenche.

Outra coisa semelhante é:
Faço um Select no banco buscando pelo código do cliente. Ex: Select * from cliente where codigo = 1

Ai vou preencher o formulario manualmente (Em alguns caso preciso)

Os campos que são texto é facil: Ex: {nome} = {dsCliente[0][0]}; //Coloca o nome no campo do formulario

O Campo Grau de Instrução é um Campo Select; Quando faço: {grau_escolaridade} = {dsCliente[0][1]}; //Aqui não acontece nada. O Grau de Instrução gravado no banco é o código do grau. Se eu jogar o Código do Grau de Instrução no Campo Select, que esta ligado a tabela de Grau de instrução não funciona.

Acho que consegui explicar…

Abração mano !

Fala bro…

Esses eventos estão aonde?

Pelo que estou entendendo, ambos são resultado de um array de um SELECT, o {nome} é o primeiro vetor do array ([0][0]) e o {grau_escolaridade} é o segundo vetor do array ([0[[1]).

Isso mesmo.
O problema é como pegar o valor do array e jogar no Select de UFs
Lembrando que a UF no campo select é exibido o Nome do Estado e a chave é o código do estado.
O Array devolve o código do estado.

Sim, mas esses eventos estão aonde?

É Evento Ajax? OnLoad? ???

Tenho um campo chamado Código. O Usuario digita o código e pressiona um botão chamado Localizar.
Esse botão chama o Formulário. No Evento OnLoad do Formulario faço o select e preencho os campos.

Vc está passando a variável código como?

Passo o Código via Sc_redir(FrmCadastro, vCodigo={codigo_digitado});

Depois te ter passado o valor do array para o campo UF antes de chegar nele use o Evento Ajax esse comando:
sc_ajax_javascript(‘nm_recarga_form’);

Isso vai forçar o SELECT já vir com o novo valor que foi selecionado.

  • Observação sempre que passar códigos no sc_redir, mesmo que a chave primária da base da tabela estiver assim: CodigoClienteID, tem que ser
    passado tudo em minúsculo.
    sc_redir(cadastroclientes,codigoclienteid={codigo digitado});

Watson, desculpe a demora…

Ok, agora pra gente saber se está tudo ok… execute a app no modo debug e mate o processo (die) após a execução do comando lookup que gerou o select da consulta.

Feito isso, execute o comando select (no próprio Mysql) que foi mostrado após o processo ser parado e cheque se o resultado está exatamente como vc esperava…