Ir para conteúdo
  • Cadastre-se

dev botao

Criar PDF para cada Boleto


Arnaldo Cruz
  • Este tópico foi criado há 2963 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Estou gerando os boleto como segue

if GerarTitulos then
begin
    Adiciono os titulo(gero 50 boletos com vencimentos diferentes e clientes diferentes)
end;
ACBrBoleto1.Imprimir ;

cada boleto ganha um documento composto por 'M MM YYYY CCCC'

M = Tipo de Boleto
MM = Mes
YYYY = Ano
CCCC = codigo do cliente

Estou querendo salvar cada boleto em PDF como o nome do conteudo do Documento


Obrigado

Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

Atualmente o componente não permite trocar o nome do pdf gerado, mas você pode renomear o arquivo ao final da sua rotina.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
Em 29/07/2016 at 18:58, Arnaldo Cruz disse:

Estou gerando os boleto como segue

if GerarTitulos then
begin
    Adiciono os titulo(gero 50 boletos com vencimentos diferentes e clientes diferentes)
end;
ACBrBoleto1.Imprimir ;

cada boleto ganha um documento composto por 'M MM YYYY CCCC'

M = Tipo de Boleto
MM = Mes
YYYY = Ano
CCCC = codigo do cliente

Estou querendo salvar cada boleto em PDF como o nome do conteudo do Documento


Obrigado

Oi Arnaldo,

Eu tive um problema parecido a um tempo atrás. 

O que eu fiz foi o seguinte. Filtrei os registros na tabela depois utilizei a rotina abaixo e deu certinho.

// Depois de filtrar os registros
Tabela.First ;
While Not Tabela.Eof do
begin
  GeraBoleto ; // rotina que adiciona os dados no componente ACBRBoleto
  ACBrBoletoFCFortes1.NomeArquivo := 'NomedoArquivo.pdf' ;
  ACBrBoleto1.GerarPDF ;
  Tabela.Next;
end ;

Atenciosamente,

Rodrigo Cardilo

Card System Info

[email protected]

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
  • Moderadores
While Not Tabela.Eof do
begin
  GeraBoleto ; // rotina que adiciona os dados no componente ACBRBoleto
  ACBrBoletoFCFortes1.NomeArquivo := 'NomedoArquivo.pdf' ;
  ACBrBoleto1.GerarPDF ;
  Tabela.Next;
end ;

Eu estava fazendo esse procedimento e estava salvando os pdf´s individualmente. Mas após alguma atualização (não sei qual foi pois não havia percebido antes), os boletos começaram a salvar com os boletos adicionados anteriormente no Titulo. Por exemplo, adiciono a lista o Titulo 00001 e salvo. Leio o proximo titulo 00002 e salvo (esse pdf salva com o 00001 e 00002) antes salvava somente com o 00002. Como devo proceder para salvar individual o pdf?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Correto, mas antes eu Adiciona o titulo e gerava o pdf...adicionava novo titulo...e assim sucessivamente.

Após ler todos os titulos, adicioná-los a lista e gerar o pdf, eu imprimia e gerava a remessa com todos os titulos adicionados.

Se limpar a lista após gerar cada pdf, como imprimir todos de uma vez e gerar a remessa completa no final da leitura dos titulos? Terei que fazer novo loop de leitura para isso?

While Not Tabela.Eof do
begin
  ---> aqui eu criava a lista de titulos
  GeraBoleto ; // rotina que adiciona os dados no componente ACBRBoleto
  ACBrBoletoFCFortes1.NomeArquivo := 'NomedoArquivo.pdf' ;
  ACBrBoleto1.GerarPDF ;
  Tabela.Next;
end ;
----> aqui eu imprimia todos os titulos de uma só vez e gerava um pdf contendo todos os titulos adicionados <---
----> limpa a lista                                                                                                                 
                                                                                                                 

Nesse caso, se eu quiser gerar pdf individual perco a possibilidade de usar a lista completa no fim do processo?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Moderadores

A não ser que eu tenha um segundo componente ACBrBoleto2 e faça ACBrBoleto2 = ACBrBoleto1 antes de limpar a lista e usar o ACBrBoleto2 no fim do processo. E limpe o ACBrBoleto1 dentro da leitura sequencial e o ACBrBoleto2 somente antes da leitura sequencial. Vou tentar isso. Depois retorno.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Para resolver isso sem precisar criar vários loops de leitura, o ideal seria ter no componente as seguintes opções:

GerarPDF_UltimoTituloDaLista;

Imprimir_UltimoTituloDaLista;

e poder gerar remessa completa. O pdf individual é essencial para envio de email, re-impressão e controle da empresa. 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

while not cdsBoleto.Eof  do // Dataset com todos os boletos
begin
          ACBrBoleto1.ListadeBoletos.Clear;
          Titulo := ACBrBoleto1.CriarTituloNaLista;
          with Titulo do
          begin

               //Dados do Boleto

              CodCedente        := CodCedente;

         end;

        ACBrBoletoFCFR1.NomeArquivo :=  gsAppPath + 'Boletos\' + cdsBoletoDOCUMENTO.AsString +'.pdf';
        ACBrBoletoFCFR1.GerarPDF;
        cdsBoleto.Next;

end;

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2963 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...