PERGUNTAS E RESPOSTAS
 
Bem Vindo, Visitante  Todos os Fórums
  ADVPL
Enviar para a impressoraImprimir  Enviar e-mail para um amigoEnviar Para um Amigo
Precisa estar Logado

Subject Assunto:
Erro type mismatch on + on TReport
Versão:
12.1.17
Plataforma:
Microsoft
Complemento:
DB:
SQL Server
Complemento:
erro_treport.txt (anexo)
LinkedIn
Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário EWERTONMUN EWERTONMUN em 03/04/2019, 08:11 h
Local: PE  Registro: 24/01/2017  Postagens: 4
Prezados,

Estou com erro na geração de um TReport:


THREAD ERROR ([10924] )   02/04/2019 16:58:59
type mismatch on + on TRSECTION:SETQUERY(REPORT02.PRW) 01/03/2019 16:49:28 line : 1690

[TOTVS build: 7.00.131227A-20190114 NG]
Called from TRSECTION:SETQUERY(REPORT02.PRW) 01/03/2019 16:49:28 line : 1690
Called from TRSECTION:ENDQUERY(REPORT02.PRW) 01/03/2019 16:49:28 line : 2373
Called from PRINTREPORT(IARHR01.PRW) 11/12/2018 21:14:16 line : 173
Called from {|oReport| PrintReport(oReport)}(IARHR01.PRW) 11/12/2018 21:14:16 line : 173
Called from {|| Iif(Self:Init(),(lAction := Eval(Self:bAction,Self),Self:Finish()),lOk:= .F. ),lEnd := .T. ,oDlg:End()}(REPORT01.PRW) 01/03/2019 16:49:28 line : 173
Called from ::MSDIALOG:ACTIVATE line : 173
Called from TREPORT:PRINT(REPORT01.PRW) 01/03/2019 16:49:28 line : 2017
Called from TREPORT:PRINTDIALOG(REPORT01.PRW) 01/03/2019 16:49:28 line : 3261
Called from U_IARHR01(IARHR01.PRW) 11/12/2018 21:14:16 line : 33
Called from SIGAIXB(APLIB190.PRW) 01/03/2019 16:49:26 line : 231
Called from __EXECUTE(APLIB090.PRW) 01/03/2019 16:49:26 line : 614
Called from MDIEXECUTE(APLIB260.PRW) 01/03/2019 16:49:26 line : 877
Called from STATICCALL(APLIB260.PRW) 01/03/2019 16:49:26 line : 877

[TOTVS Environment: homologa]
[TOTVS Environment RPODB: SQL]
[TOTVS Environment Trace: Nenhum]
[TOTVS Environment IBXLog: Nenhum]
[TOTVS Environment KillStack: Nenhum]
[TOTVS Environment TraceStack: Nenhum]
[TOTVS Environment SpecialKey: Nenhum]
[TOTVS Environment LocalFiles: CTREE]
[TOTVS Environment LogProfiler: Nenhum]
[TOTVS Environment TopMemoMega: 1]
[TOTVS Environment RPOLanguage: Portuguese]
[TOTVS Environment RegionalLanguage: BRA]
[TOTVS Environment LocalDBExtension: Nenhum]
[TOTVS Environment ConnectionTimeOut: Nenhum]
[TOTVS Environment General CTreeMode: Nenhum]
[TOTVS Environment General ConsoleLog: Nenhum]
[TOTVS Environment General ConsoleFile: Nenhum]
[TOTVS Environment General MaxQuerySize: Nenhum]
[TOTVS Environment General MaxStringSize: Nenhum]
[TOTVS Remote Lib: QT-4.5.2 WIN]
[TOTVS Remote type: Microsoft Windows]
[TOTVS Remote Build: 7.00.131227A-20180618]
[TOTVS Server Type: Console]
[TOTVS Server Build: 7.00.131227A-20190114 NG]
[TOTVS Server Version: 13.2.3.41]
[TOTVS Server 64 bits: Não]
[TOTVS Server Unix: Não]
[TOTVS DBAccess DB: MSSQL]
[TOTVS DBAccess API Build: 20171117-20180412]
[TOTVS DBAccess Build: 20180606]
[TOTVS DBAccess Type: WinNT (x64)]
[TOTVS Framework Versão: 20190131]
[TOTVS Framework Date: 20190301_164854]
[TOTVS Framework Commit: 64a4588e6b352ff4d7f80e648bcbe7198247e3ea]
[TOTVS RPO Release: 12.1.017]
[TOTVS License Server Version: License 2014]

Publicas
Public 1: CPAISLOC(C) :BRA
Public 2: LWSISPORTAL(L) :.F.
Public 3: OAPP(O) :O
Public 4: HELP(L) :.F.
Public 5: USIGAADV(L) :.F.
Public 6: CACESSO(C)


Fonte do Relatório:
#INCLUDE "Topconn.ch"
#INCLUDE "Protheus.ch"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³IARHR01   ºAutor ³ Jubirajara Souza   º Data ³ 19/01/2018 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc.     ³ Relatorio Sefip FGTS                                                   º±±
±±º          ³                                                            º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso       ³ AcademiaERP                                                º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
User Function IARHR01()
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Declaracao de variaveis                   ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Private oReport := Nil
Private oSecCab      := Nil
Private cPerg       := PadR ("IARHR01", Len (SX1->X1_GRUPO))
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Criacao e apresentacao das perguntas      ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
PutSx1(cPerg,"01","Periodo (MMAAAA)?" ,‘‘,‘‘,"mv_ch1","C",6 ,0,,"G","","","","","mv_par01","","","","","","","","","","","","","","","","")
//PutSx1(cPerg,"02","Código ate?" ,‘‘,‘‘,"mv_ch2","C",TamSx3 ("B1_COD")[1] ,0,,"G","","SB1","","","mv_par02","","","","","","","","","","","","","","","","")
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Definicoes/preparacao para impressao      ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ReportDef()
oReport     :PrintDialog()     

Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ReportDef ºAutor ³ Vinícius Moreira   º Data ³ 21/10/2013 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc.     ³ Definição da estrutura do relatório.                      º±±
±±º          ³                                                            º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso       ³                                                            º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
Static Function ReportDef()

oReport := TReport():New("IARHR01","FGTS MES",cPerg,{|oReport| PrintReport(oReport)},"Impressão Planilha FGTS.")
oReport:SetLandscape(.T.)

oSecCab := TRSection():New( oReport , "FGTS FOLHA", {"QRY"} )
TRCell():New( oSecCab, "BASE_FOL_INDETERMINADO"           , "QRY")
TRCell():New( oSecCab, "BASE_FOL13_INDETERMINADO"    , "QRY")
TRCell():New( oSecCab, "FGTS_INDETERMINADO"              , "QRY")

TRCell():New( oSecCab, "BASE_FOL_DETERMINADO"      , "QRY")
TRCell():New( oSecCab, "BASE_FOL13_DETERMINADO"    , "QRY")
TRCell():New( oSecCab, "FGTS_DETERMINADO"               , "QRY")

//TRFunction():New(/*Cell*/             ,/*cId*/,/*Function*/,/*oBreak*/,/*cTitle*/,/*cPicture*/,/*uFormula*/,/*lEndSection*/,/*lEndReport*/,/*lEndPage*/,/*Section*/)
TRFunction():New(oSecCab:Cell("BASE_FOL_INDETERMINADO"),/*cId*/,"SUM"     ,/*oBreak*/,/*cTitle*/,/*cPicture*/,/*uFormula*/,.F.           ,.T.           ,.F.        ,oSecCab)
TRFunction():New(oSecCab:Cell("BASE_FOL13_INDETERMINADO"),/*cId*/,"SUM"     ,/*oBreak*/,/*cTitle*/,/*cPicture*/,/*uFormula*/,.F.           ,.T.           ,.F.        ,oSecCab)
TRFunction():New(oSecCab:Cell("FGTS_INDETERMINADO"),/*cId*/,"SUM"     ,/*oBreak*/,/*cTitle*/,/*cPicture*/,/*uFormula*/,.F.           ,.T.           ,.F.        ,oSecCab)

TRFunction():New(oSecCab:Cell("BASE_FOL_DETERMINADO"),/*cId*/,"SUM"     ,/*oBreak*/,/*cTitle*/,/*cPicture*/,/*uFormula*/,.F.           ,.T.           ,.F.        ,oSecCab)
TRFunction():New(oSecCab:Cell("BASE_FOL13_DETERMINADO"),/*cId*/,"SUM"     ,/*oBreak*/,/*cTitle*/,/*cPicture*/,/*uFormula*/,.F.           ,.T.           ,.F.        ,oSecCab)
TRFunction():New(oSecCab:Cell("FGTS_DETERMINADO"),/*cId*/,"SUM"     ,/*oBreak*/,/*cTitle*/,/*cPicture*/,/*uFormula*/,.F.           ,.T.           ,.F.        ,oSecCab)

Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³RCOMR01   ºAutor ³ Vinícius Moreira   º Data ³ 21/10/2013 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc.     ³                                                            º±±
±±º          ³                                                            º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso       ³                                                            º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
Static Function PrintReport(oReport)

Local cQuery     := ""

Pergunte(cPerg,.F.)
cCompetFolha := alltrim(getmv("MV_FOLMES"))
cAnoMes   := substr(mv_par01,3,4)+substr(mv_par01,1,2)
lMesAtual := (cCompetFolha=cAnoMes)
cQuery := " select SRD.RD_CC,CTT.CTT_DESC01, "
cQuery += "     SUM(CASE WHEN SRD.RD_PD=‘715‘ and SRA.RA_TPCONTR=‘1‘ "
cQuery += "          THEN SRD.RD_VALOR else 0 end ) ‘BASE_FOL_INDETERMINADO‘, "
cQuery += "     SUM(CASE WHEN SRD.RD_PD=‘720‘ and SRA.RA_TPCONTR=‘1‘   "
cQuery += "          THEN SRD.RD_VALOR else 0 end ) ‘BASE_FOL13_INDETERMINADO‘, "
cQuery += "     SUM(CASE WHEN SRD.RD_PD in(‘716‘,‘721‘) and SRA.RA_TPCONTR=‘1‘ "
cQuery += "              THEN SRD.RD_VALOR else 0 end ) FGTS_INDETERMINADO, "
cQuery += "          SUM(CASE WHEN SRD.RD_PD=‘715‘ and SRA.RA_TPCONTR=‘2‘ "
cQuery += "               THEN SRD.RD_VALOR else 0 end ) ‘BASE_FOL_DETERMINADO‘,   "
cQuery += "          SUM(CASE WHEN SRD.RD_PD=‘720‘ and SRA.RA_TPCONTR=‘2‘        "
cQuery += "               THEN SRD.RD_VALOR else 0 end ) ‘BASE_FOL13_DETERMINADO‘, "
cQuery += "          SUM(CASE WHEN SRD.RD_PD in(‘716‘,‘721‘) and SRA.RA_TPCONTR=‘2‘ "
cQuery += "               THEN SRD.RD_VALOR else 0 end ) FGTS_DETERMINADO "
cQuery += " FROM " + RetSqlName("SRA") + " AS SRA   "
cQuery += "          JOIN " + RetSqlName("CTT") + " AS CTT ON RA_CC = CTT_CUSTO "
cQuery += "          JOIN " + RetSqlName("CTT") + " AS SRD ON RD_MAT = RA_MAT
cQuery += " WHERE RA_NOME BETWEEN ‘A‘ AND ‘Z‘   "
cQuery += " ANd RA_CATFUNC = ‘M‘ "
//--AND (RA_SITFOLH = ‘‘ OR RA_SITFOLH = ‘F‘ OR RA_SITFOLH = ‘A‘)
if lMesAtual
     cQuery += " AND (left(SRC.RC_DATA,6) =‘" + mv_par01 + "‘ or left(SRC.RC_DATA,6) =‘" + SUBSTR(mv_par01,3,4) +"13‘) "
else
     cQuery += " AND (left(SRD.RD_DATARQ,6) =‘" + mv_par01 + "‘ or left(SRD.RD_DATARQ,6) =‘" + SUBSTR(mv_par01,3,4) + "13‘) "
endif
cQuery += " AND SRA.D_E_L_E_T_=‘‘ "
cQuery += " AND CTT.D_E_L_E_T_=‘‘ "
cQuery += " AND SRD.D_E_L_E_T_=‘‘ "
cQuery += " group BY SRD.RD_CC, CTT.CTT_DESC01 "
cQuery += " order BY SRD.RD_CC, CTT.CTT_DESC01 "
cQuery := ChangeQuery(cQuery)
cQuery := STRTRAN(cQuery,"RD","RC")


If Select("QRY") > 0
     Dbselectarea("QRY")
     QRY->(DbClosearea())
EndIf

TcQuery cQuery New Alias "QRY"

oSecCab:BeginQuery()
oSecCab:EndQuery({{"QRY"},cQuery})    
oSecCab:Print()

Return Nil

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário INFOBRENO INFOBRENO em 03/04/2019, 11:14 h
Local: MT  Registro: 02/03/2011  Postagens: 117
Porque está transformando tudo que for RD em RC na sua query ?
cQuery := STRTRAN(cQuery,"RD","RC")
até seu order BY será alterado para ORCER, dá uma olhada melhor

cQuery += "JOIN "+RetSqlName("CTT")+" AS SRD ON RD_MAT = RA_MAT , aqui você está dando um JOIN na CTT E comparando a SRD ?

fiz essas correções aqui e o relatório está ok.

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário EWERTONMUN EWERTONMUN em 03/04/2019, 12:17 h
Local: PE  Registro: 24/01/2017  Postagens: 4
Breno,

Eu preciso pegar informações do movimento fechado e o movimento aberto, então eu necessito das informações das duas tabelas.

Pode me informar as correções que realizou?

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário THIAGOANDR THIAGOANDR em 03/04/2019, 15:37 h
Local: SP  Registro: 26/06/2014  Postagens: 31
Ewerton da forma que esta tentando fazer com StrTran de RD para RC acho que não vai rolar..

Não conseguir montar nada via SQl, a saida mais rapida que sei que funciona, é você criar 2 Sections direto no Treport e em cada uma vc Seleciona uma Tabela.

Segue modelo.

@thiago.andrrade

#include "protheus.ch"
#include "fivewin.ch"
#include "report.ch"
#INCLUDE "TOPCONN.CH"

//=================================================================================
/*/{Protheus.doc} FTRLNDEV
Relatorio de NFs NÃO devolvidas

@type          function
@author     Thiago.Andrrade
@since          17/09/2015
@version     1.0
@obs          Fiscal     |     xxxxxx     | Chamado: XXXXX          
/*/
//=================================================================================

User Function FTRLNDEV()

Local oReport


Private cPerg := "FTNDEV"


If TRepInUse()
     //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
     //³ Verifica as perguntas selecionadas                           ³
     //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
     Pergunte(cPerg,.F.)
     //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
     //³ Variaveis utilizadas para parametros                         ³
     //³ mv_par01            // Da Data                               ³
     //³ mv_par02            // Até Data                             ³
     //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
     oReport := ReportDef()
     oReport:SetPortrait()
     oReport:PrintDialog()
     oReport:EndPage(.T.)
EndIf
Return

//=================================================================================
/*/{Protheus.doc} FTRLNDEV
Relatorio de NFs NÃO devolvidas

@type          function
@author     Thiago.Andrrade
@since          17/09/2015
@version     1.0
@obs          Fiscal     |     xxxxxx     | Chamado: XXXXX          
/*/
//=================================================================================
Static Function ReportDef()

Private oReport
Private oSection1
Private oBreak


oReport := TReport():New("FTRLNDEV","Relatorio de NFs NÃO devolvidas",cPerg,{|oReport| PrintReport(oReport)},"Relatorio de NFs NÃO devolvidas")
oReport:SetPortrait()
Pergunte(cPerg)

oSection1 := TRSection():New(oReport,"Relatorio de NFs NÃO devolvidas","QRY001")
oSection1:SetPageBreak(.T.)
TRCell():New(oSection1,"FILIAL"            ,"QRY001"," Filial ",,5,.F.,,,,"Left")
TRCell():New(oSection1,"DOC_SAIDA"        ,"QRY001"," Nf.Saida ",,9,.F.,,,,"LEFT")     
TRCell():New(oSection1,"SERIE_SAIDA"        ,"QRY001"," Serie.S ",,9,.F.,,,,"LEFT")
TRCell():New(oSection1,"CLIFORN"          ,"QRY001"," Cli/Forn ",,9,.F.,,,,"LEFT")   
TRCell():New(oSection1,"LOJA"       ,"QRY001"," Loja    ",,5,.F.,,,,"LEFT")
TRCell():New(oSection1,"DT_SAIDA"       ,"QRY001"," DT.Saida   ",,12,.F.,,,,"LEFT")
TRCell():New(oSection1,"CF_SAIDA"       ,"QRY001"," CF.Saida ",,10,.F.,,,,"LEFT")
TRCell():New(oSection1,"PRODUTO"       ,"QRY001"," Produto   ",,15,.F.,,,,"LEFT")
TRCell():New(oSection1,"QUANT_SAIDA"       ,"QRY001"," Quant.Saida ",,15,.F.,,,,"LEFT")
TRCell():New(oSection1,"QUANT_ENTRADA"       ,"QRY001"," Quant.Entrada ",,15,.F.,,,,"LEFT")
TRCell():New(oSection1,"DOC_ENTRADA"       ,"QRY001"," NF.Entrada ",,9,.F.,,,,"LEFT")
TRCell():New(oSection1,"DT_ENTRADA"       ,"QRY001"," DT.Entrada ",,12,.F.,,,,"LEFT")

//SECTION 2
oSection2 := TRSection():New(oReport,"Entrada sem NF.Original","QRY002")
oSection2:SetPageBreak(.F.)
TRCell():New(oSection2,"FILIAL"            ,"QRY002"," Filial ",,5,.F.,,,,"Left")
TRCell():New(oSection2,"DOC_ENTR"        ,"QRY002"," Nf.Entrada ",,9,.F.,,,,"LEFT")     
TRCell():New(oSection2,"SERIE_ENTR"        ,"QRY002"," Serie. ",,9,.F.,,,,"LEFT")
TRCell():New(oSection2,"CLIFORN"          ,"QRY002"," Cli/Forn ",,9,.F.,,,,"LEFT")   
TRCell():New(oSection2,"LOJA"       ,"QRY002"," Loja    ",,5,.F.,,,,"LEFT")
TRCell():New(oSection2,"DT_ENTR"       ,"QRY002"," DT.Entrada   ",,12,.F.,,,,"LEFT")
TRCell():New(oSection2,"CF_ENTR"       ,"QRY002"," CF.Entrada ",,10,.F.,,,,"LEFT")
TRCell():New(oSection2,"PRODUTO"       ,"QRY002"," Produto   ",,15,.F.,,,,"LEFT")
TRCell():New(oSection2,"QUANT_ENTR"       ,"QRY002"," Quant.Entrada ",,15,.F.,,,,"LEFT")
TRCell():New(oSection2,"NFORI"       ,"QRY002"," NF.Original ",,9,.F.,,,,"LEFT")


//TRFunction():New(oSection2:Cell("DOC_SAIDA"),NIL,"COUNT",,,,,.F.,.T.)

oReport:SetTotalInLine(.F.)

oSection1:SetPageBreak(.T.)
oSection1:SetTotalText(" ")          


Return oReport

//=================================================================================
/*/{Protheus.doc} FTRLNDEV
Relatorio de NFs NÃO devolvidas

@type          function
@author     Thiago.Andrrade
@since          17/09/2015
@version     1.0
@obs          Fiscal     |     xxxxxx     | Chamado: XXXXX          
/*/
//=================================================================================

Static Function PrintReport(oReport)

Private oSection1 := oReport:Section(1)
Private oSection2 := oReport:Section(2)


Private aVendas := {}                  
Private cFiltro := ""
Private cQuery := ""            
//==============================================
// Seleciona Faturamento X Dias
oSection1:Init()
oSection1:BeginQuery()                                       
Processa({|| PegaRegis() },"Relatorio de NFs NÃO devolvidas")
DBSELECTAREA("QRY001")
DbGoTop()
While !Eof()    
     If QUANT_ENTRADA <> QUANT_SAIDA            
      oSection1:PrintLine()
     Endif
     DbSkip()
End
oSection1:Finish()

//==============================================
// Seleciona Faturamento X Dias
oSection2:Init()
oSection2:BeginQuery()                                       
Processa({|| PegaRegis2() },"Entrada sem NF.Original")
DBSELECTAREA("QRY002")
DbGoTop()
While !Eof()              
     oSection2:PrintLine()
     DbSkip()
End
oSection2:Finish()



Return   

//=================================================================================
/*/{Protheus.doc} FTRLNDEV
Relatorio de NFs NÃO devolvidas

@type          function
@author     Thiago.Andrrade
@since          17/09/2015
@version     1.0
@obs          Fiscal     |     xxxxxx     | Chamado: XXXXX          
/*/
//=================================================================================

// SELECIONA SRC AQUIIIIII
Static Function PegaRegis()

If Select("QRY001") > 0
     QRY001->(DbCloseArea())
EndIF

cQuery := " SELECT D2_FILIAL[FILIAL],D2_DOC[DOC_SAIDA], D2_SERIE[SERIE_SAIDA], D2_CLIENTE[CLIFORN], D2_LOJA[LOJA] "
cQuery += " ,D2_EMISSAO[DT_SAIDA], D2_CF[CF_SAIDA], D2_COD[PRODUTO], D2_QUANT[QUANT_SAIDA] "
cQuery += " ,QUANT_ENTRADA = (SELECT TOP 1 D1_QUANT FROM SD1010 WHERE D2_FILIAL = D1_FILIAL AND D2_DOC = D1_NFORI AND D2_SERIE = D1_SERIORI AND D2_CLIENTE = D1_FORNECE AND D1_LOJA = D2_LOJA AND D2_COD = D1_COD AND SD1010.D_E_L_E_T_ <>‘*‘ AND D1_FILIAL =‘02‘ AND D1_CF IN (‘1902‘,‘1903‘,‘2902‘,‘2903‘) AND D1_EMISSAO >= GETDATE () -"+mv_par01+") "
cQuery += " ,DOC_ENTRADA = (SELECT TOP 1 D1_DOC FROM SD1010 WHERE D2_FILIAL = D1_FILIAL AND D2_DOC = D1_NFORI AND D2_SERIE = D1_SERIORI AND D2_CLIENTE = D1_FORNECE AND D1_LOJA = D2_LOJA AND D2_COD = D1_COD AND SD1010.D_E_L_E_T_ <>‘*‘ AND D1_FILIAL =‘02‘ AND D1_CF IN (‘1902‘,‘1903‘,‘2902‘,‘2903‘) AND D1_EMISSAO >= GETDATE () -"+mv_par01+") "                                         
cQuery += " ,DT_ENTRADA = (SELECT TOP 1 D1_EMISSAO FROM SD1010 WHERE D2_FILIAL = D1_FILIAL AND D2_DOC = D1_NFORI AND D2_SERIE = D1_SERIORI AND D2_CLIENTE = D1_FORNECE AND D1_LOJA = D2_LOJA AND D2_COD = D1_COD AND SD1010.D_E_L_E_T_ <>‘*‘ AND D1_FILIAL =‘02‘ AND D1_CF IN (‘1902‘,‘1903‘,‘2902‘,‘2903‘) AND D1_EMISSAO >= GETDATE () -"+mv_par01+") "
cQuery += " ,MENNOTA = (SELECT TOP 1 C5_MENNOTA FROM SC5010 WHERE C5_FILIAL = D2_FILIAL AND C5_NOTA = D2_DOC AND C5_CLIENTE = D2_CLIENTE AND C5_LOJACLI = D2_LOJA AND SC5010.D_E_L_E_T_ <>‘*‘) "
cQuery += " FROM SD2010 "
cQuery += " WHERE D2_CF IN (‘5901‘,‘6901‘) "
cQuery += " AND D2_EMISSAO >= GETDATE () - "+mv_par01+" "
cQuery += " AND SD2010.D_E_L_E_T_ <>‘*‘ "
cQuery += " AND D2_FILIAL =‘02‘ "
cQuery += " ORDER BY DOC_ENTRADA, D2_DOC, D2_SERIE, D2_COD "

TCQUERY cQUERY NEW ALIAS "QRY001"
TCSETFIELD("QRY001","DT_SAIDA","D")
TCSETFIELD("QRY001","DT_ENTRADA","D")

Return

// SELECIONA SRD AQUIIIIII
Static Function PegaRegis2()

If Select("QRY002") > 0
     QRY002->(DbCloseArea())
EndIF


cQuery := " SELECT D1_FILIAL[FILIAL],D1_DOC[DOC_ENTR], D1_SERIE[SERIE_ENTR], D1_FORNECE[CLIFORN], D1_LOJA[LOJA] "
cQuery += " ,D1_EMISSAO[DT_ENTR], D1_CF[CF_SAIDA], D1_COD[PRODUTO], D1_QUANT[QUANT_ENTR], D1_NFORI[NFORI] "
cQuery += " FROM SD1010 WHERE D1_TES =‘147‘ "
cQuery += " AND D1_EMISSAO >= GETDATE () - "+mv_par01+" "
cQuery += " AND D_E_L_E_T_ <>‘*‘ "
cQuery += " ORDER BY D1_NFORI, D1_DOC "

TCQUERY cQUERY NEW ALIAS "QRY002"
TCSETFIELD("QRY002","DT_ENTR","D")


Return

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário THIAGOANDR THIAGOANDR em 03/04/2019, 16:03 h
Local: SP  Registro: 26/06/2014  Postagens: 31
Consegui montar algo em SQL..

Segue base para montar sua query, mas lembre se de tirar seu StrTran..

@thiago.andrrade

--

SELECT *
FROM (
      SELECT
           ‘SRC‘ [XTABELA],
           RC_PERIODO AS PERIODO,
           RC_MAT AS MATRICULA,
           RC_PD AS VERBA,
           CCUSTO = (SELECT CTT_DESC01 FROM CTT100 WHERE RC.RC_CC = CTT_CUSTO AND D_E_L_E_T_ <>‘*‘ )
           FROM
                SRC100 AS RC
           WHERE
               RC.RC_PERIODO > ‘201901‘
               AND RC.D_E_L_E_T_ <>‘*‘
      UNION ALL
      SELECT
            ‘SRD‘ [XTABELA],
            RD_PERIODO AS PERIODO,
            RD_MAT AS MATRICULA,
            RD_PD AS VERBA,
            CCUSTO = (SELECT CTT_DESC01 FROM CTT100 WHERE RD.RD_CC = CTT_CUSTO AND D_E_L_E_T_ <>‘*‘ )
            FROM
                 SRD100 AS RD
            WHERE
                 RD.RD_PERIODO > ‘201811‘
                 AND RD.D_E_L_E_T_ <>‘*‘
     ) QRX1
ORDER BY QRX1.PERIODO

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário INFOBRENO INFOBRENO em 04/04/2019, 09:32 h
Local: MT  Registro: 02/03/2011  Postagens: 117
#INCLUDE "Topconn.ch"
#INCLUDE "Protheus.ch"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³IARHR01   ºAutor ³ Jubirajara Souza   º Data ³ 19/01/2018 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc.     ³ Relatorio Sefip FGTS                                       º±±
±±º          ³                                                            º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso       ³ AcademiaERP                                                º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
User Function IARHR01()
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Declaracao de variaveis                   ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Private oReport      := Nil
Private oSecCab     := Nil
Private cPerg       := "IARHR01"

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Criacao e apresentacao das perguntas      ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

AjustaSX1(cPerg)
Pergunte(cPerg,.F.)

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Definicoes/preparacao para impressao      ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ReportDef()
oReport     :PrintDialog()      

Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ReportDef ºAutor ³ Vinícius Moreira   º Data ³ 21/10/2013 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc.     ³ Definição da estrutura do relatório.                      º±±
±±º          ³                                                            º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso       ³                                                            º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
Static Function ReportDef()

oReport := TReport():New("IARHR01","FGTS MES",cPerg,{|oReport| PrintReport(oReport)},"Impressão Planilha FGTS.")
oReport:SetLandscape(.T.)

oSecCab := TRSection():New( oReport , "FGTS FOLHA", {"QRY"} )
TRCell():New( oSecCab, "BASE_FOL_INDETERMINADO"           , "QRY")
TRCell():New( oSecCab, "BASE_FOL13_INDETERMINADO"    , "QRY")
TRCell():New( oSecCab, "FGTS_INDETERMINADO"              , "QRY")

TRCell():New( oSecCab, "BASE_FOL_DETERMINADO"      , "QRY")
TRCell():New( oSecCab, "BASE_FOL13_DETERMINADO"    , "QRY")
TRCell():New( oSecCab, "FGTS_DETERMINADO"               , "QRY")

//TRFunction():New(/*Cell*/             ,/*cId*/,/*Function*/,/*oBreak*/,/*cTitle*/,/*cPicture*/,/*uFormula*/,/*lEndSection*/,/*lEndReport*/,/*lEndPage*/,/*Section*/)
TRFunction():New(oSecCab:Cell("BASE_FOL_INDETERMINADO"),/*cId*/,"SUM"     ,/*oBreak*/,/*cTitle*/,/*cPicture*/,/*uFormula*/,.F.           ,.T.           ,.F.        ,oSecCab)
TRFunction():New(oSecCab:Cell("BASE_FOL13_INDETERMINADO"),/*cId*/,"SUM"     ,/*oBreak*/,/*cTitle*/,/*cPicture*/,/*uFormula*/,.F.           ,.T.           ,.F.        ,oSecCab)
TRFunction():New(oSecCab:Cell("FGTS_INDETERMINADO"),/*cId*/,"SUM"     ,/*oBreak*/,/*cTitle*/,/*cPicture*/,/*uFormula*/,.F.           ,.T.           ,.F.        ,oSecCab)

TRFunction():New(oSecCab:Cell("BASE_FOL_DETERMINADO"),/*cId*/,"SUM"     ,/*oBreak*/,/*cTitle*/,/*cPicture*/,/*uFormula*/,.F.           ,.T.           ,.F.        ,oSecCab)
TRFunction():New(oSecCab:Cell("BASE_FOL13_DETERMINADO"),/*cId*/,"SUM"     ,/*oBreak*/,/*cTitle*/,/*cPicture*/,/*uFormula*/,.F.           ,.T.           ,.F.        ,oSecCab)
TRFunction():New(oSecCab:Cell("FGTS_DETERMINADO"),/*cId*/,"SUM"     ,/*oBreak*/,/*cTitle*/,/*cPicture*/,/*uFormula*/,.F.           ,.T.           ,.F.        ,oSecCab)

Return Nil
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³RCOMR01   ºAutor ³ Vinícius Moreira   º Data ³ 21/10/2013 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc.     ³                                                            º±±
±±º          ³                                                            º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso       ³                                                            º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
Static Function PrintReport(oReport)

Local cQuery     := ""

Pergunte(cPerg,.F.)
cCompetFolha := alltrim(getmv("MV_FOLMES"))
cAnoMes   := substr(mv_par01,3,4)+substr(mv_par01,1,2)
lMesAtual := (cCompetFolha=cAnoMes)
cQuery := " select SRD.RD_CC,CTT.CTT_DESC01, "
cQuery += "     SUM(CASE WHEN SRD.RD_PD=‘715‘ and SRA.RA_TPCONTR=‘1‘ "
cQuery += "          THEN SRD.RD_VALOR else 0 end ) ‘BASE_FOL_INDETERMINADO‘, "
cQuery += "     SUM(CASE WHEN SRD.RD_PD=‘720‘ and SRA.RA_TPCONTR=‘1‘   "
cQuery += "          THEN SRD.RD_VALOR else 0 end ) ‘BASE_FOL13_INDETERMINADO‘, "
cQuery += "     SUM(CASE WHEN SRD.RD_PD in(‘716‘,‘721‘) and SRA.RA_TPCONTR=‘1‘ "
cQuery += "              THEN SRD.RD_VALOR else 0 end ) FGTS_INDETERMINADO, "
cQuery += "          SUM(CASE WHEN SRD.RD_PD=‘715‘ and SRA.RA_TPCONTR=‘2‘ "
cQuery += "               THEN SRD.RD_VALOR else 0 end ) ‘BASE_FOL_DETERMINADO‘,   "
cQuery += "          SUM(CASE WHEN SRD.RD_PD=‘720‘ and SRA.RA_TPCONTR=‘2‘        "
cQuery += "               THEN SRD.RD_VALOR else 0 end ) ‘BASE_FOL13_DETERMINADO‘, "
cQuery += "          SUM(CASE WHEN SRD.RD_PD in(‘716‘,‘721‘) and SRA.RA_TPCONTR=‘2‘ "
cQuery += "               THEN SRD.RD_VALOR else 0 end ) FGTS_DETERMINADO "
cQuery += " FROM " + RetSqlName("SRA") + " AS SRA   "
cQuery += "          JOIN " + RetSqlName("CTT") + " AS CTT ON RA_CC = CTT_CUSTO "
cQuery += "          JOIN " + RetSqlName("SRD") + " AS SRD ON RD_MAT = RA_MAT
cQuery += " WHERE RA_NOME BETWEEN ‘A‘ AND ‘Z‘   "
cQuery += " ANd RA_CATFUNC = ‘M‘ "
if lMesAtual
     cQuery += " AND (left(SRC.RC_DATA,6) =‘" + mv_par01 + "‘ or left(SRC.RC_DATA,6) =‘" + SUBSTR(mv_par01,3,4) +"13‘) "
else
     cQuery += " AND (left(SRD.RD_DATARQ,6) =‘" + mv_par01 + "‘ or left(SRD.RD_DATARQ,6) =‘" + SUBSTR(mv_par01,3,4) + "13‘) "
endif
cQuery += " AND SRA.D_E_L_E_T_ <> ‘*‘ "
cQuery += " AND CTT.D_E_L_E_T_ <> ‘*‘ "
cQuery += " AND SRD.D_E_L_E_T_ <> ‘*‘ "
cQuery += " GROUP BY SRD.RD_CC, CTT.CTT_DESC01 "
cQuery += " ORDER BY SRD.RD_CC, CTT.CTT_DESC01 "

cQuery := ChangeQuery(cQuery)
//cQuery := STRTRAN(cQuery,"RD","RC") // AQUI EU COMENTEI POIS ACREDITO ESTAR ERRADO, ESSA FUNCAO PEGA TODO O SEU TEXTO E VERIFICA ONDE TEM "RD" E TROCA PARA "RC"
                                              // MAS FAZENDO ASSIM ELE VAI TROCAR ATE O COMANDO O‘RD‘ER PARA O‘RC‘ER     

If Select("QRY") > 0
     Dbselectarea("QRY")
     QRY->(DbClosearea())
EndIf

TcQuery cQuery New Alias "QRY"

oSecCab:BeginQuery()
oSecCab:EndQuery({{"QRY"},cQuery})     
oSecCab:Print()
Return Nil

// COMO NAO TENHO A PERGUNTA VOU CRIAR UTILIZANDO UMA ROTINA MINHA .
Static Function ajustaSx1(cPerg)
     Local aHelpPor := {}
     dbSelectArea( ‘SX1‘ )
     dbSetOrder( 1 )
     cValid   := ""
     cF3      := ""
     cPicture := ""
     cDef01   := ""
     cDef02   := ""
     cDef03   := ""
     cDef04   := ""
     cDef05   := ""

     u_CriaPerg(cPerg,"01","Perido (MMAAAA) ?"     ,"MV_PAR01","MV_CH1","C",06,0,"G",cValid,"",cPicture,cDef01,cDef02,cDef03,cDef04, cDef05,"")

//PutSx1(cPerg,"01","Periodo (MMAAAA)?" ,'','',"mv_ch1","C",6 ,0,,"G","","","","","mv_par01","","","","","","","","","","","","","","","","")

Return

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário INFOBRENO INFOBRENO em 04/04/2019, 09:33 h
Local: MT  Registro: 02/03/2011  Postagens: 117
Ou para ficar melhor faça como nosso amigo THIAGOANDR falou,
faça uma Query utilizando o UNION.

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário INFOBRENO INFOBRENO em 04/04/2019, 09:35 h
Local: MT  Registro: 02/03/2011  Postagens: 117
THIAGOANDR, posso copiar esse fonte seu ? estou precisando de um relatório desse aqui na empresa.

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário EWERTONMUN EWERTONMUN em 04/04/2019, 10:49 h
Local: PE  Registro: 24/01/2017  Postagens: 4
Breno,

Pode usar sim o relatório, se quiser eu tenho dos outros impostos também que posso te repassar.

Mais o problema meu ainda persiste, mesmo com essa tua alteração.

Sem mais,
Ewerton Muniz

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário THIAGOANDR THIAGOANDR em 04/04/2019, 13:12 h
Local: SP  Registro: 26/06/2014  Postagens: 31
INFOBRENO, pode usar sim !
---------------------------------------------
EWERTONMUN se vc seguir uma das 2 opções que te dei você vai conseguir..


A mais facil é a do Treport com 2 seções, onde em cada seção vc colocaram uma Tabela, SRD, SRc

@thiago.andrrade

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário EWERTONMUN EWERTONMUN em 04/04/2019, 14:07 h
Local: PE  Registro: 24/01/2017  Postagens: 4
Thiago, Boa Tarde!

A minha bronca com TReport não está interligado ao STRTRAN, pois tenho outros relatório que estão apresentando o mesmo erro, e eles não contém o STRTRAN.

Todos eles apresentam a mensagem no type mismatch on + on TRSECTION:SETQUERY(REPORT02.PRW).

Sem mais,
Ewerton Muniz

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário INFOBRENO INFOBRENO em 05/04/2019, 15:37 h
Local: MT  Registro: 02/03/2011  Postagens: 117
Ewerton passei por isso uma vez é era include corrompido, me passa um desses que diz nao ter o strtran para eu verificar pra você.

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário INFOBRENO INFOBRENO em 08/04/2019, 08:52 h
Local: MT  Registro: 02/03/2011  Postagens: 117
Ewerton
informe essa include no seu relatório e testa

#INCLUDE "REPORT.CH"

Breno Nogueira

Para postar no Fórum você precisa efetuar o seu login ou se registrar

 Mudar para Fórum

 

 

 
 
   
Pagina Principal Shopping PROTHEUS Tire suas duvidas Vagas Microsiga em todo Brasil Aprofunde seus conhecimentos Noticias Online Fale Conosco Pagina Principal