[RESOLVIDO] Dúvida no formulário após inserir dados!

Olá pessoal, minha dúvida é a seguinte:

Tenho um formulário de Cadastro de Clientes, com 3 clientes cadastrados!
Tenho um “Menu” que chama esse formulário.

Ao chamar o fomulário de cadastro de clientes, percebi que sempre me aparece o primeiro cliente cadastrado em todos os campos do formulário. Isso acontece com todos os formulários que eu fizer no SC.

Gostaria de saber se tem como ao chamar o formulário (executa-lo), ele venha com os campos em “branco”, sem os dados do primeiro cadastro.

Alguém já resolveu isso?

Abraço a todos!

Utilize a macro sc_apl_conf o menu.

Conselho: Conhecer e estudar todas as macros antes de iniciar a programação em sc fará a diferença.

sc_apl_conf(“Aplicação”, “Propriedade”, “Valor”)

Esta macro permite alterar as propriedades de execução das aplicações, mudando sua forma de execução em relação ao inicialmente previsto. Desta forma, podemos forçar que um formulário inicie no modo de inclusão, ou uma consulta inicie pelo filtro, etc.

Esta macro deve ser utilizada, por uma aplicação, para modificar as propriedades de uma outra aplicação.

Propriedades para aplicações de Formulário

Propriedade Valor Descricao
start new Força o formulário a iniciar no modo de inclusão de novo registro.
insert on/off Habilita (on) ou desabilita (off) o botão para a inclusão de novos registros.
update on/off Habilita (on) ou desabilita (off) o botão para a alteração de registros.
delete on/off Habilita (on) ou desabilita (off) o botão para a exclusão de registros.
field_display_off campo Desabilita a exibição de um campo.
field_display_on campo Habilita a exibição de um campo.
field_readonly campo Força um campo para ser exibido como “readonly”.
rows Força a quantidade de linhas por página. (apenas para formulários de múltiplas linhas)
rows_ins Força a quantidade de linhas de inclusão. (apenas para formulários de múltiplas linhas)

Propriedades para aplicações de Consulta

Propriedade Valor Descricao
start filter Força a consulta a iniciar pelo filtro.
cols Força a quantidade de colunas (consultas tipo vertical e slide)
rows Força a quantidade de linhas por página
lig_edit on/off Habilita (on) ou desabilita (off) o botão de edição do registro (lapis)

Propriedades para todas as aplicações

Propriedade Valor Descricao
exit apl/url Força a saida da aplicação para a “aplicação” ou “url” informada.

Ex. 1: Forçar a aplicação “meu_formulario” a iniciar no modo de inclusão.
sc_apl_conf(“meu_formulario”, “start”, “new”);

Ex. 2: Não permite que a aplicação “meu_formulario” faça inclusão de novos registros.
sc_apl_conf(“meu_formulario”, “insert”, “off”);

Ex. 3: Exibe “meu_campo”, da aplicação “meu_formulario”, dinamicamente.
sc_apl_conf(“meu_formulario”, “field_display_off”, “meu_campo”);

Ex. 4: Forçar a aplicação “minha_consulta” a iniciar pelo filtro.
sc_apl_conf(“minha_consulta”, “start”, “filter”);

Ex. 5: Forçar a aplicação “minha_consulta” a exibir 20 linhas.
sc_apl_conf(“minha_consulta”, “rows”, “20”);

Ex. 6: Forçar a saida da aplicação “minha_consulta” para a aplicação “outra_consulta”.
sc_apl_conf(“minha_consulta”, “exit”, “outra_consulta”);

Escopo da Macro

Aplicação em branco Aplicação consulta Formulário Controle Aplicação de pesquisa Aplicação formulário Aplicação menu
onExecute onApplicationInit
onClick
onScriptInit onApplicationInit
onScriptInit
onValidate
onValidateFailure
onValidateSuccess onApplicationInit
onScriptInit onApplicationInit
onScriptInit onApplicationInit
onLoad

1 Curtida

Desculpa Haroldo, respondemos no mesmo momento.

Caramba mais bem explicado que isso impossível kkkk.

SHOW DE BOLA

Muito obrigado George e Haroldo.

Já resolvi aqui :wink:

Abração!

Como você fez para começar com o campo em branco?

Coloque no onAPlicationInit:

sc_apl_conf(“meu_formulario”, “start”, “new”);

Não funcionou, ou talvez perguntei errado.

No meu formulário tenho dois campos:
Campo 1 -> Cod_Cliente (este campo fica em branco, ao lançar o código, ele carrega o cliente do campo 2);
Campo 2 -> Nome_Cliente (Neste campo fica um lookup, para que ao lançar o código aqui apareça o nome do cliente, mas o select já aparece com o primeiro nome que está no banco com os nomes dos clientes, eu queria que aparecesse o nome somente depois que eu colocar o código, pois eu tentei usar o título, mas acontece que quando eu uso o título, ao lançar o código ele fica em branco na primeira opção, aí tenho que escolher a segunda opção na lista que é o cliente correspondente ao meu código)

Acho que expliquei melhor agora. Pode me ajudar?

Ah ta! Rotina totalmente diferente da abordada nesse tópico, mas vamos lá. Eu tenho uma rotina parecida em um formulário de cadastro de produtos.

Onde a 2 campos que:

Grupos (Onde aparece a lista de grupos de produtos )
Sub Grupos (Onde aparece apenas os sub grupos referente ao campo anterior, ou seja, grupos)

No meu caso, o campo grupos é um select onde eu uso um Ajax, que quando ao selecionar o grupo ele já ativa o próximo campo que é o “sub grupo”.

Na prática:

Campo Grupo eu uso um select normal pra trazer os grupos cadastrados.

Agora em Eventos Ajax usando um onChange eu crio um lookup, exemplo:

$sql =“SELECT S.idgrupos_produtos FROM subgrupos_produtos S
INNER JOIN grupos_produtos G ON (G.idgrupos_produtos = S.idgrupos_produtos)
WHERE S.idgrupos_produtos = ‘{idgrupos_produtos}’”;

sc_lookup(ds, $sql);
if (isset({ds[0][0]})){
if ({ds[0][0]} != 0){
{idsubgrupos_produtos} = {ds[0][0]};
}else{
sc_error_message(“Erro”);
sc_error_exit();
}
}

E no campo Sub Grupo eu trago apenas as informações referente ao campo Grupos, antes “selectado” pelo Ajax. Porém com uma pequena diferença no select. Exemplo:

SELECT idsubgrupos_produtos, nome
FROM subgrupos_produtos
WHERE idgrupos_produtos = {idgrupos_produtos}
ORDER BY nome

Veja que no Where eu estou atribuindo o {idgrupos_produtos} para que nesse campo me mostra apenas os dados referidos ao campo Grupos.

Baseado nessas informações acredito que ficou claro de como você poderá fazer o seu.

Qualquer coisa chama ai! Abraço!