Advpl: Como definir o local do arquivo PDF gerado pela classe TREPORT, executada sem interface gráfica (via schedule)

Olá pessoal,

Com base nesta publicação ( https://centraldeatendimento.totvs.com/hc/pt-br/articles/360021601812-MP-ADVPL-SALVAR-RELAT%C3%93RIO-TREPORT-VIA-JOB ) criei um relatório pra ser agendado no Schedule do Protheus, para gerar o relatório em PDF e enviar por e-mail.

Diferente da publicação, ao invés de usar startjob() estou usando

RPCSetType(3)
RpcSetEnv("01","01",,,"FAT","U_TPDFM1") //Abertura do ambiente em rotinas automáticas

Na publicação vemos as seguintes atribuições:

oReport:nRemoteType := NO_REMOTE        // FORMA DE GERAÇÃO DO RELATÓRIO
oReport:nDevice     := 8                // ENVIO DE .PDF VIA E-MAIL
oReport:cEmail      := "meuemail@dominio.com" // DESTINATÁRIO
oReport:SetReportPortal("Nome_do_arquivo") // DEFINE O NOME DO RELATÓRIO

Ocorre que toda vez executo tal rotina via VSCODE, surge a pergunta se desejo sobrescrever o arquivo Nome_do_arquivo.PDF já existente em minha pasta de arquivos temporários. Interessante que em oReport:SetReportPortal() não informei o local, apenas o nome que deve ser salvo o PDF.

Por falta de documentação no TDN que esclareça isso, alguém sabe informar como posso sobrescrever automaticamente tal arquivo ? Ou talvez remover ele ? Como estou executando via VSCODE, ele cria o arquivo em minha pasta de arquivos temporários, como dito acima. Mas se eu colocar no Schedule, acredito que ele irá criar em outro local.Penso em usar o File() pra verificar a existência. Caso exista, excluo com Ferase(). Mas aí é que está: como saber o lugar onde está sendo salvo o arquivo. Há como eu definir isso ? Tentei colocar uma pasta antes do nome do arquivo em oReport:SetReportPortal(), mas não funcionou. Acabou abrindo uma interface de escolha de pasta para salvar o arquivo. Como quero executar via schedule este relatório, isso não "funfará", né!?

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

4 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags treport pdf email protheus advpl ou faça a sua própria pergunta.