Ponto de Entrada MA020BUT: Adicionando Botões Customizados no Cadastro de Fornecedores

Tempo de leitura: 2 minutos

Olá, se você precisa estender a funcionalidade padrão do Cadastro de Fornecedores (MATA020) no TOTVS Protheus, o Ponto de Entrada MA020BUT é a chave para adicionar botões personalizados na EnchoiceBar da rotina. Isso permite que você execute funções ADVPL customizadas diretamente da tela de visualização ou manutenção do fornecedor.


 

💡 O que é o Ponto de Entrada MA020BUT?

 

O MA020BUT é um Ponto de Entrada que atua na rotina MATA020 (Cadastro de Fornecedores, tabela SA2). Ele é executado para permitir que o desenvolvedor inclua botões de usuário na barra de botões (EnchoiceBar), logo abaixo dos botões padrões como “Visualizar”, “Alterar” e “Excluir”.


 

Sintaxe

User Function MA020BUT

…código aqui

Return aBotoes

retorna um array de arrays, onde cada sub-array define um novo botão.

 

Parâmetro(s) de Retorno:

 

 

Exemplo em ADVPL:

Crie um arquivo .PRW contendo a seguinte User Function:

# INCLUDE "PROTHEUS.CH"

/*/{Protheus.doc} MA020BUT
Inclusão de um botão customizado na EnchoiceBar do Cadastro de Fornecedores (MATA020).

@type User Function
@author Adilio Costa
@since 29/10/2025
@return Array de botões a serem adicionados.


@?Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@?Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@?Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@?Conheça os Cursos e Formações do ProtheusAdvpl:
https://cursos-e-formacoes-protheusadvpl.gr-site.com/

@Participe de nossas comunidades no WhatsApp:
-Comunidade Protheus Backoffice:https://chat.whatsapp.com/KMUIAjwZ6EZ6eAHsLkPTyb
-Comunidade Protheus-RH:https://chat.whatsapp.com/L5dUyAna6xU4ylG5DUgfOW
-Comunidade Protheus-Programação:https://chat.whatsapp.com/LsD6z0apdqKHlOz67bcaEn
-Comunidade Protheus-Framework:https://chat.whatsapp.com/BzUFpjaSnTC3vtsfa77jmG
   
*/
User Function MA020BUT()
Local aBotoes := {} // Inicializa o array de botões
Local cAlias := GetNextAlias() // Obtém o alias atual da rotina (SA2)
Local cCodFor := ""
Local cMsg := ""


aAdd(aBotoes, { "Ver Saídas", "U_fFunc(cCodFor)", 0, .T., "VIEW" })

If AllTrim(cCodFor) == "000001"
    aAdd(aBotoes, { "Val. Espec.", "U_FNCTST()", 0, .T., "VIEW" })
EndIf

Return aBotoes


User Function fFunc(cFornecedor)
    Local cMsg := "Abrindo consulta de Saídas para o Fornecedor: " + cFornecedor
    MsgStop(cMsg, "Customização MA020BUT")
Return Nil

// ----------------------------------------------------------------------
// Exemplo de User Function a ser chamada pelo botão "Val. Espec."
// ----------------------------------------------------------------------
User Function FNCTST()
    MsgAlert("Executando validação específica para fornecedor 000001.", "Validação Customizada")
Return Nil

 

🔑 Benefícios e Uso

Ao utilizar o MA020BUT, você ganha:

  • Agilidade Operacional: Adicione atalhos para consultas ou processos específicos da sua regra de negócio.

  • Integração: Inicie integrações com sistemas externos (como consultas de crédito ou workflows) diretamente do Cadastro de Fornecedores.

  • Melhoria da Usabilidade: Deixe funções críticas e customizadas visíveis e acessíveis para o usuário.

 

 

Bem, finalizamos mais um post aqui no Blog ProtheusAdvpl. 

Receba as últimas atualizações do ProtheusAdvpl
Deixe seu melhor email
Nós respeitamos sua privacidade.