Pular para o conteúdo principal

Trabalhando com FTP no Protheus


Trabalhar com FTP no Protheus é simples e muito útil, por exemplo, quando você quer trocar arquivos com filiais de sua empresa.


As funções disponíveis para FTP são:

FTPConnectConexão com o servidor
FTPDirChangeTroca de diretório
FTPDirectoryInformações de diretórios e arquivos
FTPDownloadCopia arquivo para servidor local
FTPEraseApaga arquivo no diretório
FTPRenameFileRenomear arquivo no diretório corrente
FTPUploadCopia arquivo da máquina local p/ diretório
FTPDisconnectFechamento da conexão atual

Exemplo:


1:  // CONECTA NO FTP
2:  if .not. ftpconnect ("ftp.NOMEDESEUSERVIDOR.com.br", 21, getmv("MV_RSPFTPU"), getmv("MV_RSPFTPP"))
3:     msgalert("NAO FOI POSSIVEL CONECTAR AO FTP.")
4:     return .f.
5:  endif
6:  // MUDA PARA O DIRETORIO DESEJADO NO SERVIDOR REMOTO
7:  if .not. ftpdirchange ("/NOMEDAPASTAREMOTA")
8:     msgalert("NAO FOI POSSIVEL MUDAR PARA O DIRETORIO INFORMADO.")
9:     return .f.
10:  endif
11:  // UPLOAD DO(S) ARQUIVO(S)
12:  if .not. ftpupload ("\NOMEDAPASTALOCAL\NOMEDESEUARQUIVO", "/NOMEDAPASTAREMOTA/NOMEDESEUARQUIVO")
13:     msgalert("NAO FOI POSSIVEL REALIZAR O UPLOAD.")
14:     return .f.
15:  endif
16:  // DESCONECTA FTP
17:  ftpdisconnect()  


Este exemplo usou as funções ftpconnect, ftpdirchange, ftpupload e ftpdisconnect. Ou seja, foi um exemplo de upload de arquivos.
Você ainda pode, fazer download, apagar arquivos, resgatar informação de pastas remotas e renomear arquivos remotos.

MV_RSPFTPU e MV_RSPFTPP são parâmetros nativos do Protheus. Referem-se respectivamente à nome do usuário e senha para se conectar em ser servidor de FTP.
Caso não saiba, informe-se com o suporte da empresa que hospeda o site de sua empresa.

Comentários

  1. Respostas
    1. Olá Roberto,
      Obrigado pela visita! Ficamos felizes quando nossos posts ajudam.
      Volte sempre e, convide os amigos programadores à nos conhecer.

      Atenciosamente,
      http://microsigadvpl.blogspot.com.br/

      Excluir

Postar um comentário

Postagens mais visitadas deste blog

Teclas de Atalhos TOTVS Developer Studio (Eclipse)

Seguem os atalhos para o TOTVS Developer Studio  (Eclipse)  : CTRL+H Localizar vários locais CTRL+F Localizar / substituir CTRL+K Localizar proximo resultado abaixo CTRL+SHIFT+K Localizar proximo resultado acima F11 Depurar F5 Percorre linha F6 Pula linha CTRL+F8 Trocar perspectiva CTRL+F7 Mudar visualização CTRL+F6 Navegar entre os fontes abertos CTRL+M Maximiza / miniminiza fonte CTRL+N Novo (wizard) CTRL+L Ir para linha CTRL+D Deleta toda linha CTRL+ALT+DOWN Duplica linha para baixo CTRL+ALT+UP Duplica linha para cima CTRL+SHIFT+L Apresenta lista de atalhos ALT+UP Move linha para cima ALT+DOWN Move linha para baixo CTRL+SHIFT+I Indenta o fonte CTRL+F9 Compilar CTRL+ESPAÇO A

Impressão com imagens no Protheus

Muitas vezes é necessário incluir uma imagem num relatório (uma logomarca por exemplo). Uma das maneiras de se fazer isto, é usar a classe TMSPRINTER() . O programa exemplo abaixo, ilustra bem como fazer. Este usa também a classe TFONT() (o tamanho do fonte leva o sinal de menos) : # include "PROTHEUS.CH" # include "RWMAKE.CH" user function fImprimeG() local oFont08 := tfont():New( 'Courier new' ,, -8, .t.),,; oFont09 := tfont():New( 'Courier new' ,, -9, .t.),,; oFont10 := tfont():New( 'Courier new' ,,-10, .t.) oPrint:=tmsprinter():new( "Impressao Grafica" ) oPrint:setportrait() oPrint:SetpaperSize(9) // PAPEL A4 if .not. oPrint:Setup() // MOSTRA JANELA DE CONFIGURAÇÃO DE IMPRESSAO msgalert( "IMPRESSAO CANCELADA." ) return nil endif // ESTE BLOCO PODE FICAR EM LOOP (DO WHILE, FOR..., ETC.) oPrint:StartPage() // oPrint:sayBitmap(linha, coluna, "C:\SUAPASTA\SUAIMAGEM.BMP", largura, al

Status das tabelas: SPED050 e SPED052

STATUS DA TABELA SPED050: Status NFe (campo STATUS) :  1 = NFe Recebida.  2  =  NFe Assinada.  3  =  NFe com falha no schema XML.  4  =  NFe transmitida.  5  =  NFe com problemas.  6  =  NFe autorizada.  7  =  Cancelamento. Status Cancelamento/inutilização (campo STATUSCANC) :  1  =  NFe Recebida.  2  =  NFe Cancelada.  3  =  NFe com falha de cancelamento/inutilização. Status Mail (campo STATUSMAIL) :  1  =  A transmitir.  2  =  Transmitido.  3  =  Bloqueio de transmissão – cancelamento/inutilização. STATUS DO SPED052:  1  =  Lote transmitido.  2  =  Lote recebido com sucesso.  3  =  Lote com erro.