FWMBrowse x Tabela Temporária x SX5
O exemplo a seguir, é uma demonstração do uso do componente FWMBrowse com alias temporário usando a tabela SX5.
Usaremos apenas os includes TOTVS.CH e FWMVCDEF.CH
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
#include "totvs.ch" #INCLUDE "FWMVCDEF.CH" user function AGPE001() //Declarar variaveis locais Local aSeek := {} Local aFields := {} Local aIndex := {} Local aFieFilter:= {} //Declarar variaveis privadas Private oBrowse := Nil Private cCadastro := "Cadastro de Gestores" Private aRotina := Menudef() //Cria e popula a tabela temporária AGPE001TRB() //Campos que serão exibidos no browse Aadd(aFields,{"Tabela" ,"X5_TABELA" ,TamSx3("X5_TABELA")[3] ,TamSx3("X5_TABELA")[1] ,TamSx3("X5_TABELA")[2] ,PESQPICT("SX5","X5_TABELA")}) Aadd(aFields,{"Código" ,"X5_CHAVE" ,TamSx3("X5_CHAVE")[3] ,TamSx3("X5_CHAVE")[1] ,TamSx3("X5_CHAVE")[2] ,PESQPICT("SX5","X5_CHAVE")}) Aadd(aFields,{"Nome" ,"X5_DESCRI" ,TamSx3("X5_DESCRI")[3] ,TamSx3("X5_DESCRI")[1] ,TamSx3("X5_DESCRI")[2] ,PESQPICT("SX5","X5_DESCRI")}) Aadd(aFields,{"Localidade" ,"X5_DESCSPA" ,TamSx3("X5_DESCSPA")[3],3,0,PESQPICT("SX5","X5_DESCSPA")}) Aadd(aFields,{"Desc.Local" ,"X5_DESCENG" ,TamSx3("X5_DESCENG")[3],TamSx3("X5_DESCENG")[1],TamSx3("X5_DESCENG")[2],PESQPICT("SX5","X5_DESCENG")}) //Campos que irão compor a tela de filtro Aadd(aFieFilter,{"X5_CHAVE" , "Código" , "C", TamSx3("X5_CHAVE")[1] , 0,PESQPICT("SX5","X5_CHAVE")}) Aadd(aFieFilter,{"X5_DESCRI" , "Nome" , "C", TamSx3("X5_DESCRI")[1] , 0,PESQPICT("SX5","X5_DESCRI")}) Aadd(aFieFilter,{"X5_DESCSPA" , "Localidade" , "C", TamSx3("X5_DESCSPA")[1], 0,PESQPICT("SX5","X5_DESCSPA")}) DbSelectArea("TRB") dbGoTop() //Campo da pesquisa Aadd(aSeek , {"Código" , {{"","C", TamSx3("X5_CHAVE")[1] , TamSx3("X5_CHAVE")[1] , 1, "X5_CHAVE"}} } ) Aadd(aSeek , {"Nome" , {{"","C", TamSx3("X5_DESCRI")[1] , TamSx3("X5_DESCRI")[1] , 2, "X5_DESCRI"}} } ) Aadd(aSeek , {"Localidade" , {{"","C", TamSx3("X5_DESCSPA")[1] , TamSx3("X5_DESCSPA")[1], 3, "X5_DESCSPA"}} } ) //Indice de pesquisa Aadd( aIndex, "X5_CHAVE" ) Aadd( aIndex, "X5_DESCRI" ) Aadd( aIndex, "X5_DESCSPA" ) //aStruct := TRB->(DBStruct()) //aStructCon := aClone(aStruct) oBrowse := FWMBrowse():New() oBrowse:SetDescription( cCadastro ) oBrowse:SetAlias("TRB") oBrowse:SetQueryIndex(aIndex) oBrowse:SetTemporary(.T.) oBrowse:SetSeek(,aSeek) oBrowse:SetFields(aFields) oBrowse:SetTemporary(.T.) oBrowse:DisableConfig() oBrowse:SetFieldFilter(aFieFilter) oBrowse:SetFilterDefault("") oBrowse:SetDBFFilter(.T.) oBrowse:SetUseFilter(.T.) oBrowse:SetLocate() oBrowse:ForceQuitButton() oBrowse:Activate() Return |
Criamos aqui os menus que serão apresentados
1 2 3 4 5 6 7 8 |
Static Function MenuDef() Local aRotina := {} ADD OPTION aRotina Title 'Pesquisar' Action 'PesqBrw' OPERATION 1 ACCESS 0 ADD OPTION aRotina Title 'Visualizar' Action 'U_AGPE001A(2)' OPERATION 2 ACCESS 0 ADD OPTION aRotina Title 'Incluir' Action 'U_AGPE001A(3)' OPERATION 3 ACCESS 0 ADD OPTION aRotina Title 'Alterar' Action 'U_AGPE001A(4)' OPERATION 4 ACCESS 0 ADD OPTION aRotina Title 'Excluir' Action 'U_AGPE001A(5)' OPERATION 5 ACCESS 0 Return( aRotina ) |
continua página 2