FAQs - Suporte técnico

MP - ADVPL - Salvar relatório Treport .PDF em diretório


Dúvida
Como podemos salvar relatório TReport em um diretório?

Ambiente
Protheus – ADVPL – A partir da versão 12

Solução

Os relatórios somente são impressos respeitando o diretório presente no parâmetro MV_RELT

Abaixo um exemplo que efetua a impressão via Job dentro da pasta SPOOL, pois meu parâmetro MV_RELT está definido esse diretório. 

#include "protheus.ch"
#include "rptdef.ch"

#define EMPRESA "99"
#define FILIAL "01"

//-------------------------------------------------------------------
//Chama a impressão de relatório em outra thread, ficando assim um
//job sem interface
//-------------------------------------------------------------------
function u_CallReport()
StartJob("u_mySED_Report", getEnvServer(), .T.)
return nil

//-------------------------------------------------------------------
//Função para testes da classe TReport, exportando PDF*/
//-------------------------------------------------------------------
function u_mySED_Report()
local oReport as object
local oSection as object
local cAlias as char
local cTitle as char
local cFile as char

rpcSetEnv(EMPRESA, FILIAL)

cAlias := "SED"
cTitle := "Naturezas"
cFile := "SED_Nat"
oReport := TReport():New(cFile, cTitle, /uParam/, {|oReport| oSection:print()} )
oSection := TRSection():New(oReport, cTitle, cAlias, /aOrder/, .T.)

oReport:setFile(cFile)
oReport:nDevice := IMP_PDF
oReport:printDialog(, cAlias)

FreeObj(oReport)
FreeObj(oSection)

rpcClearEnv()
return nil

Saiba mais
TReport

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

3 Comentários

  • Avatar
    antonio ferreira

    Ele exige que tenha o arquivo printer.exe no diretório do servidor Protheus. Conforme mensagem de erro abaixo:

    [WARN ][SERVER] [Thread 28012] TOTVS Printer: Printer Agent not found on Server path. Check if "c:\totvs\protheus\protheus\bin\appserver\printer.exe" file exists.

    0
    Ações de comentário Permalink
  • Avatar
    antonio ferreira

    Após copiar o printer.exe no servidor, ele não gera o pdf pelo startjob().

    No startjob() o Protheus não consegue executar o printer.exe, fora do startjob() ele cria o pdf sem problema.

    0
    Ações de comentário Permalink
  • Avatar
    LEOBERTO AUGUSTO MENDES

    Consegui gerar os arquivos pdf no servidor, via startjob com a seguinte parametrização:

     

    oRel:setFile(cNomeRel)

    oRel:cFile                := cNomeRel 
    oRel:nRemoteType := NO_REMOTE
    oRel:nDevice           := 6
    oRel:SetEnvironment(1)
            
    oRel:SetViewPDF(.F.)
    oRel:Print()
    0
    Ações de comentário Permalink
Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _