FWMBrowse

Cria um browse para cadastros

Exemplo da Rotina:

oBrowse := FWMBrowse():New()

Exemplo 1- Criando browse comum:

User Function zTeste()
	Local aArea   := GetArea()
	Local cFunBkp := FunName()
	Local oBrowse
	
	//Setando o nome da função, para a função customizada
	SetFunName("zTeste")
	
	//Instânciando FWMBrowse, setando a tabela, a descrição e ativando a navegação
	oBrowse := FWMBrowse():New()
	oBrowse:SetAlias("Z42")
	oBrowse:SetDescription(cTitulo)
	oBrowse:Activate()
	
	//Voltando o nome da função
	SetFunName(cFunBkp)
	
	RestArea(aArea)
Return Nil

Exemplo 2- Criando browse com legenda:

User Function zTeste()
	Local aArea   := GetArea()
	Local cFunBkp := FunName()
	Local oBrowse
	
	//Setando o nome da função, para a função customizada
	SetFunName("zTeste")
	
	//Instânciando FWMBrowse, setando a tabela, a descrição
	oBrowse := FWMBrowse():New()
	oBrowse:SetAlias("Z42")
	oBrowse:SetDescription(cTitulo)
	
	//Adicionando legendas (alguns exemplos - PINK, WHITE, GRAY, YELLOW, ORANGE, BLACK, BLUE)
	oBrowse:AddLegend( "Z42->Z42_TIPO == '1'", "GREEN",  "Registro do Tipo 1" )
    oBrowse:AddLegend( "Z42->Z42_TIPO == '2'", "RED",    "Registro do Tipo 2" )
	
	//Ativando a navegação
	oBrowse:Activate()
	
	//Voltando o nome da função
	SetFunName(cFunBkp)
	
	RestArea(aArea)
Return Nil

Exemplo 3- Criando browse com filtro:

User Function zTeste()
	Local aArea   := GetArea()
	Local cFunBkp := FunName()
	Local oBrowse
	
	//Setando o nome da função, para a função customizada
	SetFunName("zTeste")
	
	//Instânciando FWMBrowse, setando a tabela, a descrição
	oBrowse := FWMBrowse():New()
	oBrowse:SetAlias("Z42")
	oBrowse:SetDescription(cTitulo)
	
	//Filtrando os dados
	oBrowse:SetFilterDefault("Z42->Z42_TIPO != '1'")
	
	//Ativando a navegação
	oBrowse:Activate()
	
	//Voltando o nome da função
	SetFunName(cFunBkp)
	
	RestArea(aArea)
Return Nil

Exemplo 4- Criando browse com tabela temporária:

User Function zTeste()
	Local aArea       := GetArea()
	Local oBrowse
	Local cFunBkp     := FunName()
	Local cArquivo    := "\teste"+GetDBExtension()
	Local cArqs       := ""
	Local aStrut      := {}
	Local aBrowse     := {}
	Local aSeek       := {}
	Local aIndex      := {}
	Private cAliasTmp := "CADTMP"
	 
	//Pode se usar também a FWTemporaryTable
	 
	//Criando a estrutura que terá na tabela
	aAdd(aStrut, {"TMP_COD", "C", 06, 0} )
	aAdd(aStrut, {"TMP_DES", "C", 50, 0} )
	aAdd(aStrut, {"TMP_VAL", "N", 10, 2} )
	aAdd(aStrut, {"TMP_DAT", "D", 08, 0} )
	 
	//Se o arquivo dbf / ctree existir, usa ele
	If Select(cAliasTmp) == 0
		If File(cArquivo)
			DbUseArea(.T., "DBFCDX", cArquivo, cAliasTmp, .T., .F.)

		//Senão, cria uma temporária
		Else
			//Criando a temporária
			cArqs := CriaTrab( aStrut, .T. )        
			DbUseArea(.T., "DBFCDX", cArqs, cAliasTmp, .T., .F.)

			MsgInfo("Arquivo criado '"+cArqs+GetDBExtension()+"'", "Atenção")
		EndIf
	EndIf
	 
	//Definindo as colunas que serão usadas no browse
	aAdd(aBrowse, {"Codigo",    "TMP_COD", "C", 06, 0, "@!"})
	aAdd(aBrowse, {"Descricao", "TMP_DES", "C", 50, 0, "@!"})
	aAdd(aBrowse, {"Valor",     "TMP_VAL", "N", 10, 0, "@E 9,999,999.99"})
	aAdd(aBrowse, {"Data",      "TMP_DAT", "D", 08, 0, "@D"})
	 
	SetFunName("zTmpCad")
	 
	aAdd(aIndex, "TMP_COD" )    
	 
	//Criando o browse da temporária
	oBrowse := FWMBrowse():New()
	oBrowse:SetAlias(cAliasTmp)
	oBrowse:SetQueryIndex(aIndex)
	oBrowse:SetTemporary(.T.)
	oBrowse:SetFields(aBrowse)
	oBrowse:DisableDetails()
	oBrowse:SetDescription(cTitulo)
	oBrowse:Activate()
	 
	SetFunName(cFunBkp)
	RestArea(aArea)
Return Nil

Observações:

– Caso tenha dúvidas ou problemas com os exemplos, entre em contato;

– Se tiver sugestões de rotinas, pode entrar em contato;