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.