Bom dia, pessoal. Quero criar uma nova aba de consulta para um zoom do ThinTemplates no EMS, na verdade o z07di159 da PD4000, e instanciar um browse de pesquisa lá. Procurando pelas documentações, consegui criar a aba com a upc abaixo: Código: def input param p-ind-event as char no-undo. def input param p-ind-object as char no-undo. def input param p-wgh-object as handle no-undo. def input param p-wgh-frame as widget-handle no-undo. def input param p-cod-table as char no-undo. def input param p-row-table as rowid no-undo. DEF NEW GLOBAL SHARED VAR wh-fpage1 AS WIDGET-HANDLE NO-UNDO. DEF NEW GLOBAL SHARED VAR wh-fpage-nova AS WIDGET-HANDLE NO-UNDO. DEF VAR wgh-grupo AS WIDGET-HANDLE NO-UNDO. DEF VAR wgh-child AS WIDGET-HANDLE NO-UNDO. DEF VAR wh-window AS HANDLE NO-UNDO. DEF VAR wh-frame0 AS WIDGET-HANDLE NO-UNDO. DEF VAR h-objeto AS HANDLE NO-UNDO. {include/i_fclpreproc.i} /* Include que define o processador do Facelift ativado ou não. */ &IF "{&aplica_facelift}" = "YES" &THEN {include/i_fcldef.i} &endif IF p-ind-event = "AFTER-INITIALIZE" THEN DO: IF p-wgh-object:NAME = "dizoom/z07di159.w" THEN DO: ASSIGN wgh-grupo = p-wgh-frame:FIRST-CHILD. ASSIGN wh-window = p-wgh-frame:PARENT. ASSIGN wh-frame0 = p-wgh-frame. DO WHILE VALID-HANDLE(wgh-grupo): ASSIGN wgh-child = wgh-grupo:FIRST-CHILD. DO WHILE VALID-HANDLE(wgh-child): IF wgh-child:TYPE = "frame" AND wgh-child:NAME = "fpage1" THEN DO: ASSIGN wh-fpage1 = wgh-child. END. ASSIGN wgh-child = wgh-child:NEXT-SIBLING NO-ERROR. END. LEAVE. END. END. IF VALID-HANDLE(wh-fpage1) THEN DO: CREATE FRAME wh-fpage-nova ASSIGN COL = wh-fpage1:COL ROW = wh-fpage1:ROW WIDTH = wh-fpage1:WIDTH HEIGHT = wh-fpage1:HEIGHT NAME = "fpage6" SIDE-LABELS = YES SENSITIVE = YES OVERLAY = YES BGCOLOR = wh-fpage1:BGCOLOR BOX = NO THREE-D = YES. &IF "{&aplica_facelift}" = "YES" &THEN {include/i_fcldin.i wh-fpage-cron} &endif assign h-objeto = p-wgh-object. do while valid-handle(h-objeto): if h-objeto:FILE-NAME = "utp/thinFolder.w" then LEAVE. assign h-objeto = h-objeto:NEXT-SIBLING. end. RUN setFolder IN h-objeto (INPUT 1) . RUN insertFolder IN h-objeto (INPUT ?, INPUT p-wgh-frame, INPUT wh-fpage-nova, INPUT "NOVA"). END. END. Mas o problema está em instanciar ou criar um browse lá dentro, tentei usar da forma que faço em outros programas, mas não funcionou: Código: RUN get-link-handle IN adm-broker-hdl (INPUT p-wgh-object, INPUT "PAGE-SOURCE":U, OUTPUT c-folder). ASSIGN h-folder = WIDGET-HANDLE(c-folder) NO-ERROR. IF VALID-HANDLE(h-folder) THEN DO: RUN set-attribute-list IN h-folder( INPUT "FOLDER-TAB-TYPE = 2"). RUN create-folder-page IN h-folder (INPUT 5, INPUT "CRON":U). RUN create-folder-label IN h-folder (INPUT 5, INPUT "CRON":U). RUN select-page IN p-wgh-object (INPUT 5). RUN init-object IN p-wgh-object (INPUT "esbrw/es-b01di159.w":U, INPUT p-wgh-frame, INPUT "Initial-Lock = NO-LOCK, Hide-on-Init = no, Disable-on-Init = no, Key-Name = , Layout = ":U , OUTPUT h-browse). RUN add-link IN adm-broker-hdl ( h-browse , 'State':U , THIS-PROCEDURE ). RUN add-link IN adm-broker-hdl ( h-browse , 'State':U , h-folder ). RUN get-link-handle IN adm-broker-hdl (INPUT p-wgh-object, INPUT "container-target":U, OUTPUT c-objects). RUN set-position IN h-browse ( 3, 3). RUN dispatch IN h-browse ("initialize":U). RUN select-page IN p-wgh-object (INPUT 5). RUN pi-envia-zoom IN h-browse (INPUT p-wgh-object). END. Alguém sabe como posso fazer isto? Assim, que conseguir, vou tratar a forma de jogar o registro selecionado para a PD4000. Obrigado.
Ola LF Buozi, Você conseguiu solucionar esse problema. Eu também preciso criar uma nova aba em um programa thin template e não encontrei nada que possa me ajudar, esse seu post foi o mais próximo que encontrei. se puder me ajudar agradeço valew
Na verdade com thin template você não intancia smarts. Seu browse deve ser definido no frame wh-fpage-nova.
brpaula, na época não consegui chegar ao resultado que eu queria, então criei uma nova tela com a pesquisa chamado por um botão criado por upc na tela.
é LF Buozi, eu acho que vou acabar fazendo isso tbem. Ainda não voltei para esse programa, mas vou fazer mais alguns testes, se não der certo vou pra esse lado tbem. valew