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
Exemplo em Vídeo:
Clique nesse link para ver um exemplo em Vídeo da nossa Maratona de Exemplos.
Observações:
– Caso tenha dúvidas ou problemas com os exemplos, entre em contato;
– Se tiver sugestões de rotinas, pode entrar em contato;