Árvore de páginas


01. DADOS GERAIS

Produto:TOTVS Backoffice
Linha de Produto:

Linha Protheus ®

Módulo:Financeiro
Função:F040BOT - Ponto de Entrada


02. DESCRIÇÃO

O ponto de entrada F040BOT será executado na montagem da tela de consulta. Adicionando botões ao contexto do botão OUTRAS AÇÕES do FINC040.

03. PARÂMETROS


ParâmetroTipoDescrição
aButtonsArrayArray com a estrutura dos novos botões. Recebe 3 parâmetros, cNomePE, bSuaFunção, cTituloBotão.
cNomePECaractereNome da Rotina - "F040BOT"
bSuaFunçãoBloco de CódigoBloco de código com a função que será chamada pelo novo botão. 
cTituloBotãoCaractereTítulo do novo Botão. 


04. RETORNO


ParâmetroTipoDescrição

aButtons

ArrayArray com os novos botões adicionados a rotina.


05. EXEMPLO DE UTILIZAÇÃO


F040BOT
#include "protheus.ch"
/*/{Protheus.doc} 
Ponto de entrada F040BUT. 
Adiciona novos botões ao contexto do botão OUTRAS AÇÕES, 
dentro do Contas a Receber.
@type function F040BUT
@author TOTVS Matriz
@since 24/01/2022
@version P12

@param aButtons, array, novos botões adicionados a rotina.
@param cNomePE, caractere, Nome do PE. 
@param bSuaFunção, bloco de codigo, Bloco de código com a função a ser chamada no botão.
@param cTituloBotão, caractere, Titulo da Novo Botão.

@return aButtons, array, Novos botões
/*/
User Function F040BOT()
    Local aArea        := GetArea()
    Local aButtons     := {}
    Local cNomePE      := "F040BOT"
    Local bSuaFunção   := {|| U_fZPROG1() }
    Local cTituloBotão := "* Título Função 1" 
    
    //Forma 1 de atribuir
    aAdd(aButtons, { cNomePE, bSuaFunção, cTituloBotão } )

    //Forma 2 de atribuir 
    aAdd(aButtons, {"F040BOT", {|| msginfo("Rotina2 chamada pelo PE F040BUT !!!","F040BUT") } , "* Título Função 2" } )
     
    RestArea(aArea)
Return aButtons

/*/{Protheus.doc} 
User Function fZPROG1. 
Executa a ação do botão pressionado.
@type user function fZPROG1
@author TOTVS Matriz
@since 24/01/2022
@version P12
@param Nil, 
@return Nil
/*/
user function fZPROG1()
    Local aPergs    := {}
    Local aRet      := {}
    Local cNomeCli  := ""
		
    aAdd( aPergs,{9,"Informe o código do cliente para executar a rotina.",200, 50,.T.})//1
    aAdd( aPergs,{1,"Cliente"    ,Space(6),"","","SA1","",50 ,.F.}) 		           //2
    aAdd( aPergs,{1,"Loja"       ,Space(6),"","",""   ,"",50 ,.F.}) 		           //3

    If ParamBox(aPergs ,"F040BUT",aRet)
        cNomeCli := posicione("SA1",1,xFilial("SA1")+aRet[1]+aRet[2],"A1_NOME")
        MsgInfo("Rotina chamada pelo PE F040BUT !!!"+CRLF+CRLF+"Cliente Posicionado:<b> " + alltrim(cNomeCli)+"</b>", "F040BUT")

    EndIf

return

06. PREVIEW