Jump to content
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×

Recommended Posts


  • Topic Count:  23
  • Topics Per Day:  0.01
  • Content Count:  59
  • Content Per Day:  0.04
  • Reputation:   7
  • Achievement Points:  482
  • Solved Content:  0
  • Days Won:  3
  • Status:  Offline
  • Device:  Windows

Posted

Bom dia.

Prezados, gostaria de saber se é possível anexar um pdf em um processo do RM via FM.

Quero anexar o PDF no processo de venda do Gestão de imóveis, atualmente isso é feito de forma manual e gostaria que a formula lesse um diretorio em minha rede e gravasse o arquivo dentro do RM.

Alguem já fez algo parecido? Se sim, quais atividades usou?


  • Topic Count:  12
  • Topics Per Day:  0.00
  • Content Count:  184
  • Content Per Day:  0.06
  • Reputation:   93
  • Achievement Points:  1,205
  • Solved Content:  0
  • Days Won:  34
  • Status:  Offline
  • Age:  28
  • Device:  Windows

Posted

Bom dia @fernandolk_1992

No processo manual, em qual tabela fica armazenado esse PDF ?


  • Topic Count:  23
  • Topics Per Day:  0.01
  • Content Count:  59
  • Content Per Day:  0.04
  • Reputation:   7
  • Achievement Points:  482
  • Solved Content:  0
  • Days Won:  3
  • Status:  Offline
  • Device:  Windows

Posted

Opa, tudo bem Caio? Fica na tabela XEMPREENDIMENTODOCUMENTOS


  • Topic Count:  12
  • Topics Per Day:  0.00
  • Content Count:  184
  • Content Per Day:  0.06
  • Reputation:   93
  • Achievement Points:  1,205
  • Solved Content:  0
  • Days Won:  34
  • Status:  Offline
  • Age:  28
  • Device:  Windows

Posted

Boa tarde

Não utilizo essa tabela mas conheço duas formas de importar um arquivo

1ª criando um parâmetro pra FV do tipo Byte[] e tipo de controle Arquivo. Assim você consegue selecionar o arquivo via diretório 

image.png

 

2ª via código fonte definindo um diretório default, porém assim perdemos a opção de selecionar "manualmente" o arquivo

 


  • Topic Count:  23
  • Topics Per Day:  0.01
  • Content Count:  59
  • Content Per Day:  0.04
  • Reputation:   7
  • Achievement Points:  482
  • Solved Content:  0
  • Days Won:  3
  • Status:  Offline
  • Device:  Windows

Posted
22 minutos atrás, caiiomonteiro disse:

Boa tarde

Não utilizo essa tabela mas conheço duas formas de importar um arquivo

1ª criando um parâmetro pra FV do tipo Byte[] e tipo de controle Arquivo. Assim você consegue selecionar o arquivo via diretório 

image.png

 

2ª via código fonte definindo um diretório default, porém assim perdemos a opção de selecionar "manualmente" o arquivo

 

Entendi, mas a ideia é realmente deixar mapeado um diretorio para que seja lido os documentos que estão lá. Você teria um exemplo desse código fonte? Entendo que deverá ser feito em C#..

  • Solution

  • Topic Count:  12
  • Topics Per Day:  0.00
  • Content Count:  184
  • Content Per Day:  0.06
  • Reputation:   93
  • Achievement Points:  1,205
  • Solved Content:  0
  • Days Won:  34
  • Status:  Offline
  • Age:  28
  • Device:  Windows

Posted

Opa, segue um exemplo.
 

using System.IO;

            
            /* Diretório onde estão os arquivos*/
            string pasta = @"......."; 

            DirectoryInfo di = new DirectoryInfo(pasta);
            DirectoryInfo diProc = new DirectoryInfo(di.FullName + @"\Processados"); /* Subpasta após importar o arquivo */

            if (!diProc.Exists)
            {
                diProc.Create();
            }

            /* Busca todos os arquivos ou por extensão, exemplo: *.pdf, *.xlsx,....*/
            FileInfo[] arquivos = di.GetFiles("*", SearchOption.TopDirectoryOnly);

            if (arquivos.Length == 0)
            {
                throw new Exception("Nenhum arquivo encontrado!");
            }

            try
            {
                /* Loop para cada arquivo encontrado */
                foreach (FileInfo fi in arquivos)
                {

                    /* 
                    ........
                    CÓDIGO
                    ........

                    */

                    /* Mover arquivo para pasta Processados e adicionar a extensão .PROC*/
                    if (!File.Exists(Path.Combine(diProc.FullName, fi.Name + ".PROC")))
                    {
                        fi.MoveTo(Path.Combine(diProc.FullName, fi.Name + ".PROC"));
                    }
                    else
                    {
                        /* Caso já exista um aruqivo com o mesmo nome na pasta o mesmo é excluído */
                        fi.Delete();
                    }

                }

            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao importar o arquivo: " + ex.Message);
            }


  • Topic Count:  23
  • Topics Per Day:  0.01
  • Content Count:  59
  • Content Per Day:  0.04
  • Reputation:   7
  • Achievement Points:  482
  • Solved Content:  0
  • Days Won:  3
  • Status:  Offline
  • Device:  Windows

Posted

@caiiomonteiro vlw meu amigo, já vai ajudar muito.

Você sabe se é possível rodar esse script estando na Cloud da totvs?


  • Topic Count:  12
  • Topics Per Day:  0.00
  • Content Count:  184
  • Content Per Day:  0.06
  • Reputation:   93
  • Achievement Points:  1,205
  • Solved Content:  0
  • Days Won:  34
  • Status:  Offline
  • Age:  28
  • Device:  Windows

Posted

É possível sim, meu ambiente também é no Cloud da totvs e utilizo esse código pra importar planilhas Excel

  • Like 1

  • Topic Count:  23
  • Topics Per Day:  0.01
  • Content Count:  59
  • Content Per Day:  0.04
  • Reputation:   7
  • Achievement Points:  482
  • Solved Content:  0
  • Days Won:  3
  • Status:  Offline
  • Device:  Windows

Posted

@caiiomonteiro, estou tentando aplicar o código que vc enviou, a parte enviada está OK, a formula está lendo meu arquivo e após isso está enviando para a outra pasta e renomeando.

Porem queria tirar uma dúvida com você.

Qual é o formato do campo no BD onde vc está armazenando esse PDF? Pergunto pois o campo que quero armazenar está com o formato (image) e estou convertendo ele para byte.

 

Screenshot_47.thumb.png.2575c2772102041845ae10263094e685.png

 

estou usando esse código em uma base local:
string pdfFilePath = "C:\\documentos anexar\\teste.pdf";
byte[] bytes = System.IO.File.ReadAllBytes(pdfFilePath);

 

Outra coisa, como você mapeou o caminho em seu servidor? abriu chamado no suporte da totvs?

 

 


  • Topic Count:  12
  • Topics Per Day:  0.00
  • Content Count:  184
  • Content Per Day:  0.06
  • Reputation:   93
  • Achievement Points:  1,205
  • Solved Content:  0
  • Days Won:  34
  • Status:  Offline
  • Age:  28
  • Device:  Windows

Posted

@fernandolk_1992 ainda não tive a necessidade de salvar algum PDF no banco, esse código enviado utilizamos para ler arquivos Excel... mas imagino que terá que salvar o PDF em byte[] mesmo

Encontrei esse exemplo na net:

StreamReader oStreamReader = new StreamReader(@"arquivo.pdf");
byte[] buffer = new byte[oStreamReader.BaseStream.Length];
oStreamReader.BaseStream.Read(buffer, 0, buffer.Length);
oStreamReader.Close();
oStreamReader.Dispose();



Em relação ao diretório, nós utilizamos um SFTP que o Cloud disponibiliza


  • Topic Count:  23
  • Topics Per Day:  0.01
  • Content Count:  59
  • Content Per Day:  0.04
  • Reputation:   7
  • Achievement Points:  482
  • Solved Content:  0
  • Days Won:  3
  • Status:  Offline
  • Device:  Windows

Posted

Bom dia @caiiomonteiro, apenas dando um retorno, consegui anexar o documento através do código fonte.

Vlw pela ajuda.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.