Ir para conteúdo
  • Cadastre-se

dev botao

Boleto Personalizado Com Descrição De Serviços


Ver Solução Respondido por Patrick Alves,
  • Este tópico foi criado há 1045 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia!

 

Estou necessitando desenvolver um relatorio de boleto personalizado que lista os serviços que compõem o valor do boleto no recibo do sacado e logo abaixo a ficha de compensação. Qual seria a melhor forma de estar implentando isso, sabendo que teria que adicionar mais um DataSet com essas informações. Alguem já implementou algo parecido e poderia me passar alguma orientação?

 

Desde já agradeço.

 

post-11399-0-95644800-1395501137_thumb.j

Link para o comentário
Compartilhar em outros sites

Bom  dia , não se entendi muito bem .

 

Poderia colocar : ClientDataSet ( utilizar em Memoria ). se você abrir o fonte do AcbrNFs-e (quickReport) la tem uma ideia que funciona para este caso !!!

 

Este Layout já esta no padrão do Acbr ? eu também preciso de um modelo deste para fazer a cobrança dos meus cliente !!!

 

***pode me mandar fonte dele , posso te ajudar tambem

 

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
  • Solution

Opa!

 

Walter, desculpa a demora em responder, acabei me ocupando com outros projetos, porém esta semana peguei pra resolver esta situação. Bom, o que fiz foi criar uma classe para lista de serviços e outra para os serviços e adicionei uma propriedade para lista de serviços na classe dos títulos. Como utilizo o FastReport, em ACBrBoletoFCFR adicionei mais um clientdataset para os serviços e relacionei ao clientdataset de títulos. Por fim adaptei o relatório no fastreport para ficar parecido como na figura do post anterior.

 

Qualquer coisa estamos ai!!

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...
  • 1 mês depois ...
  • 2 semanas depois ...

Bom dia!

 

Amigos uso o AcbrMonitor.exe e precisava desta função colocando as relações de serviços em cima  e no final da página o boleto a ser pago, assim  como o colega postou no inicio. Uso o monitor por que não tenho e não conheço o Delphi, como faço para configurar o monitor para gerar a fatura (já tentei a opção fatura) que parece que usa a opçao "padrão", tentei colocar nas observações do boleto só que cabem apenas seis linhas (onde vai escrito para dar desconto, cobrar juros, etc...) e não deu certo.

 

A versão que uso AcbrMonitor 0.9.14 - Acbr 0.9.0a

 

Grato.

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...

Boa tarde!

 

Me desculpem pela demora em responder. Já até tinha me esquecido deste tópico por já estar finalizado.

Bom, pra quem quiser a alteração que fiz vou deixar no anexo. Estes arquivos são um pouco antigos, então não estão com as ultimas correções no componente.

 

 

Existe a propriedade 'TextoLivre' que pode ser usada no nosso caso, evitando assim uma grande alteração no componente que é bem especifica. Minha sugestão no caso seria incluir nessa propriedade os registros de serviço. Algo como segue abaixo: 

Titulo.TextoLivre := 'Serviço 1' + '|' + FormatFloat('#,##0.00',ValorServico1)  + sLineBreak;
Titulo.TextoLivre := 'Serviço 2' + '|' + FormatFloat('#,##0.00',ValorServico2);
E no arquivo do boleto (No meu caso FastReport) adicionaria dois memos, um para descrição e outro para o valor. E no evento BeforePrint do MasterData codificaria para incluir os serviços nos memos. 

procedure MDOnBeforePrint(Sender: TfrxComponent);
var
  lista: TStringList;
  i: Integer;                           
begin
  mmoHistorico.Lines.Clear;
  mmoValor.Lines.Clear;      
  lista := TStringList.Create;
  try
    lista.Text := <Titulo."TextoLivre">;
    for i := 0 to lista.Count - 1 do
    begin                
      mmoHistorico.Lines.Add(Copy(lista.Strings[i],1,Pos('|',lista.Strings[i]) - 1));
      mmoValor.Lines.Add(Copy(lista.Strings[i],Pos('|',
        lista.Strings[i]) + 1,Length(lista.Strings[i])));               
    end;                      
  finally
    lista.Free;
    lista := nil;                                  
  end;            
end;

O lado bom de fazer assim é que vc pode atualizar o componente normalmente pelo svn pois modificamos somente o arquivo do relatório.

 

 

BoletoServicos.rar

Link para o comentário
Compartilhar em outros sites

  • 6 anos depois...
Em 26/08/2014 at 17:40, Patrick Alves disse:

Boa tarde!

 

Me desculpem pela demora em responder. Já até tinha me esquecido deste tópico por já estar finalizado.

Bom, pra quem quiser a alteração que fiz vou deixar no anexo. Estes arquivos são um pouco antigos, então não estão com as ultimas correções no componente.

 

 

Existe a propriedade 'TextoLivre' que pode ser usada no nosso caso, evitando assim uma grande alteração no componente que é bem especifica. Minha sugestão no caso seria incluir nessa propriedade os registros de serviço. Algo como segue abaixo: 


Titulo.TextoLivre := 'Serviço 1' + '|' + FormatFloat('#,##0.00',ValorServico1)  + sLineBreak;
Titulo.TextoLivre := 'Serviço 2' + '|' + FormatFloat('#,##0.00',ValorServico2);
E no arquivo do boleto (No meu caso FastReport) adicionaria dois memos, um para descrição e outro para o valor. E no evento BeforePrint do MasterData codificaria para incluir os serviços nos memos. 
 

procedure MDOnBeforePrint(Sender: TfrxComponent);
var
  lista: TStringList;
  i: Integer;                           
begin
  mmoHistorico.Lines.Clear;
  mmoValor.Lines.Clear;      
  lista := TStringList.Create;
  try
    lista.Text := <Titulo."TextoLivre">;
    for i := 0 to lista.Count - 1 do
    begin                
      mmoHistorico.Lines.Add(Copy(lista.Strings[i],1,Pos('|',lista.Strings[i]) - 1));
      mmoValor.Lines.Add(Copy(lista.Strings[i],Pos('|',
        lista.Strings[i]) + 1,Length(lista.Strings[i])));               
    end;                      
  finally
    lista.Free;
    lista := nil;                                  
  end;            
end;

O lado bom de fazer assim é que vc pode atualizar o componente normalmente pelo svn pois modificamos somente o arquivo do relatório.

 

 

BoletoServicos.rar

 

Em 26/08/2014 at 17:40, Patrick Alves disse:

Boa tarde!

 

Me desculpem pela demora em responder. Já até tinha me esquecido deste tópico por já estar finalizado.

Bom, pra quem quiser a alteração que fiz vou deixar no anexo. Estes arquivos são um pouco antigos, então não estão com as ultimas correções no componente.

 

 

Existe a propriedade 'TextoLivre' que pode ser usada no nosso caso, evitando assim uma grande alteração no componente que é bem especifica. Minha sugestão no caso seria incluir nessa propriedade os registros de serviço. Algo como segue abaixo: 


Titulo.TextoLivre := 'Serviço 1' + '|' + FormatFloat('#,##0.00',ValorServico1)  + sLineBreak;
Titulo.TextoLivre := 'Serviço 2' + '|' + FormatFloat('#,##0.00',ValorServico2);
E no arquivo do boleto (No meu caso FastReport) adicionaria dois memos, um para descrição e outro para o valor. E no evento BeforePrint do MasterData codificaria para incluir os serviços nos memos. 
 

procedure MDOnBeforePrint(Sender: TfrxComponent);
var
  lista: TStringList;
  i: Integer;                           
begin
  mmoHistorico.Lines.Clear;
  mmoValor.Lines.Clear;      
  lista := TStringList.Create;
  try
    lista.Text := <Titulo."TextoLivre">;
    for i := 0 to lista.Count - 1 do
    begin                
      mmoHistorico.Lines.Add(Copy(lista.Strings[i],1,Pos('|',lista.Strings[i]) - 1));
      mmoValor.Lines.Add(Copy(lista.Strings[i],Pos('|',
        lista.Strings[i]) + 1,Length(lista.Strings[i])));               
    end;                      
  finally
    lista.Free;
    lista := nil;                                  
  end;            
end;

O lado bom de fazer assim é que vc pode atualizar o componente normalmente pelo svn pois modificamos somente o arquivo do relatório.

 

 

BoletoServicos.rar

Boa tarde, sei que e antigo mas... como eu faria para acrescentar mais 2 linhas 

      mmoDemostrativo.Lines.add(Copy(lista.Strings[i],1,Pos('|',lista.Strings[i]) - 1));
      mmoQtde.Lines.add(Copy(lista.Strings[i],Pos('|',lista.Strings[i]) + 1,Length(lista.Strings[i])));

     mmoValorUn.Lines.add()
     mmoValoTotal.Lines.add()

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1045 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...