Acredito que alguns de vocês já tenham percebido o uso de visões e gráficos em certas rotinas do sistema, no caso da visão, ela ficará ao lado do titulo, na parte superior da janela e no caso de gráficos, ficará do lado direito do seu browse. A inclusão de visões e gráficos, são bem simples, no exemplo que irei postar, demonstrarei como é fácil fazê-lo. [gallery columns="2" size="medium" link="none" ids="3186,3185"] Para habilitar as visões em uma rotina utilize o método SetAttach(.T.) da FWMBrowse. oBrowse:SetAttach( .T. ) oBrowse:SetOpenChart( .T. ) //Define se o gráfico virá aberto ou oculto no carregamento do browse Após habilitado, são adicionados dois menus no browse. Um para acesso às visões e um para acesso aos gráficos Um breve resumo...
//Vou incluir algumas bibliotecas #INCLUDE "PROTHEUS.CH" #INCLUDE 'FWBROWSE.CH'
User Function Exemplo5() Local cFiltro := "" Local oBrowse Local oFinalizado Private cAlias := "ZZL" Private cCadastro := "Exemplo usando Visão" oFinalizado := FWDSView():New() //Métodos obrigatórios para uma visão oFinalizado:SetID("PROJETOS1") oFinalizado:SetName("Projetos Finalizados") //Defino quais colunas da minha tabela deverão ser apresentadas oFinalizado:SetCollumns({"ZZL_PROJET","ZZL_CODPAI","ZZL_PEDVEN","ZZL_ITEMPV","ZZL_PESO","ZZL_NOTA","ZZL_SERIE","ZZL_STATUS"}) //Defino a ordem oFinalizado:SetOrder(1) oFinalizado:SetPublic(.T.) //Incluo uma visão com filtro oFinalizado:AddFilter( "Projetos Finalizados" , 'ZZL->ZZL_STATUS == "F"' ) oDSChart := FWDSChart():New() //Métodos obrigatórios para um gráfico oDSChart:SetID("ZZL001") oDSChart:SetName("Projeto x Pedido") oDSChart:setTitle( "Projeto x Pedido" ) //Define as categorias (eixo x) do gráfico oDSChart:setCategory({ {"SC5", "C5_NUM"} }) //Define o Tipo de gráfico "BARCHART", "BARCOMPCHART", "LINECHART" ou "PIECHART". oDSChart:SetType("BARCOMPCHART") //Define as séries do gráfico oDSChart:setSeries({ {"ZZL","ZZL_PROJET","COUNT"} }) // Define se será visível por todos os usuários. Se .F., somente o usuário definido em setUser() poderá utilizar a visão. oDSChart:SetPublic(.T.) // Alinhamento da legenda CONTROL_ALIGN_CENTER, CONTROL_ALIGN_LEFT, CONTROL_ALIGN_RIGHT oDSChart:SetLegend(CONTROL_ALIGN_BOTTOM ) // Alinhamento do título CONTROL_ALIGN_NONE, CONTROL_ALIGN_LEFT, CONTROL_ALIGN_TOP, CONTROL_ALIGN_RIGHT, CONTROL_ALIGN_BOTTOM oDSChart:SetTitleAlign(CONTROL_ALIGN_CENTER) oDSChart:SetMask("@E") oDSChart:SetPicture("9999999") chkFile(cAlias) //Abertura da tabela dbSelectArea(cAlias) (cAlias)->(dbSetOrder(2)) oBrowse := FWmBrowse():New() oBrowse:SetAlias( cAlias ) oBrowse:SetDescription( cCadastro ) oBrowse:SetFilterDefault( cFiltro ) oBrowse:SetViewsDefault({oFinalizado}) //define o metodo da visão oBrowse:SetChartsDefault( {oDSChart} ) //define o metodo do grafico oBrowse:SetAttach( .T. ) //habilita a visão oBrowse:SetOpenChart( .T. ) //Define se o gráfico virá aberto ou oculto no carregamento do browse oBrowse:Activate() (cAlias)->(dbCloseArea()) Return