Bom Dia,
Estou tentando gerar o pdf via FWMSPRINTER a partir de um job. Se nao utilizo o file2printer(), gera somente o .rel. Se utilizo o file2printer(), o server gera o seguinte erro - Invalid file2Printer() client call in JOB. at file d:\bamboo\xml-data\build-dir\tp11-of19310-tecxwin64\interface\srvfunctions.inl line 4972
Alguma outra função para gerar o .pdf?
Obs - o printer.exe está no server e utilizei todas as dicas de outros tópicos para quando só gera o .rel.
Olá Eduardo, adicionei alguns trecho em que faço esse processo em um job, espero que ajude.
Local cFile := ""
Local cFilePath := '\Temp\'
Local cPathLocal := GetTempPath()
Local cRelNome := "Impressao Job "+strtran(dtoc(Date()),"/","-")+"_"+strtran(substr(Time(),1,5),':','-')+".pdf"
Local lAdjustToLegacy := .T. //Ultiliza tamanho no formato legado TMSPrinter
Local lDisableSetup := .T. //Desabilita setup
Local lViewPDF := .T.
oPrint := FWMSPrinter():New(cRelNome,IMP_PDF,lAdjustToLegacy,cPathLocal,lDisableSetup,,,,,,,lViewPDF)
cFile := cPathLocal+cRelNome
File2Printer( cFile, "PDF" )
oPrint:cPathPDF:= cPathLocal
oPrint:Preview()
//Copia da máquina local para o SPOOL
CpyT2S( cFile, cFilePath, .F. )
//cFile, atualiza para path no servidor + nome do arquivo
cFile := cFilePath+cRelNome
//Verifica se o arquivo foi criado
IF !(File(cFile))
Conoout("Houve erro ao gerar o arquivo no servidor")
Else
EnviaRel(cEmail,cFile)
//Apaga arquivo do servidor
FERASE(cFile)
EndIF
Eduardo, o método Preview() é que gera o arquivo PDF no caminho especificado. Use ele no lugar do file2printer()
Realmente o file2printer é inócuo. O preview() faz a função. Meu problema estava na propriedade lserver = .T. Obrigado!
0Obrigado, de verdade! Só nesse post que achei que o problema era o atributo lServer, mudar de .F. pra .T. no FWMSPrinter()