Refresh em template cadastro pai x filho atualiza ambos

31 views
Skip to first unread message

Patrick Marques

unread,
Jan 3, 2025, 2:02:04 PMJan 3
to Progress - 4GL
Olá pessoal preciso encontrar uma forma de fazer um refresh no template após interagir com um browse que fica logo abaixo da minha viewer, alguém já fez isso ou tem alguma noção do que eu possa tentar?


Obrigado desde já!

Fabiano Soares da Silva

unread,
Jan 3, 2025, 2:37:39 PMJan 3
to progre...@googlegroups.com
Boa tarde,
precisei disso recentemente e a solução que encontrei foi a seguinte:

no programa principal
declarei uma handle global que vai receber o próprio programa
   define new global shared variable h-fb_t029 as handle no-undo.
no local-initialize populo ela:
   assign h-fb_t029 = this-procedure.
no local-destroy removo da memória:
    if valid-handle(h-fb_t029) then do:
            delete procedure h-fb_t029.
    end.
então crio uma procedure para reposicionar a query, assim faz o refresh da tela, o adm-open-query força o refresh dos brosers:
PROCEDURE pi-reposiciona-query :
    define variable row-orcamento as rowid no-undo.

    run pi-posicao-query in h_dm029q04 (output row-orcamento).
   
    for first dm-orcamento
    where rowid(dm-orcamento) = row-orcamento
    no-lock. end.

    if not available dm-orcamento then do:
        message
        "Não tem orçamento disponível para atualização"
        VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
        return "adm-error".
    end.
   
    assign row-orcamento = rowid(dm-orcamento).
   
    run pi-reposiciona-query in h_dm029q04 (input row-orcamento).
   
    run adm-open-query in h_dm030b011 no-error.
    run adm-open-query in h_dm030b08 no-error.

END PROCEDURE.

Por fim, nos browsers e views eu carrego a variável global:
    define new global shared variable h-fb_t029 as handle no-undo.
então executar a procedure para forçar o refresh
    if avail dm-orcamento
    and valid-handle(h-fb_t029) then do:
        run pi-reposiciona-query in h-fb_t029.
    end.


essa foi a solução que encontrei, se souberem uma forma mais simples seria bem vinda.


Em sex., 3 de jan. de 2025 às 16:02, Patrick Marques <patric...@gmail.com> escreveu:
Olá pessoal preciso encontrar uma forma de fazer um refresh no template após interagir com um browse que fica logo abaixo da minha viewer, alguém já fez isso ou tem alguma noção do que eu possa tentar?


Obrigado desde já!

--
Recebeu esta mensagem porque subscreveu ao grupo "Progress - 4GL" do Grupos do Google.
Para anular a subscrição deste grupo e parar de receber emails do mesmo, envie um email para progress_4gl...@googlegroups.com.
Para ver esta discussão, visite https://groups.google.com/d/msgid/progress_4gl/78c26258-026a-4894-a021-82cb42334403n%40googlegroups.com.

Marcelo Torres

unread,
Jan 3, 2025, 2:41:40 PMJan 3
to progre...@googlegroups.com
Fabiano,

Coloca um print da sua tela e explica melhor o que precisa. Eu já fiz vários programas que fazem refresh. Uns automáticos e outros mediante ação em determinado objeto.


Att,
Marcelo Torres


Em sex., 3 de jan. de 2025 às 16:02, Patrick Marques <patric...@gmail.com> escreveu:
Olá pessoal preciso encontrar uma forma de fazer um refresh no template após interagir com um browse que fica logo abaixo da minha viewer, alguém já fez isso ou tem alguma noção do que eu possa tentar?


Obrigado desde já!

--
Reply all
Reply to author
Forward
0 new messages