Trecho do ponto de entrada que faz a chamada para o Ponto de Entrada que o cliente renomeia para XMA103BUT
O fonte MA103BUT.prx (pasta 0-Pontos Entrada Protheus) apenas chama a função U_MLA103BUT() (fonte MLA103BT.prw, pasta Pontos Entrada do projeto Central XML), que contém a regra:
// Verifica se o cliente não tem primeiro o programa com o prefixo Z - Especifico para clientes que já usaram o prefixo X em outra customização
If ExistBlock( "ZMA103BUT" )
aUsButtons := ExecBlock( "ZMA103BUT", .F., .F.,{aInfo} )
If sfValAtrib("aUsButtons") == "A"
AEval( aUsButtons, { |x| AAdd( aButtons, x ) } )
Endif
Else
// Executa Ponto de Entrada do Cliente
If ExistBlock( "XMA103BUT" )
aUsButtons := ExecBlock( "XMA103BUT", .F., .F.,{aInfo} )
If sfValAtrib("aUsButtons") == "A"
AEval( aUsButtons, { |x| AAdd( aButtons, x ) } )
Endif
EndIf
Endif
Return aButtons
XM_USACXML indica se a Central XML está em uso (padrão .T.).ZEXPEXML, se compilado, recebe {"MA103BUT", PARAMIXB}; retornando .F., a rotina sai sem adicionar botões.Documentação oficial no TDN
MA103BUT - Inclusão de opções na EnchoiceBar - Linha Microsiga Protheus - TDN (totvs.com)
| Linha de Produto: | Microsiga Protheus |
|---|---|
| Módulo: | Compras (SIGACOM) |
| Rotina: | Documento de Entrada - MATA103 |
| Ponto de Entrada: | MA103BUT |
| Idioma: | Português (Brasil) |
| Banco(s) de Dados: | Todas |
| Sistema(s) operacional(is): | Todos |
| Descrição: | O Ponto de Entrada MA103BUT, chamado a partir do código-fonte MATA103.PRW, permite ao usuário adicionar opções na barra de menus EnchoiceBar do Documento de Entrada. |
|---|---|
| Programa Fonte: | MATA103.PRW |
| Função: | A103Bar |
| Parâmetros: | PARAMIXB[1] - Array - aInfo: informações da tela do Documento de Entrada. |
| Retorno: | Array (vetor) de opções de usuário, adicionado ao vetor de botões do sistema. Cada elemento: { "BITMAP", { |
Exemplo:
#Include 'Protheus.ch'
User Function MA103BUT()
Local aButtons := {}
aadd(aButtons, {'TESTE', {|| Alert("Ponto de entrada executado") }, 'TESTE'})
Return (aButtons)