Reload na aplicação detalhe

(Robson - Norte TI) #1

Olá pessoal,

Tenho uma aplicação que usa o recurso mestre/detalhe, onde a partir de um campo do formulário mestre são inseridos registros no form detalhe. Após cada inclusão, que ocorre a partir do evento ajax onchange de um campo do form mestre, preciso recarregar a aplicação detalhe para exibir o item inserido. Como estratégia estou chamando um método javascript dentro do cod. php do evento ajax onchange pela macro sc_ajax_javascript. No método javascript tentei vários comandos mas sem resultado satisfatório, vejam:

window.location.reload(); - este até funcionou porém a cada inserção de itens ele recarrega a tela toda.

parent.itens.location.reload();

window.parent[‘itens’].location.reload();

window.frames.location.reload();

Infelizmente tenho pouco conhecimento de javascript. Alguém teria alguma dica para resolver este problema?

Desde já agradeço.

(Tiago Kirsten) #2

Testa se um sc_redir não resolve o seu problema.

No evento após inserir coloca assim:

sc_redir(nomedaaplicacao.php, cd_codigo=[var_codigo], “_self”);

(Robson - Norte TI) #3

Olá Tiago,

Fiz alguns testes com a sc_redir e não deu certo.

Só para saber a inserção de dados na tabela de itens é feita via macro sc_exec_sql diretamente no método php chamado no evento ajax onchange do campo código de barras que fica na aplicação mestre.

Precisava apenas recarregar a aplicação “filha” no onchange do campo cód de barras. Tanto que se eu pedir para recarregar manualmente os dados são atualizados.

A idéia desta aplicação é a partir do campo código de barras verificar a existência do produto, localizá-lo e inserir as informações na tabela de itens da venda, após a inserção do item (que acontece a partir da leitura do campo código de barras) a aplicação filha é recarregada para exibir o item inserido. Veja abaixo um print da aplicação:

Desde já obrigado!!!

(Cleyton Euler) #4

Ja vi aqui no fórum um post do Haroldo com um exemplo de aplicação que faz um mestre detalhe que pode resolver este problema.

(Haroldo) #5

tem que ser o target do iframe para funcionar.

(luis.fernando) #6

Robson, gostaria de tirar uma dúvida e saber se no seu sistema quando você clica no botão (ou icone) Novo, se o Detalhe fica vazio…
E se é por isso que você teve que embutir o insert do codigo de barras no evento ajax onchange…

Estou tendo que criar algo similar e estou com problema para manter as informações do Detalhe quando quero inserir um novo registro.

Obrigado

(Robson - Norte TI) #7

olá Luis Fernando

Em resposta ao seu post, de fato ao iniciar um novo registro de pedido (aplicação mestre) a aplicação detalhe fica vazia, isto é normal, pois nesta etapa o registro de pedido que tem o campo de ligação com a aplicação detalhe ainda não existe na base de dados. Somente depois de inserido o pedido vc poderá inserir itens na aplicação detalhe, isto devido o relacionamento das tabelas do bd.
Espero ter ajudado.