onValidateSuccess em um Formulário de registro único (RESOLVIDO)

Prezados,

Escrevi um código no evento onValidateSucess utilizando os dados do registro recém gravado, porém depois de perder algumas horas percebi que os códigos escritos nesse evento são processados antes da gravação/regravação do registro do form.
Percebi isso habilitando o debug dos comandos sql, vejam:

1-(pdo-mysql): UPDATE pdProd p JOIN ( SELECT q.pai, SUM(q.prcVista) AS soma FROM pdCombo q where detalhe = 1
GROUP BY q.pai ) r ON r.pai = p.codigo SET p.precoVista = r.soma where p.codigo = ‘5’
2-(pdo-mysql): select count() AS countTest from pdCombo where id = 1
3-(pdo-mysql): select count(
) AS countTest from pdCombo where (pai = ‘5’ AND filho = ‘1’) AND (id <> 1)
4-(pdo-mysql): UPDATE pdCombo SET pai = ‘5’, filho = ‘1’, detalhe = 1, quanti = 12.00, prcVista = 45.00
WHERE id = 1
5-(pdo-mysql): SELECT descricao FROM pdProd WHERE codigo = ‘5’ ORDER BY descricao

A linha 1 do debug é o código que eu escrevi, e a linha 4 é a linha do update do SC para a regravação do registro.

Eu resolvi o meu problema inserindo um update manual do registro antes da linha 1, porém o que eu gostaria de saber é se existe algum outro evento onde possa escrever esse código após a gravação do registro, algo como “antes de sair”.

grato,
Hiro ck

Remove o código do OnvalidateSucess e Coloca este condigo no OnAfterInsert e OnAfterUpdate.

Estranho não.

O que deveria ser depois é executado antes.

Aí você tem que duplicar seu código ou usar um método para replicá-lo em 2 eventos sendo que o evento correto não funciona com deveria.

Jailton e Haroldo, muito obrigado pelas dicas.
Realmente, inserindo uma função PHP nos eventos onAfterInsert, onAfterUpdate e onAfterDelete funcionou perfeitamente.
Não precisei incluir a linha atualizando a tabela que o SC atualizava depois.