Possuo numa aplicação de formulário único um campo auto complete para que o usuário digite o ramo de atividade de uma empresa. Este campo é vinculado para lookup a uma tabela chamada cnae_subclasse, que por sua vez tem três campos: classe, subclasse e descricao, sendo que o campo de auto complete está vinculado a coluna subclasse. Eu desejo que após o usuário digitar a subclasse (que é o CNAE da atividade principal), desenvolver no evento ajax onblur uma rotina para que a descrição da atividade correspondente a subclasse digitada, que se encontra no campo descrição da referida tabela, seja inserida num campo múltiplas linhas de exibição como label que criei no formulário, chamado Descrição da Atividade, com o objetivo de que o usuário veja se o CNAE digitado corresponde realmente a sua atividade econômica. A intenção é que este campo de descrição seja preenchido tanto no formulário de inserção de um novo registro quanto ao carregar o formulário para a edição e atualização do registro. Acredito que isso seja feito com as macros do scriptcase ( o acredito fica por conta de minha inexperiência), porém, não identifiquei as macros adequadas. Acredito também que a primeira seja a macro sc_exec_sql, que faz uma select usando o valor do CNAE digitado como parâmetro de seleção do registro. A sequência é que não está clara para mim, assim como se existe um caminho mais fácil de fazer isso. Posto para ver se alguém tem alguma experiência com esta rotina, cuja reposta não encontrei no fórum.
A macro sc_sql_exec executa uma instrução no banco e não retorna valores, para tal a macro sc_lookup é que faz isso.
Faça uma concatenação o SQL do lookup do campo auto complete para que a segunda coluna do select traga subclasse e descrição concatenadas no mesma coluna.
O próprio wizard de criação da instrução select lhe ajuda com essa concatenação.
Agradeço sugestão em relação a qual macro utilizar Haroldo. Entendi também tua sugestão de como permitir ao usuário ver a descrição do código da atividade econômica, ou seja, fazendo com que o lookup do campo autocomplete traga tanto o código quanto a descrição. Ocorre que a ideia de jogar o valor da descrição num outro campo para visualização do usuário, que seria um campo virtual,é pelo fato de que na descrição das atividades econômicas temos descrições com até 150 ou mais caracteres, que ficariam longas para aparecerem nas opções do lookup. Estava fazendo várias experiencias com variáveis utilizando a macro sc_lookup porém não consegui encontrar uma solução para passar o valor para este campo.
Ao pesquisar no fórum me deparei com um tópico teu de 8 anos atrás e percebi que encontrou um problema semelhante, e que na oportunidade não tinha solução.
http://www.scriptcase.com.br/forum/index.php/topic,1431.30.html
Alguma coisa mudou de lá para a atual versão do Scriptcase?
Tópico muito antigo. SIm muita coisa mudou.
Evento ajax onchange no campo auto complete.
sc_lookup(ds, “Select descricao from tabela where codigo=’”.{Campo_Autocomplete}."’");
{campo_virtual}={ds[0][0]};
Funcionou. Obrigado Haroldo. Só uma pequena correção de um erro de digitação na sintaxe da macro lookup, trocando sc_lookup(ds, "Select…) por sc_lookup(rs, "Select…), para o caso de alguém precisar desta solução.
sc_lookup(rs, “Select descricao from tabela where codigo=’”.{Campo_Autocomplete}."’");
{campo_virtual}={rs[0][0]};