Olá pessoal! Criei um programa com a template Pai x Filho Atualiza Ambos e na barra superior de menus, antes do h_p-exihel (consultas relacionadas, impressão, sair, ajuda) e depois criei um botão na SmartWindow. Agora preciso localizar o campo chave da tabela demonstrada na Viewer principal e passar para o botão novo, porém não estou conseguindo. Em nenhum momento a SmartWindow principal encontra a tabela que está na viewer e que inclusive está definida no Procedure Settings como tabela externa para fazer os links devidamente. Alguém pode me ajudar? Tentei rowid e recid mas não consegui. Será que tenho que customizar uma SmartPanel, colocar o botão novo e fazer um link com a viewer? Nunca fiz isso... apenas idéias. Obrigada.
O evento click do seu botão deve rodar um metodo na SmartQuery, nao lembro o nome do metodo agora. run <pi-get-rowid> in <h_query> (output current). este metodo retorna o rowid corrente da query, ou seja, o qu eesta sendo mostrado em tela. localiza o nome correto do metodo exibindo os metodos da query...(Insert Smart Call...) um abraço.
Olá! Obrigada pela ajuda. Deu certo (no caso da trigger de choose do botão consegui retornar o registro da viewer) Agora eu tenho outra dúvida agora e talvez você possa me ajudar: Preciso encotrar o registro que está sendo navegado na viwer e atualizar o botão que está na window principal com a propriedade de sensitive. Porém quando navego não funciona. Obrigada!
De alguma forma vc devera ter o handle da window (container) elna viewer...se nao me engano tem funções para retornar isso...tipo a do exemplo da query... Feito isso, crie uma procedure na window que recebe o parâmetro para habilitar/desabilitar o botão... E na viesse rode esta procedure, exemplo: Run pi-botao in h-container (input yes). Se quiser desabilitar algum botão da template then existem métodos para isso...porem no handle p-cadsim.
Carlos, agradeço muito a ajuda, mas acabei de conseguir de outra maneira: 1) Criei um link de Navigation tendo como source This-Procedure e como Target a Query 2) Depois na procedure State-Chaged da Window procurei pelos atributos referente a navegação e depois posicionei no registro da Query assim como tinha feito com a trigger de choose (conforme a minha primeira dúvida). IF p-state = "first-record":U OR p-state = "not-first-or-last":U OR p-state = "last-record":U THEN DO: run pi-posicao-query <h_query>(output v-rowid). END. Resta saber se irá afetar na performance do programa. As técnicas que estou desenvolvendo neste programa são novidade para mim. Uma mistura de Template DDK e com controles de telas muito específicos. Coisa que nunca fiz antes, mas estou aprendendo bastante. Acredito que novas dúvidas surgirão. Abraços!