- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Tela avançada de filtros para relatórios[RESOLVIDO]
×
Linguagem de Programação ADVPL
Perguntas Tela avançada de filtros para relatórios[RESOLVIDO]
- armando.lima
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 23
- Obrigados Recebidos: 0
9 anos 9 meses atrás - 8 anos 4 meses atrás #27177
por armando.lima
Tela avançada de filtros para relatórios[RESOLVIDO] foi criado por armando.lima
Olá amigos, tudo bem?
Alguém tem um exemplo bem simples de como fazer essa tela de filtragem de dados para a geração de um relatório?
Segue anexo.
Fico no aguardo!
Armando.
Alguém tem um exemplo bem simples de como fazer essa tela de filtragem de dados para a geração de um relatório?
Segue anexo.
Fico no aguardo!
Armando.
Ultima edição: 8 anos 4 meses atrás por armando.lima.
Por favor Acessar ou Registrar para participar da conversa.
- armando.lima
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 23
- Obrigados Recebidos: 0
9 anos 6 meses atrás - 8 anos 4 meses atrás #28170
por armando.lima
Respondido por armando.lima no tópico Tela avançada de filtros para relatórios [RESOLVIDO]
Pessoal, descobri como fazer a tela.
A responsável por tudo isso é a função f_opcoes.
Dá uma olhada:
Agora basta chamar essa função fTipoSit na validação da pergunta que vai funfar legal.
Boa sorte!
Att, Armando.
A responsável por tudo isso é a função f_opcoes.
Dá uma olhada:
/*
+-------------------------------------------------------------------------------+
| PROGRAMA: fTipoSit | AUTOR: Armando Lima | DATA: 25/02/2015 |
+-------------------------------------------------------------------------------+
| DESCRIÇÃO: Função para abrir uma tela com todos os tipos de situações de |
| colaboradores e disponibilizar um checkbox para escolhê-los. |
+-------------------------------------------------------------------------------+
| USO: ValidPerg |
+-------------------------------------------------------------------------------+
*/
User Function fTipoSit(l1Elem,lTipoRet)
Local cTitulo := "Tipos de Situação"
Local MvPar
Local MvParDef := ""
Private aSit := {}
ASIZE(aSit,0)
l1Elem := If (l1Elem = Nil , .F. , .T.)
DEFAULT lTipoRet := .T.
cAlias := Alias() // Salva Alias Anterior
IF lTipoRet
MvPar:=&(Alltrim(ReadVar())) // Carrega Nome da Variavel do Get em Questao
mvRet:=Alltrim(ReadVar()) // Iguala Nome da Variavel ao Nome variavel de Retorno
EndIF
//Percorre tabela genérica '31' onde estão todas as situações e carregá-las no vetor que será utilizado na tela do f_Opcoes
dbSelectArea("SX5")
SX5->(dbSeek(xFilial("SX5")+"31"))
While SX5->(X5_FILIAL+X5_TABELA)==xFilial("SX5")+"31"
MvParDef += If(AllTrim(X5_CHAVE)==""," ",AllTrim(X5_CHAVE))
Aadd(aSit,If(AllTrim(X5_CHAVE)==""," ",AllTrim(X5_CHAVE)) + " - " + AllTrim(X5_DESCRI))
SX5->(dbSkip())
EndDo
IF lTipoRet
IF f_Opcoes(@MvPar,cTitulo,aSit,MvParDef,12,49,l1Elem) // Chama funcao f_Opcoes
&MvRet := mvpar // Devolve Resultado
EndIF
EndIF
dbSelectArea(cAlias) // Retorna Alias
Return ( IF( lTipoRet , .T. , MvParDef ) )
Agora basta chamar essa função fTipoSit na validação da pergunta que vai funfar legal.
Boa sorte!
Att, Armando.
Ultima edição: 8 anos 4 meses atrás por armando.lima. Razão: Encerrar tópico
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Tela avançada de filtros para relatórios[RESOLVIDO]
Tempo para a criação da página:0.100 segundos