- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- treport - relatorios juntando empresas
×
Linguagem de Programação ADVPL
Perguntas treport - relatorios juntando empresas
- Edilaine
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 147
- Obrigados Recebidos: 0
10 anos 11 meses atrás #18867
por Edilaine
treport - relatorios juntando empresas foi criado por Edilaine
Pessoal , estou estudando como fazer relatorios em treport. e Alguem saberia me informar como junto as empresas (01 ,02) no relatorio ? para que eu nao tenha que sair do siga e emitir 02 relatorios?
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
10 anos 11 meses atrás #18868
por kanaamlrr
Respondido por kanaamlrr no tópico treport - relatorios juntando empresas
Edilaine, como você está fazendo a extração dos dados do relatório?
Está utilizando uma query ou puxando diretamente das tabelas?
Se for query, basta não utilizar filtro de filial, caso contrário, você pode realizar um Loop nas filiais dentro do seu sigamat (tabela SM0) e dentro dele ir buscando as informações nas tabelas de acordo com os filtros de realtório.
Está utilizando uma query ou puxando diretamente das tabelas?
Se for query, basta não utilizar filtro de filial, caso contrário, você pode realizar um Loop nas filiais dentro do seu sigamat (tabela SM0) e dentro dele ir buscando as informações nas tabelas de acordo com os filtros de realtório.
Por favor Acessar ou Registrar para participar da conversa.
- Edilaine
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 147
- Obrigados Recebidos: 0
10 anos 11 meses atrás #18869
por Edilaine
Respondido por Edilaine no tópico treport - relatorios juntando empresas
Faço uma query, por exemplo: quero e se1 de todas empresas ( 01,02,03) no exemplo abaixo esta sa1, mas é se1 que vou fazer.
SELECT A1_COD, A1_NOME, A1_MUN, A1_EST
FROM %Table:SA1% SA1
WHERE A1_COD BETWEEN %Exp:MV_PAR01% AND %Exp:MV_PAR02%
SELECT A1_COD, A1_NOME, A1_MUN, A1_EST
FROM %Table:SA1% SA1
WHERE A1_COD BETWEEN %Exp:MV_PAR01% AND %Exp:MV_PAR02%
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
- Edilaine
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 147
- Obrigados Recebidos: 0
10 anos 11 meses atrás #18886
por Edilaine
Respondido por Edilaine no tópico treport - relatorios juntando empresas
Ola.. fiz e ele roda apenas para a empresa que estou logada no protheus.
desculpe estou ainda começando a usar o treport. agradeço a ajuda
/*BEGINDOC
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Exemplo de relatorio usando tReport com uma Section
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ENDDOC*/
user function RELJUR
local oReport
local cPerg := 'RELJR'
local cAlias := getNextAlias()
criaSx1(cPerg)
Pergunte(cPerg, .F.)
oReport := reportDef(cAlias, cPerg)
oReport:printDialog()
return
//+
+
//! Rotina para montagem dos dados do relatório. !
//+
+
Static Function ReportPrint(oReport,cAlias)
local oSecao1 := oReport:Section(1)
oSecao1:BeginQuery()
BeginSQL Alias cAlias
SELECT E1_PREFIXO, E1_NUM,E1_PARCELA,E1_CLIENTE,E1_NOMCLI, E1_VENCREA,E1_SALDO,E1_SITUACA,E1_OBSCOB
FROM %Table:SE1% SE1
WHERE E1_VENCREA BETWEEN %Exp:MV_PAR01% AND %Exp:MV_PAR02%
AND E1_SALDO > '0' AND E1_OBSCOB Like '%JURIDICO%'
EndSQL
oSecao1:EndQuery()
oReport:SetMeter((cAlias)->(RecCount()))
oSecao1:Print()
return
//+
+
//! Função para criação da estrutura do relatório. !
//+
+
Static Function ReportDef(cAlias,cPerg)
local cTitle := "Relatório de Clientes Caso Juridico"
local cHelp := "Permite gerar relatório de clientes caso juridico."
local oReport
local oSection1
oReport := TReport():New('RELJUR',cTitle,cPerg,{|oReport|ReportPrint(oReport,cAlias)},cHelp)
//Primeira seção
oSection1 := TRSection():New(oReport,"Titulos",{"SE1"})
TRCell():New(oSection1,"E1_PREFIXO" , "SE1", "Prefixo")
TRCell():New(oSection1,"E1_NUM" , "SE1", "Nr")
TRCell():New(oSection1,"E1_PARCELA" , "SE1", "Parc")
TRCell():New(oSection1,"E1_CLIENTE" , "SE1", "Cod")
TRCell():New(oSection1,"E1_NOMCLI" , "SE1", "Nome")
TRCell():New(oSection1,"E1_VENCREA" , "SE1", "Venc")
TRCell():New(oSection1,"E1_SALDO" , "SE1", "Saldo")
TRCell():New(oSection1,"E1_SITUACA" , "SE1", "Sit")
TRCell():New(oSection1,"E1_OBSCOB" , "SE1", "Obs")
Return(oReport)
//+
+
//! Função para criação das perguntas (se não existirem) !
//+
+
static function criaSX1(cPerg)
putSx1(cPerg, '01', 'Data de?' , '', '', 'mv_ch1', 'D', 8 , 0, 0, 'G', '', '' , '', '', 'mv_par01')
putSx1(cPerg, '02', 'Data até?' , '', '', 'mv_ch2', 'D', 8 , 0, 0, 'G', '', '' , '', '', 'mv_par01')
return
desculpe estou ainda começando a usar o treport. agradeço a ajuda
/*BEGINDOC
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Exemplo de relatorio usando tReport com uma Section
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ENDDOC*/
user function RELJUR
local oReport
local cPerg := 'RELJR'
local cAlias := getNextAlias()
criaSx1(cPerg)
Pergunte(cPerg, .F.)
oReport := reportDef(cAlias, cPerg)
oReport:printDialog()
return
//+
+
//! Rotina para montagem dos dados do relatório. !
//+
+
Static Function ReportPrint(oReport,cAlias)
local oSecao1 := oReport:Section(1)
oSecao1:BeginQuery()
BeginSQL Alias cAlias
SELECT E1_PREFIXO, E1_NUM,E1_PARCELA,E1_CLIENTE,E1_NOMCLI, E1_VENCREA,E1_SALDO,E1_SITUACA,E1_OBSCOB
FROM %Table:SE1% SE1
WHERE E1_VENCREA BETWEEN %Exp:MV_PAR01% AND %Exp:MV_PAR02%
AND E1_SALDO > '0' AND E1_OBSCOB Like '%JURIDICO%'
EndSQL
oSecao1:EndQuery()
oReport:SetMeter((cAlias)->(RecCount()))
oSecao1:Print()
return
//+
+
//! Função para criação da estrutura do relatório. !
//+
+
Static Function ReportDef(cAlias,cPerg)
local cTitle := "Relatório de Clientes Caso Juridico"
local cHelp := "Permite gerar relatório de clientes caso juridico."
local oReport
local oSection1
oReport := TReport():New('RELJUR',cTitle,cPerg,{|oReport|ReportPrint(oReport,cAlias)},cHelp)
//Primeira seção
oSection1 := TRSection():New(oReport,"Titulos",{"SE1"})
TRCell():New(oSection1,"E1_PREFIXO" , "SE1", "Prefixo")
TRCell():New(oSection1,"E1_NUM" , "SE1", "Nr")
TRCell():New(oSection1,"E1_PARCELA" , "SE1", "Parc")
TRCell():New(oSection1,"E1_CLIENTE" , "SE1", "Cod")
TRCell():New(oSection1,"E1_NOMCLI" , "SE1", "Nome")
TRCell():New(oSection1,"E1_VENCREA" , "SE1", "Venc")
TRCell():New(oSection1,"E1_SALDO" , "SE1", "Saldo")
TRCell():New(oSection1,"E1_SITUACA" , "SE1", "Sit")
TRCell():New(oSection1,"E1_OBSCOB" , "SE1", "Obs")
Return(oReport)
//+
+
//! Função para criação das perguntas (se não existirem) !
//+
+
static function criaSX1(cPerg)
putSx1(cPerg, '01', 'Data de?' , '', '', 'mv_ch1', 'D', 8 , 0, 0, 'G', '', '' , '', '', 'mv_par01')
putSx1(cPerg, '02', 'Data até?' , '', '', 'mv_ch2', 'D', 8 , 0, 0, 'G', '', '' , '', '', 'mv_par01')
return
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
10 anos 11 meses atrás #18888
por kanaamlrr
Respondido por kanaamlrr no tópico treport - relatorios juntando empresas
Edilane, no seu banco de dados sua tabela SE1 está com o campo FILIAL preenchido como?
A sintaxe está correta, mas estou achando estranho ele estar trazendo os dados apenas de uma filial.
No banco é a tabela SE1010 com várias filiais dentro dela ou são tabelas distintas SE1010, SE1020, etc..?
Se forem distintas, seria melhor utilizar QueryString ao invés de Embedded SQL, pois dessa forma você conseguiria fazer um UNION ALL com todas as tabelas.
A sintaxe está correta, mas estou achando estranho ele estar trazendo os dados apenas de uma filial.
No banco é a tabela SE1010 com várias filiais dentro dela ou são tabelas distintas SE1010, SE1020, etc..?
Se forem distintas, seria melhor utilizar QueryString ao invés de Embedded SQL, pois dessa forma você conseguiria fazer um UNION ALL com todas as tabelas.
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- treport - relatorios juntando empresas
Tempo para a criação da página:0.114 segundos