onAfterInsert não funciona

Utilizo o sc_master_value no formulário detalhes para actualizar campos no formulário mestre.
Porém só funciona no onAfterDelete.
No onAfterInsert não funciona.

CÓDIGO:

$check_sql = “SELECT preco, iva”
. " FROM linhasfacturas"
. " WHERE numserie = ‘[sm_global_serie]’ and numfactura = [sm_global_factura]";

sc_select(rs, $check_sql);

$mercadoriatotal = 0;
$ivatotal = 0;

while (!$rs->EOF)
{
$pre = $rs->fields[0];
$iv = $rs->fields[1];

$mercadoriatotal = $mercadoriatotal + ( $pre / ( 1 + ($iv/100) ) );
$ivatotal = $ivatotal + ( ( $pre /(1+ ($iv/100) )) * $iv / 100 );
$rs->MoveNext();

}

$rs->Close();

{totalmercadoria} = round($mercadoriatotal,2);
{totaliva} = round($ivatotal,2);
{totalgeral} = {totalmercadoria} + {totaliva};

sc_master_value(‘totmercadoria’,{totalmercadoria});
sc_master_value(‘totiva’,{totaliva});
sc_master_value(‘totfactura’,{totalgeral});

sc_redir(form_linhasfacturas);

É um formulário grid editável (view).

Também quero fazer uma validação no evento onBeforeInsert e não funciona.
Mas no evento onBeforeDelete já funciona a validação.

Estou a fazer a inserção de registos automaticamente a partir de um botão criado por mim.
Já a eliminação de registos é feita icon da lata do lixo.