[RESOLIDO] Formulário não grava após comando no evento onAfterInsert e AfterUpdt

Pessoal,

Tenho um formulário de clientes (form_clientes) e um grid de clientes (grid_clientes). Nos eventos onAfterInsert e onAfterUpdate do formulário eu adicionei o seguinte código:

sc_redir('grid_clientes');

Resumindo, após inserir ou atualizar o form_clientes o evento redireciona o usuário ao grid_clientes. Os dados são gravados com êxito antes de redirecionar.

Fiz outro formulário, de linhas de produtos (form_produtos_linha) e um grid de linhas de produtos (grid_produtos_linha). Nos eventos onAfterInsert e onAfterUpdate do formulário eu adicionei o seguinte código:

sc_redir('grid_produtos_linha');

Resumindo, após inserir ou atualizar o form_produtos_linha o evento redireciona o usuário ao grid_produtos_linha. Os dados NÃO são gravados com êxito antes de redirecionar.

Além dos form_clientes, tenho form_fornecedores, form_transportadoras, etc. que funcionam normalmente esta mesma instrução sc_redir nestes mesmos eventos.

Já recriei o form_produtos_linha e grid_produtos_linha (apaguei o form e o grid e criei de novo), não adiantou. O que faço? Sugestões? Habilitei o modo debug e erros de script, nada de anormal. Se eu comento a linha sc_redir dos dois eventos, a gravação funciona.

sc_commit_trans (“Conexão”)
Esta macro tem por objetivo efetivar uma serie de transações na base de dados.

Nas aplicações de formulário, em eventos que cotenham qualquer macro que dependa de atualização na base de dados (sc_AfterInsert, sc_AfterUpdate, sc_AfterDelete, sc_BeforeInsert, sc_BeforeUpdate ou sc_BeforeDelete) estão automaticamente protejidas por controle de transação, desde que a conexão seja a mesma da aplicação.

Caso o usuário, em alguma destes eventos, venha a utilizar um redirecionamento de aplicação (macro “sc_redir”) deverá, antes do redir, utilizar esta macro para garantir as transações efetuadas anteriormente.

O parâmetro “conexão” é opcional, sendo necessário, apenas, se o comando for executado em uma base de dados diferente da especificada para a aplicação.

Não seria ideal também ele mudar o local do redirecionamento para onValidateSucess ?

Se colocar no envento onValidateSucess o registro não vai ser gravado ou alterado.

Entendi.

Obrigado! Funcionou.

Ok… guariba… marque sou topico como resolvido… vai lá na sua primeira postagem e edite o titulo assim bFormulário não grava após comando no evento onAfterInsert e onAfterUpdate[/b]