[RESOLVIDO] Só atualiza à 2ª

Num formulário no processo de eliminar diminui um valor a um total de um saldo

Ao efetuar a consulta (grid) por razões de segurança optei por reforçar com a rotina para atualizar o saldo, em cada registo no evento onRecord

Curiosamente só se verifica a atualização do saldo correto na 2ªvez que se executa o grid.
Na 1ª vez mantém o saldo anterior…
exemplo
tenho no saldo 1000
vendo 100
vendo 100
fica 800
até aqui tudo bem
quando elimino uma das linhas
elimino 100
(tenho implementado a rotina que diminui do saldo, e atualiza na tabela, mas não atualiza na consulta do grid)

ao efetuar a consulta grid do saldo está 800
ao executar novamente o grid está direito 900

Será problema do tema, uma vez que é um tema da versão 7?
Alguma Sugestão

A rotina é esta, que está no evento onRecord
//*******************************************
$xchave_unica_ref_tamanho_cor={chave_unica_ref_tamanho_cor};

sc_select(meus_2dados,“SELECT sum(quant_x_factor) AS total FROM gestao_linhas where chave_unica_ref_tamanho_cor=’$xchave_unica_ref_tamanho_cor’”);
$wxstock = $meus_2dados->fields[0];

if(empty($wxstock))
{
$wxstock=0;
}


// Mostro o valor do CÁLCULO na coluna mesmo que não atualize no grid
{stock}=$wxstock;
//********************

// SQL statement parameters
$update_table = ‘artigos_stocks’; // Table name
$update_where = “chave_unica_ref_tamanho_cor = ‘$xchave_unica_ref_tamanho_cor’”; // Where clause
$update_fields = array( // Field list, add as many as needed
“stock = ‘$wxstock’”,
);
// Update record
$update_sql = ‘UPDATE ’ . $update_table
. ’ SET ’ . implode(’, ', $update_fields)
. ’ WHERE ’ . $update_where;
sc_exec_sql($update_sql);