Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Depois de quebrar a cabeça, consegui mostrar o DANFE no meu Preview personalizado sem alterar os fontes do
ACBR, não gosto de alterar os fontes, pois aí quando atualizo, vira bagunça e lá vem os bugs.
 
 
Adicionei a seguinte procedure no formulario que contém o ACBRDANFE:

 

procedure TNfe.PreviewPersonalizado(ReportSystem: TRvSystem;
  OverrideMode: TOverrideMode; var OverrideForm: TForm);
begin
  Case OverrideMode Of
    omCreate: Begin
        OverrideForm := TFrmVisualizarImpressao.Create(Application.MainForm);
        OverrideForm.Caption := ReportSystem.TitlePreview;
        OverrideForm.Width := ReportSystem.SystemPreview.FormWidth;
        OverrideForm.Height := ReportSystem.SystemPreview.FormHeight;
        OverrideForm.WindowState := ReportSystem.SystemPreview.FormState;
        ReportSystem.SystemSetups:= ReportSystem.SystemSetups - [ssAllowSetup];
        (OverrideForm As TFrmVisualizarImpressao).RvSystem1 := ReportSystem;
 
      End;
     omShow: Begin
        ReportSystem.SystemPreview.InitPreview((OverrideForm As TFrmVisualizarImpressao).RvRenderPreview1);
        If Assigned(ReportSystem.OnPreviewSetup) Then Begin
          ReportSystem.OnPreviewSetup((OverrideForm As TFrmVisualizarImpressao).RvRenderPreview1);
        End; { if }
 
        //(OverrideForm As TFrmVisualizarImpressao).FileName := ReportSystem.SystemFiler.Filename;
        (OverrideForm As TFrmVisualizarImpressao).Stream.LoadFromStream(ReportSystem.SystemFiler.Stream);
        //(OverrideForm As TFrmVisualizarImpressao).CarregaRvSystem;
 
        (OverrideForm As TFrmVisualizarImpressao).RvRenderPreview1.ZoomFactor:=150;
    (* *)
        If soPreviewModal In ReportSystem.SystemOptions Then Begin
          OverrideForm.ShowModal;
        End Else Begin
          OverrideForm.Show;
        End; { else }
      End;
 
    omWait: Begin
        If Not (soPreviewModal In ReportSystem.SystemOptions) Then Begin
      // Wait for close
          Repeat
            Sleep(250);
            Application.ProcessMessages;
          Until Not OverrideForm.Visible;
        End; { if }
      End;
    omFree: Begin
          If (ReportSystem.SystemFiler.StreamMode In [smTempFile, smFile]) Then Begin
          (OverrideForm As TFrmVisualizarImpressao).RvRenderPreview1.NDRStream.Free;
          (OverrideForm As TFrmVisualizarImpressao).RvRenderPreview1.NDRStream := Nil;
        End; { if }
        FreeAndNil(OverrideForm);
      End;
  End; { case }
end;

 
 
Depois de configurar o componente ACBRNFE, 
adicionei a seguinte linha:
 
Danfe.dmDanfe.RvSystem1.OverridePreview:= RelPreviewPersonalizado;

 

 

Segue em anexo o fonte do meu Preview personalizado para que quiser ter uma ideia.

Não está pronto ainda, mas já dá pra ter uma noção de como funciona.

 

uVisualizarImpressao.pas

  • Curtir 2
  • 6 meses depois ...
  • Este tópico foi criado há 3676 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.