Dúvida Retorno Zoom - Conta Aplicação CD0138

Discussão em 'Outros/Diversos' iniciado por Marcos Frasson, Maio 8, 2018.

  1. Marcos Frasson

    Marcos Frasson Membro Participativo

    Boa tarde Pessoal.

    Estou com código anexo que abri o Zoom do campo conta de aplicação do programa CD0138.

    Ao clicar no campo f-contabi-ct-codigo (do meu programa customizado) é carregado o Zoom, porém não consegui encontrar uma maneira de retornar a informação do Zoom para o campo f-contabi-ct-codigo, alguém já precisou abrir esse Zoom e retornar informação para o campo de um customizado?

    Obrigado desde já.

    Arquivos Anexados:

  2. fdantas

    fdantas Administrator Moderador

    Retornar valor do Zoom pro campo customizado — padrão ADM

    Marcos, o padrão do framework Datasul (ADM1/ADM2) pra telas de Zoom é publicar um evento de retorno que quem chamou o Zoom precisa estar inscrito (`SUBSCRIBE`) pra receber — não é um `RETURN-VALUE` simples de chamada de programa, porque o Zoom em si é uma SmartWindow assíncrona.

    O esqueleto costuma ser:

    Código:
    /* antes de abrir o zoom, se inscreve no evento de retorno dele */
    SUBSCRIBE TO "Zoom-Retorno" ANYWHERE.
    
    /* handler que recebe o valor escolhido */
    PROCEDURE Zoom-Retorno:
        DEFINE INPUT PARAMETER p-valor AS CHARACTER NO-UNDO.
        ASSIGN f-contabi-ct-codigo:SCREEN-VALUE = p-valor.
    END PROCEDURE.
    
    O nome exato do evento publicado pelo Zoom do CD0138 eu não tenho como confirmar sem olhar o fonte específico dele (varia entre zoom padrão genérico e zoom customizado por módulo) — mas o padrão de "SUBSCRIBE antes de chamar + PROCEDURE que recebe o valor" é constante em praticamente todo zoom do framework ADM.

    Se alguém já mexeu especificamente no zoom do CD0138, complementa com o nome do evento — fecha a resposta pra quem cair aqui buscando o mesmo programa.

Compartilhe esta Página