1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Urgente Atualizar Browse com 2 telas

Discussão em 'Progress 4GL' iniciado por Renan Cano, Setembro 8, 2020.

  1. Renan Cano

    Renan Cano Membro Participativo

    Então eu estou simulando a situação não comecei a fazer definitivamente, eu criei duas janelas, na primeiro defini uma temp-table teste e coloquei um browse br para exibir, na segunda tela tem um campo que adiciona dados edt-dados nessa temp table e gostaria que quando adicionasse ja atualiza o browse da primeria tela.

    eu tentei algumas formas como definir um variavel h-br do tipo Handle e atribuir a ela da seguinte forma:

    assign h-br = br:handle

    depois usando essa variavel eu consegui manipular praticamente tudo do browse menos executar a query:

    tenho um botao atualizar com esse comando mas nada acontece
    OPEN QUERY h-br FOR EACH teste.

    Você comentou algo sobre passar o Handle do Browse por parametro e rodar na Query, eu até tentei mas não consegui, eu nunca tive a experiencia de passar parametros.
  2. Renan Cano

    Renan Cano Membro Participativo

    Então eu estou simulando a situação não comecei a fazer definitivamente, eu criei duas janelas, na primeiro defini uma temp-table teste e coloquei um browse br para exibir, na segunda tela tem um campo que adiciona dados edt-dados nessa temp table e gostaria que quando adicionasse ja atualiza o browse da primeria tela.

    eu tentei algumas formas como definir um variavel h-br do tipo Handle e atribuir a ela da seguinte forma:

    assign h-br = br:handle

    depois usando essa variavel eu consegui manipular praticamente tudo do browse menos executar a query:

    tenho um botao atualizar com esse comando mas nada acontece
    OPEN QUERY h-br FOR EACH teste.

    Você comentou algo sobre passar o Handle do Browse por parametro e rodar na Query, eu até tentei mas não consegui, eu nunca tive a experiencia de passar parametros.
  3. Renan Cano

    Renan Cano Membro Participativo

    Então eu estou simulando a situação não comecei a fazer definitivamente, eu criei duas janelas, na primeiro defini uma temp-table teste e coloquei um browse br para exibir, na segunda tela tem um campo que adiciona dados edt-dados nessa temp table e gostaria que quando adicionasse ja atualiza o browse da primeria tela.

    eu tentei algumas formas como definir um variavel h-br do tipo Handle e atribuir a ela da seguinte forma:

    atribuir h-br = br: lidar

    depois usando essa variavel eu consegui manipular praticamente tudo do browse menos executar a query:

    tenho um botao atualizar com esse comando mas nada acontece
    ABRIR QUERY h-br PARA CADA teste.

    Você comentou algo sobre passar o Handle do Browse por parametro e rodar na Query, eu até tentei mas não consegui, eu nunca tive a experiencia de passar parametros.
  4. Renan Cano

    Renan Cano Membro Participativo

    Então eu estou simulando a situação não comecei a fazer definitivamente, eu criei duas janelas, na primeiro defini uma temp-table teste e coloquei um browse br para exibir, na segunda tela tem um campo que adiciona dados edt-dados nessa temp table e gostaria que quando adicionasse ja atualiza o browse da primeria tela.

    eu tentei algumas formas como definir um variavel h-br do tipo Handle e atribuir a ela da seguinte forma:

    assign h-br = br:handle

    depois usando essa variavel eu consegui manipular praticamente tudo do browse menos executar a query:

    tenho um botao atualizar com esse comando mas nada acontece
    OPEN QUERY h-br FOR EACH teste.

    Você comentou algo sobre passar o Handle do Browse por parametro e rodar na Query, eu até tentei mas não consegui, eu nunca tive a experiencia de passar parametros.
  5. Renan Cano

    Renan Cano Membro Participativo

    Desculpe pelos varios posts estava apresentando erro ao responder, e depois quando sai e entrei tinha varios posts iguais e nao consegui remove-los
  6. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    Intrometido chegando na area, bom dia Renan, bom dia Rafael, Renan, pelo que eu entendi vc tem 2 browsers com 2 temp-table, isso ???? e o que vc está chamando de janela seriam .w separados ? temp-tables tem vida somente dentro do .w onde elas foram criadas, para atualizar as tabelas em .w diferentes, vc teria que transferir essa temp-table inteira de um .w para outro, então, usando a idéia do Rafael de usar o handle, eu usaria o handle do programa, ou seja, quando eu fizer um run executando o 2 .w, ou segunda tela, passaria como parametro o THIS-PRODUCERE, assim o segundo programa conhece seu chamador, no 1 .w teria que ter uma procedure que recebe a temp-table do 2 programa e atualiza o browser, seria mais ou menos assim ....
    Primeiro, para chamar o seu segundo programa ....
    Código:
        run segundaTela.w (this-procedure).
    no segundaTela.w, se vc está usando o appBuilder, na sessão Definitions ....
    Código:
    CREATE WIDGET-POOL.
    
    /* ***************************  Definitions  ************************** */
    
    /* Parameters Definitions ---                                           */
    define input parameter handlePai as handle no-undo.
    /* Local Variable Definitions ---                                       */
    
    Ok, agora no programa que é a primeira tela, teria uma procedure ....
    Código:
    procedure recebeDados:
        define input parameter for table ttTabela.
    
        Aqui vc coloca a sua logica para atualizar o browser
    
    end procedure.
    No programa segundaTela, no momento apropriado vc simplente faz ....
    Código:
        run recebeDados in handlePai(table ttTabela).
    Assim vc consegue conectar as duas telas.

Compartilhe esta Página