- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dicas e Informações
- Função Para Contar e Mostrar Numero de Registros Filtrados no Browse
Perguntas Função Para Contar e Mostrar Numero de Registros Filtrados no Browse
- admin
- Autor do Tópico
- Desconectado
- Administrador
Menos
Mais
- Postagens: 297
- Obrigados Recebidos: 21
7 anos 9 meses atrás - 7 anos 9 meses atrás #31912
por admin
Ae galera, quem quiser só copiar e colocar no ponto de entrada tipo (Browse de Clientes):
#Include "Protheus.ch"
#Include "Topconn.ch"
#Include "TbiConn.ch"
#Include "TbiCode.ch"
#Include "Rwmake.ch"
/*/
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ MA030ROT º Autor ³ Luiz Alberto º Data ³ 15/03/2017 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDescricao ³ Contagem Registros Filtrados no Browse de Clientes
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
/*/
User Function MA030ROT
Local aRetorno := {}
aadd(aRetorno,{"Contagem *",'U_FContage',0,4})
Return(aRetorno)
User Function FContage()
Local aArea := GetArea()
Local oObjBrw := GetObjBrow()
If Empty(oObjBrw:OFWFILTER:AFILTER)
MsgStop("Atenção a Contagem só Será Executada se a Tela Possuir Algum tipo de Filtro !")
RestArea(aArea)
Return .t.
Endif
Processa( {|| ContaRegs(oObjBrw,Alias()) },"Aguarde Contado Registros ..." )
RestArea(aArea)
Return .t.
Static Function ContaRegs(oObjBrowse,cAlias)
Local aArea := getArea()
Local bFiltro := nil
Local lFat := .F.
Local cFiltro := oObjBrowse:oFWFilter:GetExprADVPL()
Local cFiltOld := &(cAlias)->( dbFilter() )
Local lRet := .T.
Local aRetorno := {}
Local cParams := ""
//Restaura filtros anteriores
If !Empty( cFiltro )
bFiltro := &('{||' + cFiltro + '}')
&(cAlias)->(dbSetFilter(bFiltro, cFiltro))
lFat := !(&(cAlias)->(Eof()))
Else
&(cAlias)->(dbClearFilter())
EndIf
nContagem := 0
If lFat // Existe Filtro
&(cAlias)->(dbGoTop())
Count To nContagem
&(cAlias)->(dbGoTop())
Endif
cFiltros := 'Expressão: ' + cFiltro + CRLF + CRLF
For nFiltro := 1 To Len(oObjBrowse:OFWFILTER:AFILTER)
If oObjBrowse:OFWFILTER:AFILTER[nFiltro,6]
cFiltros += 'Filtro (' + Str(nFiltro,2) + ') ' + oObjBrowse:OFWFILTER:AFILTER[nFiltro][1] + CRLF
Endif
Next
Aviso("Filtros","Contagem Executado com os Filtros: "+CRLF+CRLF+cFiltros+CRLF+"Contagem do Filtro Atual: " + Str(nContagem,6) + " Registro(s) Contado(s)...",{"Ok"},3)
RestArea(aArea)
Return .t.
Ultima edição: 7 anos 9 meses atrás por admin.
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dicas e Informações
- Função Para Contar e Mostrar Numero de Registros Filtrados no Browse
Tempo para a criação da página:0.104 segundos