Nesse vídeo demonstraremos a utilização da classe FWmBrowse e da função mBrowse, que servem para criar uma tela com browse de navegação de registros para poder efetuar ações (como incluir, alterar, visualizar, etc).
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} User Function zExe230 Exemplo de criação de browses de cadastro @type Function @author Atilio @since 20/02/2023 @see https://tdn.totvs.com/display/public/framework/FWMBrowse e https://tdn.totvs.com/pages/releaseview.action?pageId=24346981 @obs **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao **** /*/ User Function zExe230() Local aArea := FWGetArea() If FWAlertYesNo("Você deseja ver o exemplo com FWMBrowse (sim) ou com mBrowse (não)?", "Continua?") fExemplo1() Else fExemplo2() EndIf FWRestArea(aArea) Return /*/{Protheus.doc} User Function zExe230 Grupo de Produtos @author Atilio @since 20/02/2023 @version 1.0 @type function @obs Codigo gerado automaticamente pelo Autumn Code Maker @see http://autumncodemaker.com /*/ Static Function fExemplo1() Local aArea := FWGetArea() Local oBrowse Private aRotina := {} Private cCadastro := "Grupo de Produtos" //Definicao do menu aRotina := MenuDef() //Instanciando o browse oBrowse := FWMBrowse():New() oBrowse:SetAlias("SBM") oBrowse:SetDescription(cCadastro) oBrowse:DisableDetails() //Adicionando as Legendas oBrowse:AddLegend( "SBM->BM_PROORI == '1'", "BLACK", "Pro. Ori. igual a 1" ) oBrowse:AddLegend( "SBM->BM_PROORI == '0'", "RED", "Pro. Ori. igual a 0" ) oBrowse:AddLegend( "EMPTY(SBM->BM_PROORI)", "WHITE", "Pro. Ori. vazio" ) //Ativa a Browse oBrowse:Activate() FWRestArea(aArea) Return Nil /*/{Protheus.doc} MenuDef Menu de opcoes na funcao zExe230 @author Atilio @since 20/02/2023 @version 1.0 @type function @obs Codigo gerado automaticamente pelo Autumn Code Maker @see http://autumncodemaker.com /*/ Static Function MenuDef() Local aRotina := {} //Adicionando opcoes do menu aAdd(aRotina, {"Pesquisar", "AXPESQUI", 0, 1}) aAdd(aRotina, {"Visualizar", "AXVISUAL", 0, 2}) aAdd(aRotina, {"Incluir", "AXINCLUI", 0, 3}) aAdd(aRotina, {"Alterar", "AXALTERA", 0, 4}) aAdd(aRotina, {"Excluir", "AXDELETA", 0, 5}) Return aRotina Static Function fExemplo2() Local aArea := FWGetArea() Local aCores := {} Private aRotina := MenuDef() Private cCadastro := "Grupo de Produtos" aAdd(aCores, {"SBM->BM_PROORI == '1'", "BR_PRETO"}) aAdd(aCores, {"SBM->BM_PROORI == '0'", "BR_VERMELHO"}) aAdd(aCores, {"EMPTY(SBM->BM_PROORI)", "BR_BRANCO"}) //Faz a abertura da tela mBrowse(1, 1, , , 'SBM', , , , , , aCores) FWRestArea(aArea) Return Nil
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Boa tica
Bom dia William, tudo joia?
Opa, obrigado pelo comentário.
Um grande abraço.
Boa dica Daniel.
Será que vc conseguiria fazer um video da maratona ref a criação de uma tela de consulta de dados de histórico com uma grid ?? A dúvida que fica é, qual melhor componente grid usar?
Vlwww
Bom dia William, tudo joia?
Não sei se entendi a dúvida, mas você gostaria de ver uma tela usando uma grid pra consulta de informações?
Se sim, você pode optar por usar a classe FWBrowse que seria a mais recente nesse sentido, segue um link de exemplo: https://terminaldeinformacao.com/2024/01/31/criando-um-browse-com-a-classe-fwbrowse-maratona-advpl-e-tl-207/
Um grande abraço.