[RESOLVIDO] sc_alert: Problemas nos eventos onAfterInsert e onAfterDelete

//onAfterInsert
sc_alert($mensagem) = Não faz o alert

//onAfterUpdate
sc_alert($mensagem) = OK

//onAfterDelete
sc_alert($mensagem) = Não faz o alert

Nos eventos onAfterInsert e onAfterDelete, eu sou obrigado a fazer echo “”, para usar o alert javascript, porém no evento onAfterUpdate o sc_alert funciona corretamente, alguém sabe o por que disso? Existe uma solução para esse problema?

JCruz,

Não se trata exatamente de um problema e sim porque o SC_ALERT() não funciona nesses eventos. Veja o que diz o Webhelp:

sc_alert(“Mensagem”)

Esta macro envia uma mensagem, de forma incondicional, no estilo alert do Javascript.

Ex. 1:
sc_alert(“Esta é uma mensagem de alerta!!”);

Escopo da Macro
Formulário Controle
onLoadAll
onValidate

A onafterupdate não executa uma recarga dos dados por isso o sc_alert funciona as demais é executado uma recarga.

Keyber, infelizmente não podemos seguir a risca a documentação do sc, principalmente no que tange Escopo das Macros, pois essa documentação nem sempre reflete a realidade, ou por estar desatualizada ou por estar errada mesmo na informação.

Entendi, mas qual solução que vocês adotam para esse problema? Ficar escrevendo echo “…” é muito infeliz e nada produtivo.

Obrigado pelas respostas anteriores.

Cria uma bilbioteca que faça isso para você e só aplica ela nos eventos.

Segui seu conselho e desenvolvi na library, segue abaixo:

function alert_message($mensagem, $alert_scriptcase = FALSE){
//Usar ou não a sc_alert
if(!$alert_scriptcase) {
echo “";
} else {
sc_alert($mensagem);
}
}

Se quiserem opinar e sugerir melhorias fiquem à vontade.

Obrigado.

Haroldo,

Obrigado pela dica.

Jcruz,

Uma boa saída.