Obrigado, mas não consegui fazer funcionar em um formulário tipo grid editável (view) nos eventos onBeforeUpdate, onBeforeInsert e onBeforeDelete.
Criei dentro desses eventos o seguinte código:
setMaster_qtdVolume();
E o método setMaster_qtdVolume() possui o seguinte código:
[code]$produto_id = [produto_id];
// atualiza tabela de produtos com a nova quantidade de dimensões e pesos
$sql = "
UPDATE
produtos
SET
qtd_volumes = (
SELECT COUNT(produtos_dimensoes_pesos_id) Qtd FROM produtos_dimensoes_pesos WHERE produtos_id = $produto_id
)
WHERE
produtos_id = $produto_id
;
";
sc_exec_sql($sql);
// mostra a nova quantidade de itens de dimensões e pesos no formulário Mestre
$sql = “SELECT COUNT(produtos_dimensoes_pesos_id) Qtd FROM produtos_dimensoes_pesos WHERE produtos_id = $produto_id;”;
sc_lookup(rs, $sql);
if ({rs} === false) {
$vlr = -1;
} else {
$vlr = {rs}[0][0];
}
// atualiza campo com valor
sc_master_value(‘qtd_volumes’, $vlr);[/code]
O método funciona sim quando eu coloquei no evento onClick de um campo. Testei. Só nestes eventos que não funcionam. Não sei o motivo.