No vídeo de hoje, vamos demonstrar em como remover uma opção de um menu num browse do Protheus.
A dúvida de hoje, nos perguntaram, se seria possível remover o botão Cancelar Baixa no Contas a Pagar via AdvPL (sem utilizar os recursos no Configurador).
Então montamos esse exemplo, onde através do ponto de entrada F750BROW, fazemos a busca pela rotina, e depois a removemos. Segue abaixo o vídeo exemplificando:
E abaixo o código fonte desenvolvido para exemplificar:
//Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} User Function F750BROW Ponto de entrada logo após montar a variável private aRotina @type Function @author Atilio @since 15/11/2023 @see https://tdn.totvs.com/pages/releaseview.action?pageId=6071090 /*/ User Function F750BROW() Local aArea := FWGetArea() Local cPesqSub := "BAIXA MANUAL" Local cPesqItem := "CANC BAIXA" Local nPosSub := 0 Local nPosItem := 0 Local aSubMenu := {} //Primeiro procura pelo submenu, escrito "Baixa Manual" (foi tirado o &, pois ele pode ficar em alguns textos de atalhos) nPosSub := aScan(aRotina, {|x| Upper(StrTran(AllTrim(x[1]), "&", "")) == cPesqSub}) //Se encontrou o submenu If nPosSub > 0 //Pega os itens desse submenu aSubMenu := aRotina[nPosSub][2] //Agora procura pelo item escrito "Canc Baixa" igual fizemos com o submenu nPosItem := aScan(aSubMenu, {|x| Upper(StrTran(AllTrim(x[1]), "&", "")) == cPesqItem}) //Se encontrou o item, iremos apagar ele do submenu e depois redimensionar diminuindo o tamanho do submenu If nPosItem > 0 aDel(aSubMenu, nPosItem) aSize(aSubMenu, Len(aSubMenu)-1) EndIf EndIf FWRestArea(aArea) Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.