- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Funções AdvPL
- relatório com parametro de data
Perguntas relatório com parametro de data
- daniMiranda
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 3
- Obrigados Recebidos: 0
9 anos 4 meses atrás #28606
por daniMiranda
relatório com parametro de data foi criado por daniMiranda
Bom dia amigos.
estou com um problema para que meu relatório, no momento que eu digitara data apareça o calendário para selecionar (aparece uma consulta padrão de compras). já tentei utilizar Dtos, Dtoc e nada:
o relatório é o font abaixo:
//**************************************************************************************
#include "PROTHEUS.ch"
User Function tRepFis_1()
Local oReport
//Criando o grupo de pergunta
CriaPerg()
//Carregando os dados da pergunta
Pergunte("QUALDATA",.F.) //carrega o x1 e grava na memoria
//Chando a Função para criar a estrutura do relatorio
oReport := ReportDef()
//Imprimindo o Relatorio
oReport:PrintDialog()
Return( Nil )
//***********************************************************************************************************************************
Static Function ReportDef()
Local oReport
Local oSection
Local oBreak
// Criando a o Objeto
oReport := TReport():New("APURACAO","RELATORIO ENTRADAS","QUALDATA",{|oReport| PrintReport(oReport)},"APURAÇÃO ENTRADAS PRODEPE")
oSection := TRSection():New(oReport,"APURACAO ICMS e IPI",{"SD1"} )
TRCell():New(oSection,"D1_DTDIGIT" , "SD1")
TRCell():New(oSection,"D1_DOC" , "SD1")
TRCell():New(oSection,"D1_COD" , "SD1")
TRCell():New(oSection,"B1_DESC" , "SB1")
TRCell():New(oSection,"D1_CLASFIS" , "SD1")
TRCell():New(oSection,"B1_POSIPI" , "SB1")
TRCell():New(oSection,"A1_EST" , "SA1")
TRCell():New(oSection,"B5_CODAPU" , "SB5")
TRCell():New(oSection,"APURACAO" , "SB5")
TRCell():New(oSection,"B5_CODAPU" , "SB5")
TRCell():New(oSection,"D1_SERIE" , "SD1")
TRCell():New(oSection,"D1_MODELO" , "SD1")
TRCell():New(oSection,"D1_TES" , "SD1")
TRCell():New(oSection,"D1_CF" , "SD1")
TRCell():New(oSection,"D1_QUANT" , "SD1")
TRCell():New(oSection,"D1_TOTAL" , "SD1")
TRCell():New(oSection,"D1_PICM" , "SD1")
TRCell():New(oSection,"D1_BASEICM" , "SD1")
TRCell():New(oSection,"D1_VALICM" , "SD1")
TRCell():New(oSection,"D1_IPI" , "SD1")
TRCell():New(oSection,"D1_VALIPI" , "SD1")
TRCell():New(oSection,"D1_VALFRE" , "SD1")
TRCell():New(oSection,"D1_MARGEM" , "SD1")
TRCell():New(oSection,"D1_BRICMS" , "SD1")
TRCell():New(oSection,"D1_ICMSRET" , "SD1")
TRCell():New(oSection,"D1_DESC" , "SD1")
TRCell():New(oSection,"D1_DESPESA" , "SD1")
TRCell():New(oSection,"D1_SEGURO" , "SD1")
// Quebra por Vendedor
//oBreak := TRBreak():New(oSection,oSection:Cell("A1_VEND"),"Sub Total Vendedores")
//Fazendo a contagem por codigo
// TRFunction():New(oSection:Cell("A1_COD" ), NIL, "COUNT", oBreak)
Return ( oReport )
//*******************************************************************************************
Static Function PrintReport(oReport)
Local oSection := oReport:Section(1)
Local dpart := date()
//Local dDate := cPart
oSection:BeginQuery()
dPart := "% AND D1_DTDIGIT >= '" + MV_PAR01 + "' "
dPart := " AND D1_DTDIGIT <= '" + MV_PAR02 + "' %"
//cPart := "%%"
BeginSql alias "QRYSD1"
//column D1_DTDIGIT as Date
select D1_DTDIGIT,
D1_DOC,
D1_COD,
B1_DESC,
D1_CLASFIS,
B1_POSIPI,
A1_EST,
B5_CODAPU,
CASE WHEN B5_CODAPU = '02' THEN 'INCENTIVO_REVENDA'
WHEN B5_CODAPU = '01' THEN 'NAO_INCENTIVADO'
WHEN B5_CODAPU = '03' THEN 'INCENTIVADO' ELSE '-' END AS APURACAO,
D1_SERIE,
D1_MODELO,
D1_TES,
D1_CF,
D1_QUANT,
D1_TOTAL,
D1_PICM ,
D1_BASEICM,
D1_VALICM,
D1_IPI ,
D1_VALIPI,
D1_VALFRE,
D1_MARGEM,
D1_BRICMS,
D1_ICMSRET,
D1_DESC,
D1_DESPESA,
D1_SEGURO
from %Table:SD1% LEFT OUTER JOIN %Table:SB1% ON (B1_COD = D1_COD)
LEFT OUTER JOIN %Table:SB5% ON (B5_COD = B1_COD AND B5.D_E_L_E_T_ <> '*')
LEFT OUTER JOIN %Table:SA1% (A1_COD = D1_FORNECE )
WHERE D1.D_E_L_E_T_ <> '*'
AND B1.D_E_L_E_T_ <> '*'
AND B5.D_E_L_E_T_ <> '*'
AND D1_FILIAL = %xFilial:SD1%
%exp:cPart%
ORDER BY D1_DTDIGIT
EndSql
aRetSql := GetLastQuery()
//memowrite("C:\sql.txt",aRetSql[2])
oSection:EndQuery()
oSection:Print()
Return( Nil )
//=====================================================================================================================
Static Function CriaPerg()
cPerg:= "QUALDATA"
//Criação de pergunta no arquivo SX1
//PutSX1(cGrupo,cOrdem,cPergunt ,cPergSpa,cPergEng,cVar ,cTipo,nTamanho,nDecimal,nPreSel,cGSC,cValid,cF3 ,cGrpSXG, [ cPyme], < cVar01>, [ cDef01], [ cDefSpa1], [ cDefEng1], [ cCnt01], [ cDef02], [ cDefSpa2], [ cDefEng2], [ cDef03], [ cDefSpa3], [ cDefEng3], [ cDef04], [ cDefSpa4], [ cDefEng4], [ cDef05], [ cDefSpa5], [ cDefEng5], [ aHelpPor], [ aHelpEng], [ aHelpSpa], [ cHelp] )
PutSx1( cPerg,"01", "Data Digit. de " ,"" ,"" ,"mv_ch1","D" ,8 ,0 ,0 ,"G" ,"" ,"SD1","" ,"","MV_PAR01","","","","","","","","","","","","","","","","",{""},{""},{""},"")
PutSx1( cPerg,"02", "Data Digit. Até" ,"" ,"" ,"mv_ch2","D" ,8 ,0 ,0 ,"G","","SD1","","","MV_PAR02","","","","","","","","","","","","","","","","",{""},{""},{""},"")
Return()
//************************************************************************************************
estou com um problema para que meu relatório, no momento que eu digitara data apareça o calendário para selecionar (aparece uma consulta padrão de compras). já tentei utilizar Dtos, Dtoc e nada:
o relatório é o font abaixo:
//**************************************************************************************
#include "PROTHEUS.ch"
User Function tRepFis_1()
Local oReport
//Criando o grupo de pergunta
CriaPerg()
//Carregando os dados da pergunta
Pergunte("QUALDATA",.F.) //carrega o x1 e grava na memoria
//Chando a Função para criar a estrutura do relatorio
oReport := ReportDef()
//Imprimindo o Relatorio
oReport:PrintDialog()
Return( Nil )
//***********************************************************************************************************************************
Static Function ReportDef()
Local oReport
Local oSection
Local oBreak
// Criando a o Objeto
oReport := TReport():New("APURACAO","RELATORIO ENTRADAS","QUALDATA",{|oReport| PrintReport(oReport)},"APURAÇÃO ENTRADAS PRODEPE")
oSection := TRSection():New(oReport,"APURACAO ICMS e IPI",{"SD1"} )
TRCell():New(oSection,"D1_DTDIGIT" , "SD1")
TRCell():New(oSection,"D1_DOC" , "SD1")
TRCell():New(oSection,"D1_COD" , "SD1")
TRCell():New(oSection,"B1_DESC" , "SB1")
TRCell():New(oSection,"D1_CLASFIS" , "SD1")
TRCell():New(oSection,"B1_POSIPI" , "SB1")
TRCell():New(oSection,"A1_EST" , "SA1")
TRCell():New(oSection,"B5_CODAPU" , "SB5")
TRCell():New(oSection,"APURACAO" , "SB5")
TRCell():New(oSection,"B5_CODAPU" , "SB5")
TRCell():New(oSection,"D1_SERIE" , "SD1")
TRCell():New(oSection,"D1_MODELO" , "SD1")
TRCell():New(oSection,"D1_TES" , "SD1")
TRCell():New(oSection,"D1_CF" , "SD1")
TRCell():New(oSection,"D1_QUANT" , "SD1")
TRCell():New(oSection,"D1_TOTAL" , "SD1")
TRCell():New(oSection,"D1_PICM" , "SD1")
TRCell():New(oSection,"D1_BASEICM" , "SD1")
TRCell():New(oSection,"D1_VALICM" , "SD1")
TRCell():New(oSection,"D1_IPI" , "SD1")
TRCell():New(oSection,"D1_VALIPI" , "SD1")
TRCell():New(oSection,"D1_VALFRE" , "SD1")
TRCell():New(oSection,"D1_MARGEM" , "SD1")
TRCell():New(oSection,"D1_BRICMS" , "SD1")
TRCell():New(oSection,"D1_ICMSRET" , "SD1")
TRCell():New(oSection,"D1_DESC" , "SD1")
TRCell():New(oSection,"D1_DESPESA" , "SD1")
TRCell():New(oSection,"D1_SEGURO" , "SD1")
// Quebra por Vendedor
//oBreak := TRBreak():New(oSection,oSection:Cell("A1_VEND"),"Sub Total Vendedores")
//Fazendo a contagem por codigo
// TRFunction():New(oSection:Cell("A1_COD" ), NIL, "COUNT", oBreak)
Return ( oReport )
//*******************************************************************************************
Static Function PrintReport(oReport)
Local oSection := oReport:Section(1)
Local dpart := date()
//Local dDate := cPart
oSection:BeginQuery()
dPart := "% AND D1_DTDIGIT >= '" + MV_PAR01 + "' "
dPart := " AND D1_DTDIGIT <= '" + MV_PAR02 + "' %"
//cPart := "%%"
BeginSql alias "QRYSD1"
//column D1_DTDIGIT as Date
select D1_DTDIGIT,
D1_DOC,
D1_COD,
B1_DESC,
D1_CLASFIS,
B1_POSIPI,
A1_EST,
B5_CODAPU,
CASE WHEN B5_CODAPU = '02' THEN 'INCENTIVO_REVENDA'
WHEN B5_CODAPU = '01' THEN 'NAO_INCENTIVADO'
WHEN B5_CODAPU = '03' THEN 'INCENTIVADO' ELSE '-' END AS APURACAO,
D1_SERIE,
D1_MODELO,
D1_TES,
D1_CF,
D1_QUANT,
D1_TOTAL,
D1_PICM ,
D1_BASEICM,
D1_VALICM,
D1_IPI ,
D1_VALIPI,
D1_VALFRE,
D1_MARGEM,
D1_BRICMS,
D1_ICMSRET,
D1_DESC,
D1_DESPESA,
D1_SEGURO
from %Table:SD1% LEFT OUTER JOIN %Table:SB1% ON (B1_COD = D1_COD)
LEFT OUTER JOIN %Table:SB5% ON (B5_COD = B1_COD AND B5.D_E_L_E_T_ <> '*')
LEFT OUTER JOIN %Table:SA1% (A1_COD = D1_FORNECE )
WHERE D1.D_E_L_E_T_ <> '*'
AND B1.D_E_L_E_T_ <> '*'
AND B5.D_E_L_E_T_ <> '*'
AND D1_FILIAL = %xFilial:SD1%
%exp:cPart%
ORDER BY D1_DTDIGIT
EndSql
aRetSql := GetLastQuery()
//memowrite("C:\sql.txt",aRetSql[2])
oSection:EndQuery()
oSection:Print()
Return( Nil )
//=====================================================================================================================
Static Function CriaPerg()
cPerg:= "QUALDATA"
//Criação de pergunta no arquivo SX1
//PutSX1(cGrupo,cOrdem,cPergunt ,cPergSpa,cPergEng,cVar ,cTipo,nTamanho,nDecimal,nPreSel,cGSC,cValid,cF3 ,cGrpSXG, [ cPyme], < cVar01>, [ cDef01], [ cDefSpa1], [ cDefEng1], [ cCnt01], [ cDef02], [ cDefSpa2], [ cDefEng2], [ cDef03], [ cDefSpa3], [ cDefEng3], [ cDef04], [ cDefSpa4], [ cDefEng4], [ cDef05], [ cDefSpa5], [ cDefEng5], [ aHelpPor], [ aHelpEng], [ aHelpSpa], [ cHelp] )
PutSx1( cPerg,"01", "Data Digit. de " ,"" ,"" ,"mv_ch1","D" ,8 ,0 ,0 ,"G" ,"" ,"SD1","" ,"","MV_PAR01","","","","","","","","","","","","","","","","",{""},{""},{""},"")
PutSx1( cPerg,"02", "Data Digit. Até" ,"" ,"" ,"mv_ch2","D" ,8 ,0 ,0 ,"G","","SD1","","","MV_PAR02","","","","","","","","","","","","","","","","",{""},{""},{""},"")
Return()
//************************************************************************************************
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
9 anos 4 meses atrás #28607
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico relatório com parametro de data
Danielle bom dia, apague o grupo de perguntas criado na sx1 (QUALDATA)
e altere no fonte eliminando no vetor o alias SD1, deixe apenas ""
//Criação de pergunta no arquivo SX1
//PutSX1(cGrupo,cOrdem,cPergunt ,cPergSpa,cPergEng,cVar ,cTipo,nTamanho,nDecimal,nPreSel,cGSC,cValid,cF3 ,cGrpSXG, [ cPyme], < cVar01>, [ cDef01], [ cDefSpa1], [ cDefEng1], [ cCnt01], [ cDef02], [ cDefSpa2], [ cDefEng2], [ cDef03], [ cDefSpa3], [ cDefEng3], [ cDef04], [ cDefSpa4], [ cDefEng4], [ cDef05], [ cDefSpa5], [ cDefEng5], [ aHelpPor], [ aHelpEng], [ aHelpSpa], [ cHelp] )
PutSx1( cPerg,"01", "Data Digit. de " ,"" ,"" ,"mv_ch1","D" ,8 ,0 ,0 ,"G" ,"" ,"SD1","" ,"","MV_PAR01","","","","","","","","","","","","","","","","",{""},{""},{""},"")
PutSx1( cPerg,"02", "Data Digit. Até" ,"" ,"" ,"mv_ch2","D" ,8 ,0 ,0 ,"G","","SD1","","","MV_PAR02","","","","","","","","","","","","","","","","",{""},{""},{""},"")
Return()
e altere no fonte eliminando no vetor o alias SD1, deixe apenas ""
//Criação de pergunta no arquivo SX1
//PutSX1(cGrupo,cOrdem,cPergunt ,cPergSpa,cPergEng,cVar ,cTipo,nTamanho,nDecimal,nPreSel,cGSC,cValid,cF3 ,cGrpSXG, [ cPyme], < cVar01>, [ cDef01], [ cDefSpa1], [ cDefEng1], [ cCnt01], [ cDef02], [ cDefSpa2], [ cDefEng2], [ cDef03], [ cDefSpa3], [ cDefEng3], [ cDef04], [ cDefSpa4], [ cDefEng4], [ cDef05], [ cDefSpa5], [ cDefEng5], [ aHelpPor], [ aHelpEng], [ aHelpSpa], [ cHelp] )
PutSx1( cPerg,"01", "Data Digit. de " ,"" ,"" ,"mv_ch1","D" ,8 ,0 ,0 ,"G" ,"" ,"SD1","" ,"","MV_PAR01","","","","","","","","","","","","","","","","",{""},{""},{""},"")
PutSx1( cPerg,"02", "Data Digit. Até" ,"" ,"" ,"mv_ch2","D" ,8 ,0 ,0 ,"G","","SD1","","","MV_PAR02","","","","","","","","","","","","","","","","",{""},{""},{""},"")
Return()
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- daniMiranda
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 3
- Obrigados Recebidos: 0
9 anos 4 meses atrás #28608
por daniMiranda
Respondido por daniMiranda no tópico relatório com parametro de data
Luiz, muito obrigada pelo breve retorno, porém apaguei e não funcionou. quando eu vou digitar a data nos parâmetros (o filtro de data), não aparece o calendário e sim uma consulta padrão.
veja este print em anexo.
veja este print em anexo.
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
9 anos 4 meses atrás #28610
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico relatório com parametro de data
Danielle lá no vetor aonde vc cria as perguntas, aonde esta "SD1" troca por "" esse é o problema, apague a pergunta novamente na sx1, altere o fonte conforme mencionei acima, compile novamente, ai verá que irá aparecer o calendário ok.
Abraços
Abraços
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- daniMiranda
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 3
- Obrigados Recebidos: 0
9 anos 4 meses atrás #28612
por daniMiranda
Respondido por daniMiranda no tópico relatório com parametro de data
FUNCIONOU!!!! UHULLLLLL!!!!
Luiz muito obrigada. Fiz o curso avançado de ADVPL recentemente e já desenvolvi alguns relatórios, mas com Data é o primeiro.
Que bom que podemos contar com pessoas como você, pois meus amigos desde ontem não me responderam.
(acho que não são amigos) rsrsrsrs
Atc,
Danielle.
Luiz muito obrigada. Fiz o curso avançado de ADVPL recentemente e já desenvolvi alguns relatórios, mas com Data é o primeiro.
Que bom que podemos contar com pessoas como você, pois meus amigos desde ontem não me responderam.
(acho que não são amigos) rsrsrsrs
Atc,
Danielle.
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
9 anos 4 meses atrás #28615
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico relatório com parametro de data
Legal Dani conte com a galera aqui do masteradvpl e divulgue o site aos amigos e não amigos ahahah.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Funções AdvPL
- relatório com parametro de data
Tempo para a criação da página:0.138 segundos