Entendendo os pontos de entrada na adição de botões nas rotinas do Protheus

No artigo de hoje, vamos explicar um pouco da diferença de ponto de entrada no Outras Ações principal e no Outras Ações dentro de uma tela de manipulação.

Recentemente um aluno me questionou que ele montou um ponto de entrada em MVC, usou o ponto BUTTONBAR, mas não adicionou botões na tela do browse. Então pessoal, realmente não vai adicionar, vamos entender o motivo disso.

Existem vários tipos de telas no Protheus, mas por convenção, a padronização de adição de botões, seguem dois tipos, os botões no BROWSE e os botões na ENCHOICEBAR / BUTTONBAR.

Vamos pegar por exemplo, o Pedido de Venda, logo ao abrir ele, ao carregar o BROWSE, o ponto de entrada usado para adicionar itens no MENU é MA410MNU, que seria nessa tela aqui:

Adição de funções no BROWSE

Já ao clicar em alguma opção de manipulação (Incluir, Alterar, Visualizar, etc), é carregado uma barra superior chamada de ENCHOICEBAR, e nela nós conseguimos adicionar botões no Outras Ações. No caso da tela de Pedido de Venda, é o A410CONS.

Adição de funções na ENCHOICEBAR / BUTTONBAR

Então beleza, entendemos que há dois tipos de botões, e dois tipos de ponto de entrada, sendo:

  1. Para adicionar rotinas no BROWSE (navegação de registros)
  2. Para adicionar rotinas na ENCHOICEBAR (tela para manipular registros)

Ai o que acontece, é que em telas em MVC, o ponto de entrada no estilo MVC (que você testa o ID dos pontos), tem apenas para ENCHOICEBAR (o segundo caso que vimos acima), então ele não tem para manipulação no browse.

Para isso, você precisa ver no TDN, se existe um ponto de entrada apartado para manipular o MenuDef. Se realmente não houver ponto de entrada, ai você pode usar algum atalho do teclado com SetKey ou fazer o procedimento que demonstramos nesse link.

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação