Versão atual:

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é!?

Versão (1):

Ver a versão formatada

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

Comentário

new question