Estoy realizando una integración de facturación electrónica y uso Win-SCP para subir y bajar archivos por SFTP, el tema es que después de bajarme el .PDF desde el host le debo mostrar al cliente el documento usando Acrobat Reader (es la versión DC), para esta operación tengo este código:
Code: Select all
*>----------------------------------------------------------------------<*
*>----------------------------------------------------------------------<*
*>----------------------------------------------------------------------<*
FUNC BajarPDF(cFileTXT)
LOCAL nIntento := 0
LOCAL cFilePDF := ''
wait window 'descargando .PDF. . .' nowait
cFileTXT := STRTRAN( cFileTXT , 'CSV\' )
cFilePDF := STRTRAN( cFileTXT , '.CSV' , '.pdf' )
DO WHILE .T.
cParaScript := '/log="efact.log" /ini=nul /script="D:\Infocar\Imagen\efact_baja.txt" /parameter '+cFilePDF
EXECUTE FILE "C:\Program Files (x86)\WinSCP\winscp.exe" PARAMETERS cParaScript
IF FILE('PDF\'+cFilePDF)
FOR nLap = 1 TO 50000000 // <- AQUI PONGO UN RETRASO PARA DAR TIEMPO A QUE WIN-SCP suelte el PDF
NEXT
EXECUTE FILE ('PDF\'+cFilePDF) // <- AQUI ABRO CON EL ACROBAT READER (Esta como predeterminado y aqui ocurre el error)
EXIT
ELSE
FOR nLap = 1 TO 5000000
NEXT
nIntento++
IF nIntento > 100
EXIT
ENDIF
ENDIF
ENDDO
wait clear
RETURN
A veces apertura y muestra bien el archivo y a veces no y lanza el error. Alguien me podria ayudar para evitar este error, agradezco de antemanto su valiosa ayuda.