campo (select) com ajax (RESOLVIDO)

Estou com um probleminha ???

eu tenho um form com um campo tipo select, onde estou usando um event onchange neste campo.

Dentro do onChange, tenho algumas rotinas para preencher alguns campos, funciona PERFEITO!

MAS, criei uma função como o nome “calc_comiss_individual()”, onde ela executa alguns calculos e retorna valores para dentro de outros campos do formulário.

Voltando ao onChange, eu inclui a função (calc_comiss_individual()) , para ser executada no onChange, aí começa o meu problema.
Nenhum campo do formulário é preenchido, mas quando eu tiro a função, os campos são preenchidos.

Isto esta soando um erro na rotina da função, mas já testei a função separada pra saber se está funcionando,
fiz um debug na função e ela esta preenchendo os campos que preciso, mas não está mostrando na tela.

???

segue a rotina no onChange:

// CALCULA COMISSAO DE PASSAGENS


calc_comiss_individual({funcID});

[i]
// calcura salario
$check_sql = “SELECT * FROM historico_pgto
WHERE (funcID = ‘{funcID}’) AND (dt_fechamento = ‘{dt_fechamento}’)”;

sc_lookup(dataset, $check_sql);

if(!EMPTY({dataset})) // No record found
{

sc_error_message("JÁ EXISTE PAGAMENTO PARA ESTE FUNCIONÁRIO <br>COM ESTE PERÍODO....");

} ELSE {

if(ver_tp_salario({funcID}) == 2) {
  $sql_hs = "SELECT  
                @t_hs := SEC_TO_TIME( SUM( TIME_TO_SEC( tot_horas ) ) ) AS t_horas,
                @t_int:= SEC_TO_TIME( SUM( TIME_TO_SEC( tot_intervalo ) ) ) AS t_intervalo,
                @dif_i:= SEC_TO_TIME( SUM( TIME_TO_SEC( dif_intervalo ) ) ) AS dif_intervalo,
                @dif_h:= SEC_TO_TIME( SUM( TIME_TO_SEC( dif_horas ) ) ) AS dif_horas
                FROM cartao_ponto_totais
                WHERE (funcID='{funcID}') AND 
                      (data_mov>='{per_ini}' AND data_mov<='{per_fim}')";
                   
  

  sc_lookup(hs,$sql_hs);
  
  IF(!EMPTY({hs})) {
      $hs_total = {hs}[0][3];

  } else {
      $hs_total = 0;
  }      

  $h  = EXPLODE(':',$hs_total);
  $gh = $h[0] .'.'. $h[1];
  

  IF($gh <=0) { $gh = 1;}

  {hora_trabalhada} = $gh;

}else {
  $gh = 0;
}
      
total_cheque({funcID},{per_ini},{per_fim},$gh);

// Mixar pgto

  {total} = {vl_cheque}+{vl_cash};
  {valor_cheque} = soma_total();  

}
[/i]
alguem já passou por isto ?

RESOLVIDO!

O que eu fiz, foi:

Dentro da minha função existe calculos de comissão, onde preciso distribuir para alguns campos.
Nos meus testes, resolvi fazer uma função para cada campo individual. Fazendo isto, consigo mostrar os campos preenchidos
e visualizar na tela.

NÃO É UMA EXPLICAÇÃO CONVINCENTE, MAS RESOLVEU O PROBLEMA…

Eu acredito que tenha sido um conflito de memória, sei lá!!