Ir para conteúdo
  • Cadastre-se

dev botao

Contribuição - Impressão de página de verso em boleto em FortesReport


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

Recommended Posts

Boa tarde,

 

Queria propor a adição de uma propriedade à classe TACBrBoletoFCFortes de impressão do boleto usando FortesReport, para permitir a impressão de uma página de verso no boleto, que poderia ser usado para, entre outras, informações do correio.

O arquivo anexado já foi devidamente testado.

Desde já agradeço.

ACBrBoletoFCFortesFr.pas

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

  • Administradores

Bom dia.

Obrigada pela contribuição, mas poderia também anexar uma imagem exemplificando como ficou?

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

Boa tarde,

Envio uma imagem sim, a primeira página é o boleto no layout lPadrao, a segunda página é um segundo relatório FortesReport adicionado através da propriedade verso, proposta na alteração. Caso nenhum relatório seja associado a propriedade o boleto é impresso como tradicionalmente.

Att.

Sem título.png

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

  • 3 meses depois ...
  • Consultores

Bom dia,

Primeiramente peço desculpa pela demora na analise da sua contribuição.

Segundo, não se fez necessário nenhuma alteração no arquivo DFM somente no PAS da unit?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Moderadores
1 hora atrás, netsoftclaudio disse:

Boa tarde Juliomar,

Será que por gentileza vc pode me ajudar?

Estou com Delphi 7 em uma máquina e fiz a atualização do ACBR e Fortes Report, agora não consigo instalar o fortes report, aparece a seguinte mensagem anexada.

att

Claudio

 

log_Delphi_7.txt 20 kB · 0 downloads

Muito path no Library path.

remova do seu delphi os paths do ACBr e dai tente instalar o Fortes

e quando instalar o ACBr deixe marcado a opção para deixar somente o libDxx

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Fiz a limpeza do path do ACBr no Library do Delphi 7, mas não resolveu.

O interessante é que eu havia atualizado dias antes da alteração realizada no Fortes Report, pois foi feito uma alteração no Fortes Report em Dezembro de 2019 e acredito que está alteração não comportou bem para Delphi 7.

image.thumb.png.fab2645d623c057c5218fd143d879841.png

veja que o erro da instalação está se referindo ao arquivo RLPrinters.pas que se encontra na pasta "Source" do "Fortes Report" :

image.thumb.png.efb5d9fa4566bd112ad4ac3baaebccb3.png

image.png.a05bfbe7224d499d6232900f93151ab9.png

O erro está indicando o arquivo RLPrinters.pas na linha (969), conforme abaixo:

Se eu comentar essas linhas, dai instala normalmente o "Fortes Report".

procedure TRLPrinterWrapper.CreateDeviceMode(WindowHandle: HWND);
var
  Device, Driver, Port: array[0..MAX_PATH] of char;
  PrinterHandle: THandle;
  OldModeHandle: THandle; //hDeviceMode
  OldDeviceMode: PDeviceMode; //PrinterDevMode
  NewModeHandle: THandle;
  NewDeviceMode: PDeviceMode;
  BytesNeeded: Integer;
begin
  Printer.GetPrinter(Device, Driver, Port, OldModeHandle);
  if WinSpool.OpenPrinter(@Device, PrinterHandle, nil) then
  try
    OldDeviceMode := GlobalLock(OldModeHandle);
    try
      BytesNeeded := WinSpool.DocumentProperties(WindowHandle, PrinterHandle, Device, nil, nil, 0);
      if BytesNeeded < 0 then
        raise Exception.Create('The call to DocumentProperties failed.');
      NewModeHandle := GlobalAlloc(GHND, BytesNeeded);
      NewDeviceMode := GlobalLock(NewModeHandle);
      try
        case WinSpool.DocumentProperties(WindowHandle, PrinterHandle, Device, NewDeviceMode^, OldDeviceMode^, DM_OUT_BUFFER or DM_IN_PROMPT or DM_IN_BUFFER) of
          IDOK: begin
            Printer.SetPrinter(Device, Driver, Port, NewModeHandle);
            ClearSavedDevMode;
            SavedPrinterSettings.DevMode := GetMemory(BytesNeeded);
            SavedPrinterSettings.Bytes := BytesNeeded;
            SavedPrinterSettings.PrinterName := Printer.Printers[Printer.PrinterIndex];
            CopyMemory(SavedPrinterSettings.DevMode, NewDeviceMode, BytesNeeded);
          end;
          IDCANCEL: // do nothing
          else raise Exception.Create('Something went wrong with setting the new printer parameters.');
        end;
      finally
        GlobalUnlock(NewModeHandle);
      end;
    finally
      GlobalUnlock(OldModeHandle);
    end;
  finally
    WinSpool.ClosePrinter(PrinterHandle);
  end;
end;

image.png

Link para o comentário
Compartilhar em outros sites

  • Moderadores
20 minutos atrás, netsoftclaudio disse:

Fiz a limpeza do path do ACBr no Library do Delphi 7, mas não resolveu.

O interessante é que eu havia atualizado dias antes da alteração realizada no Fortes Report, pois foi feito uma alteração no Fortes Report em Dezembro de 2019 e acredito que está alteração não comportou bem para Delphi 7.

image.thumb.png.fab2645d623c057c5218fd143d879841.png

veja que o erro da instalação está se referindo ao arquivo RLPrinters.pas que se encontra na pasta "Source" do "Fortes Report" :

image.thumb.png.efb5d9fa4566bd112ad4ac3baaebccb3.png

image.png.a05bfbe7224d499d6232900f93151ab9.png

O erro está indicando o arquivo RLPrinters.pas na linha (969), conforme abaixo:

Se eu comentar essas linhas, dai instala normalmente o "Fortes Report".

procedure TRLPrinterWrapper.CreateDeviceMode(WindowHandle: HWND);
var
  Device, Driver, Port: array[0..MAX_PATH] of char;
  PrinterHandle: THandle;
  OldModeHandle: THandle; //hDeviceMode
  OldDeviceMode: PDeviceMode; //PrinterDevMode
  NewModeHandle: THandle;
  NewDeviceMode: PDeviceMode;
  BytesNeeded: Integer;
begin
  Printer.GetPrinter(Device, Driver, Port, OldModeHandle);
  if WinSpool.OpenPrinter(@Device, PrinterHandle, nil) then
  try
    OldDeviceMode := GlobalLock(OldModeHandle);
    try
      BytesNeeded := WinSpool.DocumentProperties(WindowHandle, PrinterHandle, Device, nil, nil, 0);
      if BytesNeeded < 0 then
        raise Exception.Create('The call to DocumentProperties failed.');
      NewModeHandle := GlobalAlloc(GHND, BytesNeeded);
      NewDeviceMode := GlobalLock(NewModeHandle);
      try
        case WinSpool.DocumentProperties(WindowHandle, PrinterHandle, Device, NewDeviceMode^, OldDeviceMode^, DM_OUT_BUFFER or DM_IN_PROMPT or DM_IN_BUFFER) of
          IDOK: begin
            Printer.SetPrinter(Device, Driver, Port, NewModeHandle);
            ClearSavedDevMode;
            SavedPrinterSettings.DevMode := GetMemory(BytesNeeded);
            SavedPrinterSettings.Bytes := BytesNeeded;
            SavedPrinterSettings.PrinterName := Printer.Printers[Printer.PrinterIndex];
            CopyMemory(SavedPrinterSettings.DevMode, NewDeviceMode, BytesNeeded);
          end;
          IDCANCEL: // do nothing
          else raise Exception.Create('Something went wrong with setting the new printer parameters.');
        end;
      finally
        GlobalUnlock(NewModeHandle);
      end;
    finally
      GlobalUnlock(OldModeHandle);
    end;
  finally
    WinSpool.ClosePrinter(PrinterHandle);
  end;
end;

image.png

Abre um issue com a situação no github do fortes pra que possamos ver

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...
  • Administradores

Boa tarde

Tópico está sendo fechado devido a falta de retorno ao questionamento feito pelo Italo.
Obs. postagem após o post citado acima não tem relação com o problema.

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

  • Este tópico foi criado há 1515 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.