Ir para conteúdo
  • Cadastre-se

dev botao

Preview Personalizado Para Danfe Rave


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

Recommended Posts

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
Link para o comentário
Compartilhar em outros sites

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