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

Campo text desaparece UPC

Discussão em 'Outros/Diversos' iniciado por felipeett, Julho 3, 2012.

  1. felipeett

    felipeett Sem Pontuação

    Esou criando uma UPC para o programa of0305a, estou criando um campo novo, quando clico em alterar ou copiar ele funciona normalmente, mas quando clico em novo, o label do campo desaparece, alguem sabe como arrumar isso? Segue meu código que cria o campo.

    Código:
    if p-ind-event            = "INITIALIZE" and
       p-wgh-object:file-name = "ofp/of0305a-v02.w" then do:
    
        assign p-wgh-frame:height         = p-wgh-frame:height + 1.5.
    
        CREATE TEXT wh-lbl-manut-doc-fisc
            ASSIGN FRAME        = p-wgh-frame
                   FORMAT       = "x(18)"
                   WIDTH        = 18
                   SCREEN-VALUE = "Valor ICMS ST DIF:":U
                   ROW          = 10.15
                   COL          = 14
                   VISIBLE      = true.
                   
    
        CREATE FILL-IN wh-fln-manut-doc-fisc
            ASSIGN FRAME             = p-wgh-frame
                   SIDE-LABEL-HANDLE = wh-lbl-manut-doc-fisc:HANDLE
                   DATA-TYPE         = "DECIMAL"
                   FORMAT            = ">>>>>>>9.99"
                   WIDTH             = 18
                   HEIGHT            = 0.88
                   ROW               = 10
                   COL               = 27.26
                   LABEL             = "Valor ICMS ST DIF:":U
                   VISIBLE           = true
                   SENSITIVE         = yes.
    
        create rectangle wh-rtc-icms
            assign frame         = p-wgh-frame
                   width         = 81
                   height        = 1.43
                   row           = 9.75
                   col           = 1
                   visible       = yes
                   graphic-edge  = yes
                   filled        = no
                   edge-pixels   = 2.
    
        ASSIGN p-wgh-frame:HIDDEN = YES.
    
    end.
    Segue prints em anexo da tela quando esta funcionando e de quando clico em novo e o label desaparece.

    Arquivos Anexados:

  2. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    Coloque essa condição... Em algum momento está perdendo o valor do SCREEN-VALUE....

    Código:
    IF VALID-HANDLE(wh-lbl-manut-doc-fisc) THEN
        ASSIGN wh-lbl-manut-doc-fisc:SCREEN-VALUE = "Valor ICMS ST DIF:".
  3. felipeett

    felipeett Sem Pontuação

    Re: Campo text desaparece UPC (Resolvido)

    Obrigado, funcionou perfeitamente.
  4. TrombiniSP

    TrombiniSP Membro Participativo

    Com o bloco de código abaixo você resolve seu problema:

    Código:
    /*
    *
    * AQUI HÁ UM BLOCO DE CÓDIGO QUE GARANTE QUE AO MUDAR O ESTADO DO
    * PROGRAMA (INCLUSÃO, ALTERAÇÃO, EXCLUSÃO, ETC.) 
    * O LABEL SEJA O MESMO SEMPRE E NÃO "DESAPAREÇA".
    */
    IF VALID-HANDLE( wh-lbl-manut-doc-fisc) THEN
        ASSIGN wh-lbl-manut-doc-fisc:SCREEN-VALUE = "Valor ICMS ST DIF:":U.
    
    Segue código completo para manipular todos os estados da aplicação:

    Código:
    /* criar widget */
    IF p-ind-event  = "BEFORE-INITIALIZE"    AND 
       p-ind-object = "viewer"               AND 
       c-objeto     = "of0305a-v02.w"           THEN DO:
    
        ASSIGN p-wgh-frame:height         = p-wgh-frame:height + 1.5.
    
        IF NOT VALID-HANDLE(wh-fln-manut-doc-fisc) THEN DO:
            CREATE TEXT wh-lbl-manut-doc-fisc
                ASSIGN FRAME        = p-wgh-frame
                       FORMAT       = "x(18)"
                       WIDTH        = 18
                       SCREEN-VALUE = "Valor ICMS ST DIF:":U
                       ROW          = 10.15
                       COL          = 14
                       VISIBLE      = TRUE
                       SENSITIVE    = yes.
                       
        
            CREATE FILL-IN wh-fln-manut-doc-fisc
                ASSIGN FRAME             = p-wgh-frame
                       SIDE-LABEL-HANDLE = wh-lbl-manut-doc-fisc:HANDLE
                       DATA-TYPE         = "DECIMAL"
                       FORMAT            = ">>>>>>>9.99"
                       WIDTH             = 18
                       HEIGHT            = 0.88
                       ROW               = 10
                       COL               = 27.26
                       LABEL             = "Valor ICMS ST DIF:":U
                       VISIBLE           = true
                       SENSITIVE         = yes.
        END.
    END.
    
    /*
    *
    * AQUI HÁ UM BLOCO DE CÓDIGO QUE GARANTE QUE AO MUDAR O ESTADO DO
    * PROGRAMA (INCLUSÃO, ALTERAÇÃO, EXCLUSÃO, ETC.) 
    * O LABEL SEJA O MESMO SEMPRE E NÃO "DESAPAREÇA".
    */
    IF VALID-HANDLE( wh-lbl-manut-doc-fisc) THEN
        ASSIGN wh-lbl-manut-doc-fisc:SCREEN-VALUE = "Valor ICMS ST DIF:":U.
    
    /* Exibir */
    IF p-ind-event  = "DISPLAY"    AND
       p-ind-object = "viewer"     AND
       c-objeto     = "of0305a-v02.w" THEN DO:
          END.
       END.
    END.
    
    /* Habilitar */
    IF p-ind-event  = "AFTER-ENABLE" AND
       p-ind-object = "viewer"       AND
       c-objeto     = "of0305a-v02.w"   THEN DO:
    
        IF VALID-HANDLE(wh-fln-manut-doc-fisc) THEN 
           ASSIGN wh-fln-manut-doc-fisc:SENSITIVE = YES.
        ELSE
           ASSIGN wh-fln-manut-doc-fisc:SENSITIVE = NO.
    END.
    
    /* Desabilitar */
    IF p-ind-event  = "AFTER-DISABLE" AND
       p-ind-object = "viewer"        AND
       c-objeto     = "of0305a-v02.w"    THEN DO:
    
        IF VALID-HANDLE(wh-fln-manut-doc-fisc) THEN
           ASSIGN wh-fln-manut-doc-fisc:SENSITIVE = NO.
    END.
    
    /* Cancelar */
    IF p-ind-event  = "AFTER-CANCEL" AND
       p-ind-object = "viewer"        AND
       c-objeto     = "of0305a-v02.w"    THEN DO:
        IF VALID-HANDLE(wh-fln-manut-doc-fisc) THEN
           ASSIGN wh-fln-manut-doc-fisc:SENSITIVE = NO.
    END.
    
    /* Validar */
    IF p-ind-event  = "VALIDATE"    AND
       p-ind-object = "viewer"      AND
       c-objeto     = "of0305a-v02.w"  THEN DO:
    END.
    
    /* Gravar */
    IF p-ind-event  = "ASSIGN"    AND
       p-ind-object = "viewer"     AND
       c-objeto     = "of0305a-v02.w" THEN DO:
    
    END.
    
    /* Excluir */
    IF p-ind-event  = "DELETE"     AND
       p-ind-object = "viewer"     AND
       c-objeto     = "of0305a-v02.w" THEN DO:
    
    END.
    
    Abraços.

    Trombini

Compartilhe esta Página