Bug em uma variável Global

Tenho um formulário baseado em uma tabela e nele criei mais alguns campos que insiro em outra tabela ao submeter o form.

Até ai tudo bem.

No evento onAfterInsert tenho o seguinte código:

[id_proponente] = {id_proponente};

/*Realizando o insert na tabela de acordo com o tipo de proponente*/

if ({id_tipo_proponente} = 1) {

$insert_table  = 'tab_pessoa_fisica';      // Table name
$insert_fields = array(   // Field list, add as many as needed
    'id_proponente' => "'{id_proponente}'" ,
	'cpf' => "'{cpf_pf}'",
    'nm_pessoa_fisica' => "'{nm_pessoa_fisica}'",
	'rg' => "'{rg}'",
	'nm_endereco' => "'{nm_endereco}'",
	'nm_bairro' => "'{nm_bairro}'",
	'id_estado' => "'{id_estado}'",
	'id_cidade' => "'{id_cidade}'",
	'cep' => "'{cep}'",
	'email' => "'{email}'",
	'fone' => "'{fone}'",
 );

// Insert record
$insert_sql = 'INSERT INTO ' . $insert_table
    . ' ('   . implode(', ', array_keys($insert_fields))   . ')'
    . ' VALUES ('    . implode(', ', array_values($insert_fields)) . ')';

sc_exec_sql($insert_sql);	

}

Tudo certinho, mas não preciso mais da variável [id_proponente]. Se eu apagar essa linha ou comentar, ao rodar a aplicação, continua pedindo pra inserir um valor para variável [id_proponente].

Quando deleto essa linha ou comento, vou lá na opção Variáveis e ela não está lá. Mas ao rodar a aplicação, ela é exigida.

Só consigo rodar a aplicação se deixar essa linha:

[id_proponente] = {id_proponente};

Deixando ela como saída em variáveis.

Alguém já passou por isso?

Já limpei cache do navegador e tudo. Nada resolveu.

Guto,

Verifique nas definições das Variáveis Globais, onde essa variável está definida. Assim você vai saber se ela foi definida em outro local que você ainda não percebeu.

Seu if esta errado: if ({id_tipo_proponente} = 1) {

O correto: if ({id_tipo_proponente} == 1) {

Pois isso que eu to achando estranho,

Se eu comentar a linha ou deletar. Vou em variáveis Globais e ela some de lá. Mas ao executar, ela é pedida.

Sim, obrigado, já tinha corrigido isso também.

Guto,

Não está em tuas definições do SQL? Tipo, no WHERE?

Outra coisa: é sempre bom nunca criar variáveis com o MESMO nome do campo, isso pode gerar problemas. Eu costumo usar notação húngara, onde indico qual o tipo de variável estou usando, exemplo:

  • Campo Numérico:
    nIdControle

  • Campo Varchar:
    cEndereco

E assim por diante. É só uma sugestão.

Sim, já chequei la no SQL e nada. Estranho que quando eu vou em Variáveis Globais, não aparece nada, mas ao executar pede, ai tenho que deixar a linha e configurar como variável de saída.

Solução, renomear o formulário atual para bkp_nome_dele.

Limpar o cache do Navegador Tudo, fechar o SC.

Refazer em um novo, olhando o antigo.

Checar se tudo ficou certo, testar, e depois apagar o antigo bkp_

E quando criar variáveis globais sempre use [glo_ antes do nome das mesmas, se não vai dar
uns bugs loucos nos seus projetos, se fizer isso.

{LancamentoID} << Variável SC da tabela.
[LacamentoID] << Suposta Variável Global, teria que ser assim: [glo_LancamentoID]

Nas Variáveis locais fazer sempre assim:

{LancamentoID} << Variável SC da tabela.
$LacamentoID << Suposta Variável Local, teria que ser assim: $_LacamentoID

Vale a dica das variáveis. Vou utilizar.

Quanto a fazer tudo de novo, já fiz isso uma vez. Vou tentar mais uma vez.