Autor Tópico: Recarga Detalhes do Mestre/Detalhes  (Lida 8366 vezes)

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1658
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Recarga Detalhes do Mestre/Detalhes
« Responder #45 Online: Maio 12, 2012, 01:49:04 am »
Esqueça o que eu falei primeiro.
Veja o procedimento:
1) o iframe no sc geralmente tem este nome:
nmsc_iframe_liga_nomedoseuform
em nomedoseuform ele diferencia maiúscula da minúscula.
Para saber corretamente tem que ir até o fonte gerado e procurar por iframe.

2) No form vá no menu esquerdo em Javascritp
Selecione o objeto (campo) e depois o evento onchange.
Observação: No meu caso selecionei o campo DEPT NO na demostração que coloquei na web.
clique em editar
Coloque então esta função javascritp:
document.getElementById("nmsc_iframe_liga_nomedoseuform").contentDocument.location.reload(true);
clique em atualizar.

Observações: Não esqueça que função tem que ter o true ou não vai funcionar no firefox.
Somente testei no Firefox e no IE.

3) O reload é muito rápido se o detalhe não tem muita informação.
Pode notar aqui na minha página de teste.
www.simaoebuhler.com.br/teste/
Deverá colocar a barra de rolagem horizontal do detalhe para direita ante de ir no campo DEPT NO e alterar o valor para ver o reload.
No caso no DEPT NO altere de 600 para 500 por exemplo e mude o foco para outro campo.
Ao dar o reload ele irá recarregar o iframe e colocar a barra de rolagem de novo para esquerda.

Observação: Você pediu reload do detalhe. Ai esta a função que faz isto. Agora se ela atualiza o detalhe no reload so testando.

4) Se necessitar passar parametros entre o javascritp e o php fica como dever de casa.
Mas a idéia e mais ou menos a que tem no livro:  "Dominando AJAX As melhores práticas ligadas a aplicações web escritas tanto em Java como em PHP 5 utilizando Ajax" de Edson Gonçalves - editora ciência moderna, página 118 a 125.
Não é como está lá, somente terá que usar a cabeça, captar a idéias e adptar ao sc.

5) Se houver disponibilidade manda umas moedinhas  para eu comprar um refri e tomar com a família aqui.
« Última modificação: Maio 12, 2012, 11:34:33 am por Alexandre Pereira Bühler »
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

rrma

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 816
  • Quem com porcos se mistura tanto bate até que fura
    • Email
Re:Recarga Detalhes do Mestre/Detalhes
« Responder #46 Online: Maio 12, 2012, 03:49:44 am »
Apesar do post não ser originalmente criado por mim eu gostaria de agradecer a dica do Alexandre.

No meu caso eu preciso atualizar um detalhe a partir do onAfterDelete de outro detalhe.

Abraço!
Rodrigo Araújo

Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Recarga Detalhes do Mestre/Detalhes
« Responder #47 Online: Maio 12, 2012, 09:56:07 am »
Isso aqui é suporte de verdade, ajuda verdadeira, com exemplo de funcionamento e tudo mais e explicação detalhada.

Dizem o que o verdadeiro amor é aquele onde doamos de coração, sem orgulho, a verdadeira caridade, sem espera de retorno.

Obrigado meu desconhecido amigo Alexandre,  por seu empenho em querer ajudar de verdade.

jovitomelo

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 916
    • Simples Assim
    • Email
Re:Recarga Detalhes do Mestre/Detalhes
« Responder #48 Online: Maio 12, 2012, 12:01:12 pm »
Valeu Alê,

Parabéns mermão!
É isso aí... tou dizendo, daqui a pouco a NM não ganhar um centavo furado com suporte....

[]´s
Jovito Melo
Maceió - Alagoas

rrma

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 816
  • Quem com porcos se mistura tanto bate até que fura
    • Email
Re:Recarga Detalhes do Mestre/Detalhes
« Responder #49 Online: Maio 12, 2012, 04:58:11 pm »
No meu caso tenho 2 detalhes, ambos apl form:
Itens do pedido
Itens removidos

Quando excluo um registro do "itens do pedido" eu insiro na tabela de itens_removidos os dados do registro excluido e quero atualizar o detalhe "itens removidos" que é apenas pra exibir estes registros. Tentei fazer com apl consulta e usar o refresh, mas o sc desloca a consulta pra direita ao navegar no form mestre, não sei pq.

Tentei:
No onAfterDelete do detalhe "itens do pedido" dar um
echo "<script language=javascript> document.getElementById('nmsc_iframe_liga_form_pedidos_itens_removidos').contentDocument.location.reload(true);</script>";
Não funcionou.

Na opção javascript, no objeto Form, evento onLoad e onSubmit
document.getElementById('nmsc_iframe_liga_form_pedidos_itens_removidos').contentDocument.location.reload(true);
Também não funcionou.

Há algo mais a tentar?

Rodrigo
Rodrigo Araújo

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1658
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Recarga Detalhes do Mestre/Detalhes
« Responder #50 Online: Maio 12, 2012, 06:51:49 pm »
Antes de tudo obirgado a todos,

Rodrigo,
Houve uma mudança do sc5 para sc6.
Antes o sc5 colocava o javascritp que você digitava no onafterdelete ou outros luganes no  <head></head> ou antes de tudo, mas não via ele colocar no <body></body>. Então tudo funcionava ok.
Agora o sc6 coloca no <body></body> isto fez algumas coisas minhas pararem.
O local  onde ele coloca o javascript gera algumas pequenas diferenças na hora de executar as coisas.

Isto é bem explicado aqui:
http://www.w3schools.com/js/js_whereto.asp
Então as vezes não é so usar um echo como se fazia no SC5, mas achar onde ele será executado corretamente no SC6.
Logo, temos que abrir o código fonte e analisar onde ele esta colocando o:
"<script language=javascript> document.getElementById('nmsc_iframe_liga_form_pedidos_itens_removidos').contentDocument.location.reload(true);</script>";
Para ver se ele será executado.
« Última modificação: Maio 12, 2012, 07:44:50 pm por Alexandre Pereira Bühler »
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1658
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Recarga Detalhes do Mestre/Detalhes
« Responder #51 Online: Maio 12, 2012, 06:59:53 pm »
Mais um detalhe.
Quando você coloca:
document.getElementById('nmsc_iframe_liga_form_pedidos_itens_removidos').contentDocument.location.reload(true);
O document.getElementById irá ser válido somente para o Form itens do pedido
Para ele enxergar o outro form com a sintaxe que está usando ele deveria estar no Form mestre.
A sintaxe do comando com certeza deverá mudar.
Não me lembro bem mas talvez tenha que ficar:
parent.document.getElementById('nmsc_iframe_liga_form_pedidos_itens_removidos').contentDocument.location.reload(true);
Assim funcionará de dentro do iframe para o outro iframe.
Mais informações: https://developer.mozilla.org/pt-BR/
« Última modificação: Maio 12, 2012, 07:45:53 pm por Alexandre Pereira Bühler »
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Recarga Detalhes do Mestre/Detalhes
« Responder #52 Online: Maio 12, 2012, 07:41:54 pm »
Criando metodo javascript e acessando o mesmo via macro ajax funciona nos eventos ajax bem.

Antes de tudo obirgado a todos,

Rodrigo,
Houve uma mudança do sc5 para sc6.
Antes o sc5 colocava o javascritp que você digitava no onafterdelete ou outros luganes no  <head></head> ou antes de tudo, mas não via ele colocar no <body></body>. Então tudo funcionava ok.
Agora o sc6 coloca no <body></body> isto fez algumas coisas minhas pararem.
O local  onde ele coloca o javascript gera algumas pequenas diferenças na hora de executar as coisas.

Isto é bem explicado aqui:
http://www.w3schools.com/js/js_whereto.asp
Então as vezes não é so usar um echo como se fazia no SC5, mas achar onde ele será executado corretamente no SC6.
Logo, as vezes temos que abrir o código fonte e analisar onde ele esta colocando o:
"<script language=javascript> document.getElementById('nmsc_iframe_liga_form_pedidos_itens_removidos').contentDocument.location.reload(true);</script>";
Para ver se ele será executado.


Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1658
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Recarga Detalhes do Mestre/Detalhes
« Responder #53 Online: Maio 12, 2012, 07:50:09 pm »
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1658
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Recarga Detalhes do Mestre/Detalhes
« Responder #54 Online: Maio 14, 2012, 07:10:21 pm »
Rodrigo,
Deu certo colocando "parent"?
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

Dário Andrade Santos

  • Intermediário
  • ***
  • Mensagens: 172
    • Email
Re:Recarga Detalhes do Mestre/Detalhes
« Responder #55 Online: Maio 15, 2012, 12:00:20 pm »
Alexandre,


Era isso mesmo que queria, muito obrigado e Parabéns pelo post.


Grato,


Dário
Dário Andrade Santos
SC v8.1.006  - Mysql - Windows 7 Pro
São Paulo - SP

danillo.sdd

  • Novato
  • *
  • Mensagens: 30
    • Email
Re:Recarga Detalhes do Mestre/Detalhes
« Responder #56 Online: Outubro 20, 2016, 09:45:15 pm »
alguem conseguiu implementar passando parametros tbm??