A função MBrowseAuto tem como objetivo simular o modelo de interface da MBrowse, compatível com a função MBrowse, sendo a sua correspondente quando se utiliza o conceito de rotina automática.
Em resumo a rotina MBrowseAuto apresenta diretamente ao usuário as rotinas de uma operação da MBrowse sem a necessidade do usuário ter que navegar, localizar o registro e clicar sobre a ação (ex.: alterar um registro).
Sintaxe:
MBrowseAuto ( [ nOPCAUTO ] aAUTO cALIAS [ lSEEK ] [ lPOS ] ) --> Nil
Retorno: Nil
Parâmetros:
Nome | Tipo | Descrição | Default | Obrigatório |
nOPCAUTO | Numeric | Código da operação a ser realizada que corresponde ao quarto elemento do aRotina. | ||
aAUTO | Array | Informe o array com os dados a serem simulados/validados pelo modelo de interface 1 ou 2. Os dados devem ser enviados na seguinte estrutura: [nX][1] Nome do campo [nX][2] Conteudo do campo [nX][3] Nil Exemplo: aadd(aField,{"A1_NOME","Microsiga Software SA",Nil}) Os dados informados neste parâmetro servirão para posicionar corretamente no registro que sofrerá alteração ou exclusão. | X | |
cALIAS | Character | Informe o Alias da tabela que deveria ser demonstrada no browse. | X | |
lSEEK | Logical | Indica se a função deverá efetuar o posicionamento automático com base nos dados enviados no parâmetro aAuto. | ||
lPOS | Logical | Indica se o parâmetro nOPCAuto deverá se pesquisado no aRotina ou é a própria posição do aRotina. |
Observações
- A função MBrowseAuto espera que a variável aRotina esteja presente e preenchida como uma variável Private;
- O parâmetro aAUTO (vide tabela de parâmetros acima) é utilizado apenas para localizar o registro alvo da operação, devendo .
#include "protheus.ch" #include "fwmvcdef.ch" /*/{Protheus.doc} PAACAD Rotina de exemplo MBrowse/MBrowseAuto @type Function @author Bruno Pirolo @since 25/10/2024 @param aAutoHeader , array , Parâmetro opcional para ser considerado no MBrowseAuto @param nOpcAuto , numeric , Numero da operação @return Nil /*/ Function PAACAD(aAutoHeader, nOpcAuto) Private aRotina as Array Private cCadastro as Character aRotina := MenuDef() cCadastro := "Teste Cadastro" If ValType(aAutoHeader) == "A" MBrowseAuto(nOpcAuto, Aclone(aAutoHeader), "PAA") Else mBrowse( 6, 1,22,75,"PAA") EndIf Return /*/{Protheus.doc} MenuDef Definição de menus @type Static Function @author Bruno Pirolo @since 28/10/2024 @return aRotina, Array, Array com as rotinas disponiveis /*/ Static Function MenuDef() Local aRotina as Array aRotina := { { "Pesquisar" ,"AxPesqui" , 0,1 , ,.F.},; //"Pesquisar" { "Visualizar" ,"AxVisual", 0,2},; //"Visualizar" { "Incluir" ,"AxInclui", 0,3},; //"Incluir" { "Alterar" ,"AxAltera", 0,4},; //"Alterar" { "Excluir" ,"AxDeleta", 0,5}; //"Excluir" } Return(aRotina) /*/{Protheus.doc} PAACAD Rotina de exemplo MBrowse/MBrowseAuto @type Function @author Bruno Pirolo @since 25/10/2024 @param aAutoHeader , array , Parâmetro opcional para ser considerado no MBrowseAuto @param nOpcAuto , numeric , Numero da operação @return Nil /*/ Function TstAutoBrw Local aAuto as Array /* Neste exemplo, o indice 1 da tabela PAA corresponde a PAA_FILIAL+PAA_TESTE, logo a rotina irá localizar o registro que atenda aos dados abaixo e apresentar para o usuário realizar a alteração. */ aAuto := {{"PAA_TESTE" ,"teste" , NIL }, {"PAA_FILIAL" ," " , NIL }} //Apresenta a tela de Alteração do registro ao usuário PAACAD(aAuto, 4 ) Return
No exemplo acima, a função PAACAD apresentará um MBrowse com todos os registros para o usuário navegar e realizar as operações desejadas, já quando executada a função TstAutoBrw será exibida diretamente a tela de alteração do registro indicado no Array aAuto.