Boa noite!
Possuo uma tabela que possui os seguintes campos e registros. Exemplo: como_esta.png
Utilizando a classe FwMBrowse, gostaria que só fossem exibidos no grid os dados agrupados por competência e vendedor, exemplo: como_quero.png
Ao usar o método SetOnlyFields, consigo que sejam exibidos apenas estes dois campos que desejo, mas não consigo agrupar os registros, os mesmos são exibidos "duplicados", assim: como_consegui.png
Gostaria de saber se existe algum método que eu possa estar usando de modo que os registros fiquem agrupados, ou se só é possível realizar isso usando uma tabela temporária.
Agradeço desde já pela atenção.
Como está atualmente:
Local aArea := GetArea()
Local oBrowse := FwMBrowse():New()
Private cCadastro := 'Metas de Positivação por Vendedor'
Private aRotina := MenuDef()
oBrowse:SetAlias('ZT1')
oBrowse:SetDescription(cCadastro)
oBrowse:SetOnlyFields({'ZT1_MESANO','ZT1_CODVEN','ZT1_NOMVEN'})
oBrowse:Activate()
RestArea(aArea)
Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.
Já tentou usar o SetFilterDefault ?
oBrowse:SetFilterDefault(" ( ZT1_MESANO = '" + ZT1->ZT1_MESANO + "' .And. ZT1_CODVEN = '" + ZT1->ZT1_CODVEN + "' ) ")
Ainda não, irei realizar um teste e posto aqui os resultados. Obrigado!
Bom dia,
Use o SetFilterDefault, dando um Select no Recno do Registro, usando um sub Select para filtrar o Recno do Browse.
Exemplo:
Local cFiltro := ""
oBrowse := FWMBrowse():New()
oBrowse:SetAlias("ZCG")
cFiltro := " R_E_C_N_O_ IN ( SELECT "
cFiltro += "ZCG.R_E_C_N_O_ "
cFiltro += "FROM "
cFiltro += RetSQLName("ZCG") + " ZCG "
cFiltro += "INNER JOIN ( "
cFiltro += "SELECT DISTINCT "
cFiltro += "ZCG_PRIN.ZCG_NUMNF AS PEDIDO, "
cFiltro += "( "
cFiltro += "SELECT TOP 1 "
cFiltro += "ZCG_ITE.ZCG_ITEM "
cFiltro += "FROM "
cFiltro += RetSQLName("ZCG") + " ZCG_ITE "
cFiltro += "WHERE "
cFiltro += "ZCG_ITE.ZCG_FILIAL = ZCG_PRIN.ZCG_FILIAL "
cFiltro += "AND ZCG_ITE.ZCG_NUMNF = ZCG_PRIN.ZCG_NUMNF "
cFiltro += "AND ZCG_ITE.D_E_L_E_T_ = ' ' "
cFiltro += "ORDER BY "
cFiltro += "ZCG_ITE.ZCG_ITEM DESC "
cFiltro += ") AS ULT_ITEM "
cFiltro += "FROM "
cFiltro += "ZCG010 ZCG_PRIN "
cFiltro += "WHERE "
cFiltro += "ZCG_PRIN.ZCG_FILIAL = '" + FWxFilial("ZCG") + "' "
cFiltro += "AND ZCG_PRIN.D_E_L_E_T_ = ' ' "
cFiltro += ") TAB_AUX ON ( "
cFiltro += "ZCG.ZCG_NUMNF = TAB_AUX.PEDIDO "
cFiltro += "AND ZCG.ZCG_ITEM = TAB_AUX.ULT_ITEM "
cFiltro += ") "
cFiltro += "WHERE "
cFiltro += "ZCG.ZCG_FILIAL = '" + FWxFilial("ZCG") + "' "
cFiltro += "AND ZCG.D_E_L_E_T_ = ' ' "
cFiltro += ") "
oBrowse:SetFilterDefault( "@" + cFiltro )
oBrowse:Activate()
Att,
Cristian Regazzo
show!!
Obrigado Cristian, o filtro desta forma funcionou perfeitamente, muito mais rápido!
Amigo, boa tarde!
Funcionou aqui!
Obrigado pela dica!
Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.