Versão atual:

Relatório em TReport não mostra os dados no relatório

Galera, já dei manutenção de ponta a ponta nesse fonte e debuguei todo, ele está exportando para os tipos de arquivos, mas não está trazendo nenhum dado no relatório, alguém passou por isso ou tem alguma dica para ajudar?

#Include "Totvs.ch" 
#Include "TopConn.ch"
#include "Report.ch"
/*{Protheus.doc} MTRFAT07
Pedido pendente de aprovação x aprovador
@author Tauani Vitória
@since  28/11/2023
@version 1.0
@type function
*/

User Function MTRFAT07()
    Local oReport := NIL 
    Local aPergs   := {} 
    Local aResps   := {} 
    Local dDataDe  := FirstDate(Date())
    Local dDataAt  := LastDate(Date())

    //Adicionando os parametros No ParamBox
    aAdd(aPergs, {1, "Data De",  dDataDe,  , , , , 80,  .F.})
    aAdd(aPergs, {1, "Data Até", dDataAt,  , , , , 80,  .T.})

    //cria o parambox
    If ParamBox(aPergs, 'Informe os parâmetros',@aResps, /*bOk*/, /*aButtons*/, /*lCentered*/, /*nPosx*/, /*nPosy*/, /*oDlgWizard*/, /*cLoad*/, .F., .F.)
        oReport := ReportDef(aResps)
        oReport:PrintDialog()
    EndIf

Return

/*/{Protheus.doc} ReportDef
Definições da estrutura - ReportDef
@author Tauani Vitória
@since 28/11/2023
@version 1.0
@type function
/*/

Static Function ReportDef(aResps)

    Local oSection  := Nil
    Local oReport   := Nil
    Local cAliasTop := ""
    Local cNomeArq  := "MTRFAT07"
    Local cTitulo   := "Pedidos Pendentes de Aprovacao"


    //Criacao do componente de impressao
    oReport := TReport():New(cNomeArq, cTitulo, "" ,{|oReport| PrintReport(oReport, @cAliasTop, aResps)})
    //Orientacao do Relatorio - paisagem
    oReport:SetLandscape()

    //Criando a secao de dados
    oSection := TRSection():New(oReport, cTitulo, {"SCR", "SC7", "SA2", "SF1"})

    //Colunas do relatorio
    //Clase de colunas, objetos da seção, nome do alias, tabela, nome da coluna, picture, tamanho do campo
    //TRCell():New(objeto da seção, 'nome do alias'    , 'tabela' , 'nome da coluna'  ,'picture', TamSX3('tamanho do campo')[1])
    TRCell():New(oSection, "DATADISPONIBILIZADA"        , cAliasTop , "Data Disponibilizada" , , , , {||(cAliasTop)->DATADISPONIBILIZADA})
    TRCell():New(oSection, "DATA_RECEBIMENTO"            , cAliasTop , "DATA_RECEBIMENTO"     , , , , {||(cAliasTop)->DATA_RECEBIMENTO})
    TRCell():New(oSection, "COD_FORNECEDOR"                , cAliasTop , "COD_FORNECEDOR"             , , , , {||(cAliasTop)->COD_FORNECEDOR})
    TRCell():New(oSection, "RAZAO_SOCIAL"                , cAliasTop , "RAZAO_SOCIAL"             , , , , {||(cAliasTop)->RAZAO_SOCIAL})
    TRCell():New(oSection, "NOTA"                        , cAliasTop , "NOTA"                  , , , , {||(cAliasTop)->NOTA})
    TRCell():New(oSection, "VALOR"                        , cAliasTop , "VALOR"                  , , , , {||(cAliasTop)->VALOR})
    TRCell():New(oSection, "NUM_PEDIDO"                    , cAliasTop , "NUM_PEDIDO"           , , , , {||(cAliasTop)->NUM_PEDIDO})
    TRCell():New(oSection, "APROVADOR"                    , cAliasTop , "APROVADOR"             , , , , {||(cAliasTop)->APROVADOR})    
    TRCell():New(oSection, "STATUS"                        , cAliasTop , "STATUS"                 , , , , {||(cAliasTop)->STATUS})    

Return oReport

/*/{Protheus.doc} PrintReport
Impressao do relatorio MTRFAT07
@author Tauani Vitória
@since 28/11/2023
@version 1.0
@type function
/*/

Static Function PrintReport(oReport, cAliasTop, aResps)
    Local oSection       := oReport:Section(1)
    Local cQryReport  := ""
    Local dDataDe     := aResps[1]
    Local dDataAt     := aResps[2]

    cQryReport := " SELECT " + CRLF
    cQryReport += " SC7.C7_EMISSAO AS DATA_DISPONIBILIZADA, "        + CRLF
    cQryReport += " SCR.CR_DATALIB AS DATA_RECEBIMENTO, "                    + CRLF
    cQryReport += " SA2.A2_NOME AS RAZAO_SOCIAL, "                            + CRLF
    cQryReport += " SC7.C7_FORNECE AS COD_FORNECEDOR, "                        + CRLF
    cQryReport += " SF1.F1_DOC AS NOTA, "                                    + CRLF
    cQryReport += " SCR.CR_TOTAL AS VALOR, "                                + CRLF
    cQryReport += " SCR.CR_NUM AS NUM_PEDIDO, "        + CRLF
    cQryReport += " USR.USR_NOME AS APROVADOR, "        + CRLF
    cQryReport += " SCR.CR_STATUS STATUS_APROV, "        + CRLF
    cQryReport += " CASE "        + CRLF
    cQryReport += " WHEN SCR.CR_STATUS = 1 THEN 'Aguardando nível anterior' "        + CRLF
    cQryReport += " WHEN SCR.CR_STATUS = 2 THEN 'Pendente' "        + CRLF
    cQryReport += " WHEN SCR.CR_STATUS = 3 THEN 'Liberado' "        + CRLF
    cQryReport += " WHEN SCR.CR_STATUS = 4 THEN 'Bloqueado' "        + CRLF
    cQryReport += " WHEN SCR.CR_STATUS = 5 THEN 'Liberado por outro aprovador' "        + CRLF
    cQryReport += " WHEN SCR.CR_STATUS = 6 THEN 'Rejeitado' "        + CRLF
    cQryReport += " WHEN SCR.CR_STATUS = 7 THEN 'Rejeitado/Bloqueado por outro aprovador' "        + CRLF
    cQryReport += " ELSE 'SEM STATUS' "        + CRLF
    cQryReport += " END as STATUS "        + CRLF
    cQryReport += " FROM " + RetSqlName("SC7")+" SC7"+ CRLF
    cQryReport += " INNER JOIN " + RetSqlName("SCR")  + " SCR ON SC7.C7_NUM = SCR.CR_NUM AND SC7.D_E_L_E_T_ = '' AND SCR.D_E_L_E_T_ ='' "        + CRLF
    cQryReport += " INNER JOIN " + RetSqlName("SA2") +" SA2 ON A2_COD = SC7.C7_FORNECE AND SA2.D_E_L_E_T_ = '' "        + CRLF
    cQryReport += " INNER JOIN SYS_USR USR ON USR.USR_ID = SCR.CR_USER AND USR.D_E_L_E_T_ = '' "        + CRLF
    cQryReport += " INNER JOIN " + RetSqlName("SF1")  +" SF1 ON SF1.F1_FORNECE = SC7.C7_FORNECE AND SF1.F1_LOJA =  SC7.C7_LOJA AND SF1.D_E_L_E_T_ = '' "        + CRLF
    cQryReport += " WHERE SCR.CR_STATUS IN ('2', '3')"     + CRLF 
    cQryReport += " AND SC7.C7_EMISSAO BETWEEN '" + DToS(dDataDe) + "'  AND '"+ DToS(dDataAt) +"'" + CRLF
    cAliasTop  := MPSysOpenQuery(cQryReport)

    oSection:Init()

    While (cAliasTop)->(!EOF())
        oSection:PrintLine()
        (cAliasTop)->(DBSkip())
    ENDDO

    (cAliasTop)->(DBCloseArea())

    oSection:Finish()

Return

Versão (1):

Ver a versão formatada

Relatório em TReport não mostra os dados no relatório

Comentário

new question