No artigo de hoje, vou demonstrar em como criar submenus no Outras Ações dentro de uma rotina.
Recentemente me perguntaram em como fazer para adicionar um submenu em uma rotina no Protheus.
Contextualizando então, a lógica basicamente é:
- Todo menu é composto por um Array, geralmente chamado de aRotina, e geralmente criado por uma função estática chamada MenuDef
- Nesse array de menu, você pode adicionar funções, por exemplo “U_zSuaFuncao()”
- Para termos um submenu, o que temos que fazer é adicionar um array dentro desse array
Exemplificando o descritivo acima, abaixo um exemplo do ponto de entrada no menu do pedido de vendas:
//Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} MA410MNU Ponto de Entrada na adição de funções no Pedido de Venda @author Atilio @since 02/01/2023 @version 1.0 @type function @see https://tdn.totvs.com/display/public/PROT/MA410MNU /*/ User Function MA410MNU() Local aArea := FWGetArea() Local aSubMenu := {} //Exemplo 1 - Adicionando direto no menu aAdd(aRotina, {"* Transferir Filial", "u_zTransPed()", 0, 4, 0, Nil}) //Exemplo 2 //Criando as opções de um submenu, e depois adiciona na rotina principal aSubMenu := {} aAdd(aSubMenu, {"* Imprimir Pedido", "u_zImprPed()", 0, 4, 0, Nil}) aAdd(aSubMenu, {"* Transferir Filial", "u_zTransPed()", 0, 4, 0, Nil}) aAdd(aSubMenu, {"* Verificar Status", "u_zVerStat()", 0, 4, 0, Nil}) aAdd(aRotina, {"Customizações", aSubMenu, 0, 2, 0, Nil}) FWRestArea(aArea) Return
Abaixo um print de como fica na tela do Protheus:
Bom pessoal, por hoje é só.
Abraços e até a próxima.