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