Boa tarde, eu sei que existe o sc_master_value para atualizar os campos do pai, porém estou numa situação que ao atualizar algo no form Master eu preciso atualizar todos os dados do Detalhe… já atualizo no banco… mas os valores que ficam em exibição ainda são os antigos… só saindo do formulário e voltando é que os valores atualizam… como posso atualizar os valores do Detalhe após um update no Master?
Não me lembro de alguma macro assim do SC. O que posso sugerir a fazer é:
1 - Após a atualização do mestre de um sc_redir() para ele mesmo, com algum parâmetro para trazer o mesmo registro que estava utilizando.
2 - (Melhor opção e a que uso).
* Req 1: Saber JS
* Solução: Fazer um refresh apenas no iframe do detalhe com javascript após atualizar o formulário mestre.
3 - (Muito melhor e muito mais avançada)
- Req 2: Req 1:
- Req 3: Saber javascript mais avançado um pouco.
- Solução: Alterar apenas o valor do input do formulário detalhe(iframe), não fazendo nenhum refresh .
Almeida meu JS é péssimo ^^… posta um exemplo da Opção 2 ai por favor!
Fiz esse exemplo com base no meu, tente ai, troque o nome de preto pelo nome do seu formulário detalhe.
Caso não funcione, se souber inspecionar o elemento e me informar o id do seu iframe do detalhe conserto o código ou vc mesmo coloque o ID no lugar do que coloquei.
- Crie um método Javascript e chame o no onAfterUpdate, Insert e Delete (after).
Exemplo de chamada: sc_ajax_javascript(‘nome_do_metodo’);
var fram = document.getElementById('nmsc_iframe_liga_[b]nome_do_seu_form[/b]');
var srcant = fram.src;
fram.src='';
fram.src = srcant;
Dica: Dê uma estuda em JS, pois um desenvolvedor web não pode ficar sem JS.
Boa Sorte.
Obrigado pela ajuda Almeida… funcionou perfeito!
Bom dia pessoal,
Tenho 2 abas que são Detalhe de uma tela Mestre, uma aba é um Formulário e a outra aba é uma Consulta, quero atualizar a consulta quando eu incluir, atualizar ou deletar um registro no Formulário.
Tentei fazer como o Almeida disse mas não deu certo, não consigo achar onde estou errando.
Eu criei o método JS na aplicação Formulário, e chamo nos eventos onAfterInsert, onAfterUpdate e onAfterDelete.
Confirmei o ID do Frame da aplicação Consulta e é esse: "nmsc_iframe_liga_app_grid_eventogastos’’;
Método JS:
var fram = document.getElementById(‘nmsc_iframe_liga_app_grid_eventogastos’);
var srcant = fram.src;
fram.src=’’;
fram.src = srcant;
Se alguém puder me ajudar ficarei muito grato.
Um auto refresh na consulta não resolveria?
Tente o javascript assim:
var fram = parent.document.getElementById('nmsc_iframe_liga_[b]nome_do_seu_form[/b]');
var srcant = fram.src;
fram.src='';
fram.src = srcant;
Então Haroldo, a consulta só varia se algo no formulário for alterado, daí por isso a intenção de atualizar o IFrame só nestes eventos.
Bastou fazer isso mesmo Almeida, funcionou perfeitamente…
Código JS:
var fram = parent.document.getElementById(‘nmsc_iframe_liga_app_grid_eventogastos’);
var srcant = fram.src;
fram.src=’’;
fram.src = srcant;
Muito Obrigado pela ajuda!
Boa tarde
meu problema é diferente uso formulário precisa dar como se fosse F5 na tela por ao atualizar um registro ele marcado em um campo oculto como conta paga só que após clicar botão atualizar ele atualiza mas aquele registro ainda conta no formulário somente quando eu entro novamente o aquele registro não consta mais,
preciso função atualizar formulário principal como se fosse um F5
como fasso isto…
marciogrulke , estamos aqui para contribuir, mas percebí que vc esta fazendo essa mesma pergunta em todos os topicos.
abra um topico especifico a seu questionamento. fica mais facil resolver e acompanhar…
grato.
Almeida, Muito boa a dica, funciona perfeitamente muito obrigado por compartilhar…
Galera, esse modelo não funciona no sc9, alguem tem um luz de como atualizar o detalhe via EVENTO AJAX?
Almeida, tudo bem?
Quero agradecer por essa dica.
Estava com o mesmo problema e funcionou perfeitamente no meu caso.
Obrigado!!!