Boa Tarde. Estou tendo dificuldades ao tentar gerar um relatório em PDF sem interface via Job. Por mais que eu passe o RootPath como local de geração do arquivo em PDF continua aparecendo a mensagem "Caminho de destino do arquivo .Rel não esta dentro do RootPath do Protheus Server. Processo ignorado. NEW - FWMSPRINTER.PRW(410) ". Alguem consegue me ajudar. Vou passar os trechos de como estou tentando fazer.
chamo a função para impressão/geração do arquivo. lRetImp := StartJob('U_GLB2477', GetEnvServer(), .T.,{ _cNumSol,.T.,_cEmp,_cFil }) isso é chamado em um fonte diferente.
aqui vem a execução da função. User Function GLB2477(aParams) Local lAdjustToLegacy := .F. Local lDisableSetup := .T. Local oPrinter Local cRootPath := "" Local cLocal := "" Local cFilePrint := "" Local FileName := "" Local cBMP := "" Local aDadBcos Local aAllUsers := {} Local nPosUsr := 0 Local _cSolicit := "" Local aRet := {} Local _cNumSol := aParams[1] Local lAuto := aParams[2] Local _cEmp := aParams[3] Local _cFil := aParams[4]
If lAuto == .T. //RpcSetType(3) //RpcSetEnv( cEmp, _cFil,,, "FIN" ) WFPrepEnv( _cEmp, _cFil, , , "FIN") ENDIF IF lAuto == .T. cRootPath := GetSrvProfString ("ROOTPATH","") cLocal := cRootPath+"\solpa\" ELSE cRootPath := GetSrvProfString ("ROOTPATH","") cLocal := cRootPath+"\solpa\" ENDIF IF lAuto == .T. FileName := "PA"+ZBK->ZBK_FILIAL+_cNumSol+".PD" oPrinter := FWMSPrinter():New(FileName, 6, lAdjustToLegacy,cLocal, lDisableSetup, , , , , , .F., ) oPrinter:lInJob := .T. oPrinter:cPathPDF:= cLocal //oPrinter:cPathPrint := cLocal ELSE FileName := "PA"+ZBK->ZBKFILIAL+_cNumSol+".PD" oPrinter := FWMSPrinter():New(FileName, IMP_PDF, lAdjustToLegacy,cLocal, lDisableSetup, , , , , , .F., ) oPrinter:cPathPDF:= cLocal ENDIF
ai quando ele vai executar a função oPrinter := FWMSPrinter():New(FileName, 6, lAdjustToLegacy,cLocal, lDisableSetup, , , , , , .F., ) que ele mostra a mensagem que não esta no RootPath.
Se eu executo via menu entrando no sistema selecionando a empresa e fazendo o processo via menu funciona corretamente. Porem fazendo via Job não consegui descobrir o pq.