1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

[RESOLVIDO] Alterar DEFAULT de programa EMS

Discussão em 'EMS , HCM e Totvs 11' iniciado por FernandaSantos, Setembro 16, 2009.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. FernandaSantos

    FernandaSantos Membro Participativo

    Oii Marly!

    Então.. como o processo desse programa CP0318 tem várias transações os campos são variáveis (identificamos isso ao usar o atalho CTRL+ALT+H) por isso a dificuldade, o legal seria descobrir qual é a variável que é passada e retornada como parâmetro (na execução do programa: RUN cpp\cp0318b.r (INPUT-OUTPUT l-ok) /* definir l-ok LOGICAL*/ )

    Obrigada pela dica!

    Um Abraço!!
  2. FernandaSantos

    FernandaSantos Membro Participativo

    Olá Eugênio!!

    Cara, você me ajudou a resolver essa questão.
    :D
    Mas veja que interessante, na verdade eu apliquei a sua sugestão respondida no tópico "UPC: Fechar DIALOG-BOX" onde me sugere a executar a minha upc do programa cp0318b de forma persistente e criar uma procedure para dar um apply "GO" (utilizei o CHOOSE do bt-ok) na frame da DIALOG.

    Na UPC do programa princiapal eu já estava dando um apply choose no bt-param, então em vez de criar um ".w" para ser chamado antes do programa da datasul eu coloquei a rotina na UPC.

    Caso o pessoal queira dar uma olhada como ficou a rotina está aí :
    (OBS: na UPC do programa cp0318 eu dou um apply choose no bt-param e então é exeutada a rotina abaixo, da UPC do cp0318b):


    Código:
    {cdp/cdos9004.i}  /* define parametros de entrada, obtem nome do objeto */
    
    DEFINE VARIABLE wh-bt-ok            AS WIDGET-HANDLE    NO-UNDO.
    DEFINE VARIABLE wh-tg-valor         AS WIDGET-HANDLE    NO-UNDO.
    DEFINE VARIABLE wh-window           AS WIDGET-HANDLE    NO-UNDO.
    
    
    IF p-ind-event = "INITIALIZE" THEN
    DO:
        ASSIGN wh-window = p-wgh-frame:PARENT.
        
        /* Para consistir somente na Inicialização do programa pai*/
        IF NOT wh-window:VISIBLE THEN 
        DO:
            On 'Entry' Of p-wgh-frame Persistent
                Run cpp\cp0318bx.p(Input 'FECHAR',
                                   Input 'DIALOG',
                                   Input  p-wgh-object,
                                   Input  p-wgh-frame ,
                                   Input  p-cod-table ,
                                   Input  p-row-table ).
        END.
    END.
        
    If (p-ind-event  = 'FECHAR') And
       (p-ind-object = 'DIALOG') Then Do:
    
        RUN pi-treewalk(INPUT p-wgh-frame, 0,INPUT "tb-consiste-valor-retorno" ,INPUT "TOGGLE-BOX", OUTPUT wh-tg-valor).
        RUN pi-treewalk(INPUT p-wgh-frame, 0,INPUT "bt-ok" ,INPUT "BUTTON", OUTPUT wh-bt-ok).
    
        ASSIGN wh-tg-valor:SCREEN-VALUE = "NO".
    
        APPLY "CHOOSE" TO wh-bt-ok. 
    End.
    
    PROCEDURE pi-treewalk.
    
        DEFINE INPUT PARAMETER  Grp     AS WIDGET-HANDLE.
        DEFINE INPUT PARAMETER  IntFlag AS INT.
        DEFINE INPUT PARAMETER  cName   AS CHAR.
        DEFINE INPUT PARAMETER  cType   AS CHAR.
        DEFINE OUTPUT PARAMETER whObj   AS WIDGET-HANDLE.
        DEFINE VARIABLE         Flw     AS WIDGET-HANDLE.
    
        ASSIGN Flw = Grp:FIRST-CHILD NO-ERROR.
        DO WHILE (Flw <> ?):
            IF  Flw:NAME = cName 
            AND Flw:TYPE = cType THEN 
            DO:
                ASSIGN whObj = Flw.
                RETURN.
            END.
            IF whObj = ? THEN 
                RUN pi-treewalk (Flw, IntFlag + 1, cName, cType, OUTPUT whObj).
            ELSE
                RETURN.
            ASSIGN Flw=Flw:NEXT-SIBLING.
        END.
        ASSIGN Grp=Grp:NEXT-SIBLING.
    END PROCEDURE.
    Muito obrigada a todos que me deram sugestões!

    Beijos.
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página