Solicitação de Variável de Entrada Inexistente

Meus caros,

Estou com o seguinte problema: tenho uma formulário que utiliza uma variável global no WHERE do SQL para filtrar os cadastros por empresa. Essa variável era a [id_empresa], mas mudei seu nome para [gi_id_empresa], para não confundir com o nome do campo na tabela {id_empresa} e também para padronizar os prefixos das minha variáveis no sistema (gi = g-global e i-inteiro). O problema é que agora, quando rodo o fomulário, ele pede as duas variáveis, tanto a gi_id_empresa (nova) como a antiga (id_empresa). Já olhei todos os eventos, todos os campos, no SQL e em Atributos Globais e ela não é utilizada em lugar algum, mas continua sendo pedida na execução da aplicação. Certamente existe alguma referência interna a ela que o SC não removeu, e que não fica disponível/visível no meu ambiente de desenvolvimento.
Alguém já passou por isso e sabe como resolver?

Observação: poderia recriar toda a aplicação do zero que resolveria, mas é uma aplicação muito complexa e daria muito trabalho para ser recriada.

Parceiro,

Acredito que já deva ter feito isso, mas de repente…

Na opção Aplicação/Variáveis Globais mostra todas as variáveis da aplicação e onde se encontram.
Talves tenha se passado.

Para Garantir, caso você tenha alterado o tipo de formulário por Exemplo de grid editável para único registro, tem alguns eventos que existem em um y no outro não, então si foi o caso de que você trocou o tipo de formulário volte ao tipo anterior y verifique os eventos outra vez,
por exemplo no grid editável temos o onloadrecord o mesmo evento não existe no form de tipo único registro…
quando você tem algum código em um evento que tem em um form y no outro não, esse código segue funcionando por dentro igual.

jorgepopel, esse teste eu já fiz e a variável não aparece na lista.
Mas fiz o que o Willian Fernando mencionou e fez sentido, pois o formulário é único registro e quando mudei ele para múltiplos registros ele não pede a referida variável. Mas o problema persiste pois, mesmo como múltiplos registros, a variável não aparece na lista de Variáveis Globais, para que eu identifique onde ela é referenciada. E mesmo com o formulário em qualquer configuração (Único Registro, Múltiplos Registros, Grid Editável e Grid Editável View) olhei em todos os eventos e nenhum referencia essa variável e nem tampouco ela aparece na lista de variáveis globais.
E fiz um teste criando a aplicação de novo do zero e ela funciona sem pedir a variável. Mas quando ponho nela o nome da aplicação antiga, ela passa a pedir a variável, como se existisse internamente no SC a referência dessa variável para essa aplicação estaticamente.
Estou achando que só vou resolver isso direto no banco de dados do SC, mas não sei como fazer isso. Alguém sabe?

Putz ai complico…

Erikson, também tem uma outra possibilidade.

Se vc tinha algum campo nesse form, com um tipo, e usou a global antiga para mostrar uma fórmula ou filtro por exemplo, se vc muda o tipo para campo select e passa a usar a global nova, o sc não apaga a referência da global antiga. Vc tem que voltar o campo para o tipo anterior, apagar a referência que fez a global antiga, depois vc volta ao tipo atual e o sc esquece da antiga.
Não sei se me fiz entender. Isso já aconteceu comigo várias vezes.

EDIT: Não acontece só mudando para select, acontece quando vc muda o campo de um tipo para outro. No tipo anterior usando a global antiga, no tipo novo usando a global nova. Volte o campo pro tipo anterior e apague a referência que fez a global antiga.

Bem lembrado rrma…

Editei pra tentar explicar melhor.

rrma,

Obrigado pela dica!
Mas fiz essa mudança em vários campos para tentar pegar o problema e não achei nada.

E a busca em aplicações, ja tentou usar pra localizar a variável antiga?
Tente também buscar no banco. No meu caso que uso o sc com mysql, a definição das aplicações e campos ficam nas tabelas sc_tbapl e sc_tbcmp, filtrando pelo campo Cod_Apl que contém o nome da sua aplicação problemática.

Fiz a busca nas aplicações e na aplicação problemática a variável não aparece. Aparece apenas o campo da tabela que tem o mesmo nome.
Sobre o banco do SC, uso o SQLite mesmo, o default dele. Sabe como faço para acessá-lo e consultar nele?

Nunca usei, mas existem ferramentas pra vc acessá-lo. Com certeza tem alguma free.

https://addons.mozilla.org/pt-br/firefox/addon/sqlite-manager/

Já aconteceu comigo, e resolvi da maneira mais bruta, refiz tudo do zero. É como se o SC “bugasse” a aplicação depois que você mexe muito em variáveis globais. Aconteceu 2 vzs na versão 7.0, na versão atual não tive mais esse pro.

chuta que é macumba.rs

mas pode procurar que vai estar escondido em algum campo…isso ja me ocorreu…aí larguei o PC, fui pra cozinha de casa… tasquei 1 garrafa de café nos peito…pensei…pensei…e voltei… e a coisa tava lá…escondida…

uma dica que sempre falo pros meus estagiários…“faça pequenas mudanças e teste…depois vá ao proximo passo…caso contrário ficará perdidinho ao deparar com um BUG(POG)…” Não adianta, por mais que estudemos o (ALONSO) sempre estará no nosso sub-conciente.rsr

quando isso acontecer mande os SC mostrar o codigo fonte da aplicação e faça uma pesquisa no código com o nome da variável. ela com certeza vai aparecer em algum lugar aí é só achar o evento ou campo que ela esta associada…

Já aconteceu isso comigo…também…estressa muito essa parada!!!

saulobborges,

Onde eu tenho a opção de exibir o código-fonte da aplicação no SC? Não encontrei isso aqui.

Abra sua aplicação logo vai ate, Menu do SC - Visualização - Ver codigo Fonte