Botão Modificar - Templates EMS

Discussão em 'Progress 4GL' iniciado por deproenca, Julho 27, 2012.

  1. deproenca

    deproenca Membro Participativo

    isso mesmo Edney.
  2. edney

    edney Membro Participativo

    putz, me desculpe entao, eu Smart eu não sou muito bom, penei que voce estava usando thinTemplates, nesse eu conseguiria ter dar uma boa ajuda, mas vou ver com um amigo meu que manja bem de Smart, e ja retorno
  3. deproenca

    deproenca Membro Participativo

    Tranquilo Edney, valeu mesmo assim!!!
  4. jdchaves

    jdchaves Membro Participativo

    browse é smart ou é normal?
  5. deproenca

    deproenca Membro Participativo

    è SmartBrowse.
  6. jaozi_nho

    jaozi_nho Membro Participativo

    Nossa finalmente uma duvida que eu saiba responder aqui no forum kkk

    Vamos la, você tem na tela um Windows Cadastro Simples e 2 Smart Browsers certo ok, o que eu faço e recomendo é voce criar um Smart Link entre o h_p-cadsim(botoes de adicionar, modificar e etc...) e a sua Procedure (THIS-PROCEDURE), link do Tipo STATE, com isso seu programa de cadastro simples vai receber qualquer mudança de estado do Smart Painel, essas mudanças de estado são recebidas pela procedure state-changed do seu cadastro simples, voce pode verificar quais os estados que estao sendo recebidos com esse MESSAGE abaixo

    Código:
    MESSAGE p-state VIEW-AS ALERT-BOX INFO BUTTONS OK TITLE "Estado Recebido".
    Mais já te adiando que os estados que voce ira usar são esses 2

    - p-state = 'enable-button':U,

    - p-state = 'disable-button':U.

    A seguir deixei um exemplo, esse codigo faz parte da minha procedure state-changed

    Código:
    ELSE IF p-state = 'disable-button':U OR 
          p-state = 'update' THEN DO:
          DISABLE b-emprestra with frame {&frame-name}.
          DISABLE b-desempresta with frame {&frame-name}.
      END.
    
      ELSE IF p-state = 'enable-button':U AND b1 THEN DO:
          RUN disable-matric IN h_v-caixa.
          RUN enable-salva IN h_p-cadsim ( INPUT NO /* LOGICAL */).
          RUN enable-cancela IN h_p-cadsim ( INPUT NO /* LOGICAL */).
          ASSIGN b1 = NO.
          /*Inicia os botoes*/
          RUN pi-posicao-query IN h_q-caixa ( OUTPUT rw /* ROWID */).
          FIND FIRST cst_cscx_caixa WHERE ROWID(cst_cscx_caixa) = rw NO-LOCK NO-ERROR.
          IF AVAIL cst_cscx_caixa THEN DO:
              IF cst_cscx_caixa.cdn_funcionario = 0 THEN DO:
                  ENABLE b-emprestra with frame {&frame-name}.
                  DISABLE b-desempresta with frame {&frame-name}.
              END.
              ELSE DO:
                  DISABLE b-emprestra with frame {&frame-name}.
                  ENABLE b-desempresta with frame {&frame-name}.
              END.
          END.
      END.
    Veja que eu estou chamando procedures dos outros objetos Smart e habilitando e desabilitando botoes na minha procedure, no seu caso voce devera chamar a procedure
    adm-enable do seu browser que deseja habilitar, ou alguma das outras procedures, para saber quais procedures seu objeto Smart contem é só abrir um section editor no cadastro simples e clicar em Insert Call.. que la estara todas as procedures listadas.


    Qualquer duvida estou a disposição, abraçoo!

Compartilhe esta Página