Bom dia Pessoal,
tenho uma aplicação blank, que faz um link para um formulário.
Por esse motivo, uso na clausula where uma global para passar o parametro do id da empresa que será aberta no formulário.
Fica assim:
where id = [empresa]
Porém, para esse mesmo formulário, eu tenho mais duas opções, que são elas:
1 - Entrada direto pelo menu.
Nesse caso, o formulário deve abrir em modo de inclusão, sendo assim, eu seto o valor 0(zero) para a variável [empresa] no evento onScriptInit
2 - Ligação pela consulta. Nesse caso não existe muito o que explicar, pois a aplicação funciona perfeitamente.
Diante dessas situações, eu me deparo com o seguinte problema:
Quando eu entro no formulário, através da ligação do blank, se eu não zerar a variável [empresa], ela fica preenchida e se por ventura eu sair do formulário para fazer outra ação qualquer no sistema e entrar em modo de inclusão novamente no mesmo form, a variável ainda continua com valor e ao invés do formulário abrir como inclusão, ele abre com o registro que contem o valor da variável. Para isso ser resolvido, eu reseto a variável após após o carregamento. Porém, quando eu necessito atualizar ou deletar algum registro, gera um erro de sql, pois pelo motivo da variável estar vazia, o sql fica assim:
where id =
ao invés de
where id = [empresa]
com isso, o form não consegue retornar para a empresa que estava depois dos eventos citados acima.
ja tentei no link da aplicação blank, setar o valo da variável [empresa] como uma string completa da clausula where que ficaria assim:
sc_make_link(aplicacao, empresa='id=$id');
e no sql eu coloco apenas a variável [empresa], porém, dessa maneira, o sql reage como se não existisse condição na clausula where.
Alguém pode me ajudar?