Problemas com evento em Ajax

Pessoal,

Estou com um problema meio estranho. Eu tenho em um formulário 2 campos que foram criados no próprio formulário, para receberem cálculos envolvendo outros campos, da seguinte forma:

{combruta},{perc_loj},{comis_loj},{perc_age},{comis_age} // são os campos

No evento OnChange do Ajax do campo PERC_LOJ, pus o seguinte:

{perc_age} = {combruta}-{perc_loj};
{comis_loj} = ({valor}{perc_loj})/100;
{comis_age} = ({valor}
{perc_age})/100;

Para que quando se digite a combruta e perc_loj, o campo perc_age seja sempre igual a combruta - perc_loj. O problema é que quando eu digito:

combruta= 6 e
perc_loj=6

Era para aparecer o valor 0 em perc_age e comis_age, de acordo com o evento. Mas na primeira vez que faço isso não me mostra nada.
Quando edito e coloco algum valor e depois recoloco os valores 6 nos dois campos (combruta e perc_loja) aí sim aparece o valor zerado nos outros dois e o insert funciona bem. Algué já passou por isso? Fica chato o usuário ficar editando e colocando valores diferentes pra depois poder colocar valores iguais para poder fazer a validação

qual é o tipo de campo {perc_age}?

voce tambem precisa executar esse codigo no onchange de combruta nao?

e talvez testar na cabeça se eles estao vazios:

{combruta} = empty({combruta})?0:{combruta};
{perc_loj} = empty({perc_loj})?0:{perc_loj};

pra previnir se voce digitar o primeiro valor e o segundo tiver null(sem nenhuma entrada) …

Harold,

O tipo do campo no SC é MOEDA

Diogo,

Vou testar o teu código e retorno o resultado.

E o tipo SQL, qual é?

Harold,

Como é um campo criado diretamente no SC, eu o coloquei como NUMERO.

Bom, no evento Ajax OnChange do campo Perc_Loj, eu coloquei assim, mas me deu erro na execução:

{perc_age} = empty({combruta}-{perc_loj})?0:{combruta}-{perc_loj};
{comis_loj} = empty(({valor}{perc_loj})/100)?0:({valor}{perc_loj})/100;
{comis_age} = empty(({valor}{perc_age})/100)?0:({valor}{perc_age})/100;

Onde estou comendo bola? rsss

Bom, deu certo. Fiz assim:

if (({combruta}-{perc_loj})==0)
{perc_age}=“0”;
else
{perc_age} = {combruta}-{perc_loj};

if ((({valor}{perc_loj})/100)==0)
{comis_loj}=“0”;
else
{comis_loj} = ({valor}
{perc_loj})/100;

if ((({valor}{perc_age})/100)==0)
{comis_age}=“0”;
else
{comis_age} = ({valor}
{perc_age})/100;

E ai funcionou como deveria. Muito obrigado ao Harold pela solução.

.