Fazer as informações de um browse aparecer num fill-in

Discussão em 'Progress 4GL' iniciado por noellen, Outubro 16, 2009.

  1. noellen

    noellen Equipe de Suporte Moderador Equipe de Suporte

    Olá, por favor, como faço para que as informações de um browse apareça no fill-in ao dar 2 cliques?

    Esse programa tem por objetivo apagar tabelas, mas precisa colocar qual tabela deseja no fill-in, mas para não ficar digitando, seria melhor apenas localizar no browse, dar dois cliques e ja aparecer o número da tabela, como faço isso?

    Eu coloquei para dar um assign no evento do browse conforme a imagem, mas ele não enxerga o fill in.


    desde já, obrigada

    Arquivos Anexados:

  2. Cobra.cne

    Cobra.cne Equipe de Suporte Moderador

    Olá,

    Observando sua tela, você esta utilizando um SmartBrowser, assim teria basicamente duas opções:

    - Incluir esta lógica do fill-in no próprio smartbrowser.

    - A segunda seria criar um procedimento que recebesse o handle do seu fill-in no smartBrowser e executar este procedimento no inicializar do seu programa principal, dai no duplo-clique-do-mouse, atribuir o valor ao screen-value do handle do seu fill-in.

    Se ficar muito complicado, avisa que tento passar um exemplo.

    []'s
  3. noellen

    noellen Equipe de Suporte Moderador Equipe de Suporte

    Olá Cleilton, eu estou usando o Custon Browser Zoom Wizard, e coloquei a lógica dentro do browse assim :

    Código:
    FOR EACH mgastra.sp-tab-preco EXCLUSIVE-LOCK
             WHERE sp-tab-preco.cod-empr = 4.
    
       RUN New-State('DblClick':U).
    
       
       MESSAGE 'Deseja excluir o contato?'
            VIEW-AS ALERT-BOX Warning BUTTONS YES-NO Update l-deleta As Log.
    
           If l-deleta = Yes Then 
           Do:
        
               IF AVAIL sp-tab-preco THEN
               DO:
                    DISABLE TRIGGERS FOR DUMP OF sp-preco-item.
            
                    DISABLE TRIGGERS FOR LOAD OF sp-preco-item.
            
                    FOR EACH sp-preco-item EXCLUSIVE-LOCK OF sp-tab-preco:
            
                        DELETE sp-preco-item.
            
                    END. 
            
                    RUN g:\download\ems\204\spp\w-log-apaga.p ("sp-preco-item",
                                               sp-tab-preco.nr-tabpreco,
                                               "1",  
                                               "4",
                                               " ",
                                               " ",
                                               " ",
                                               " ").
            
                    DELETE sp-tab-preco.
            
                    MESSAGE "Exclusão realizada com sucesso"
                        VIEW-AS ALERT-BOX INFO BUTTONS OK.
        
               END. /*fim if avail*/
    
           END. /*fim if yes*/
             If l-deleta = NO Then 
             Do:
                    MESSAGE "Operação Cancelada"
                        VIEW-AS ALERT-BOX INFO BUTTONS OK.
    
             END. /*fim if no*/
        
    
       END. /*fim for each*/
    
    
    e com isso nem precisava mais do fill-in, mas aí ficou como se ficasse dando looping nos messages, pq se colocasse para não excluir, a mensagem ficava voltando o tempo td e nem dava pra sair do programa, agora a segunda opção que vc colocou :oops: :oops: :oops: não faço a menor idéia de como fazer :oops: :oops:

    Obrigada
  4. noellen

    noellen Equipe de Suporte Moderador Equipe de Suporte

    Ahhh e esse "looping" é pq está td dentro do for each, mas com o find da erro pq tem mais de um registro com o mesmo código



    eu tbm ja tentei colocando a include:
    {include/zoomvar.i &prog-zoom = zoom/z01spap0531.w
    &campo=fi-nr-tabpreco
    &campozoom=nr-tabpreco}

    mas da erro pq não encontra a include referenciada
  5. Cobra.cne

    Cobra.cne Equipe de Suporte Moderador

    Usei a tabela empresa do banco EMS2MULT como exemplo e o Progress 10.1A.

    Opção 1:
    Criei um CustomBrowser Zoom - Wizard (b-table2), com as opções de seleção e no evento de duplo-clique-do-mouse do browse com as opções para excluir.

    Opção 2:
    Criei um CustomBrowserWizard (b-table),
    No Browser criei uma procedure que recebe o handle do meu FILL-IN que esta no programa, e ao iniciar o programa eu passo como parâmetro a handle do meu FILL-IN.
    Dai quando o usuário efetua um duplo-clique-do-mouse ele grava o valor no fILL-IN.

    Observe no anexo.

    Qualquer coisa posta ai se não entender.

    Arquivos Anexados:

  6. noellen

    noellen Equipe de Suporte Moderador Equipe de Suporte

    Obrigada pela dica Cleilton, esclareceu muitas dúvidas

    td de bom

    ;)

Compartilhe esta Página