Ir para conteúdo
  • Cadastre-se

dev botao

DANFE FastReport


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

Recommended Posts

  • Membros Pro

Bom dia, atualizei os componentes e percebi que foi tornada privada a propriedade dmDanfe. O problema agora é que quando eu tento acessar a propriedade PreparedReport, não consigo, porque ela está nula. Eu vi que já teve um tópico igual aqui, mas o usuário relatou que conseguiu resolver e o tópico foi fechado. Infelizmente ele não postou como conseguiu resolver. Abaixo vai meu código. Minha classe herda da TACBrNFe.

 

var
  Fixos: TDadosFixos;
  OK: Boolean;
  VersaoDF: TpcnVersaoDF;

begin
  inherited;
  PegouCertificado                       := False;
  Fixos                                  := TDadosFixos.Consulta;

  if (not Fixos.VersaoNFe.HasValue) or (Fixos.VersaoNFe = '3.10') then
    VersaoDF := ve310
  else if Fixos.VersaoNFe = '4.00' then begin
    VersaoDF := ve400;
    Configuracoes.Arquivos.PathSchemas := Fixos.EndSchemas + '\Schemas';
  end
  else
    raise Exception.Create('Versão NFe não definida na classe MeuACBrNFe');

  Configuracoes.Geral.Salvar             := True;
  Configuracoes.Geral.VersaoDF           := VersaoDF;
  Configuracoes.Arquivos.Salvar          := True;
  Configuracoes.Certificados.NumeroSerie := Fixos.NSerieCertDigital;
  Configuracoes.WebServices.UF           := Fixos.Cidade.UF;
  Configuracoes.WebServices.Ambiente     := StrToTpAmb(OK, IntToStr(Fixos.TIPONFELETRONICA));
  Configuracoes.WebServices.TimeOut      := 15000;
  Configuracoes.Geral.FormaEmissao       := StrToTpEmis(OK, IntToStr(Fixos.TIPOEMISSAONFE + 1));
  Configuracoes.Geral.RetirarAcentos     := True;

  //Configuracoes.Geral.SSLLib             := libCapicom;
  Configuracoes.Geral.SSLLib             := libWinCrypt;
  Configuracoes.Geral.SSLXmlSignLib      := xsMsXML;
  if Fixos.UsarTSL12 then
    SSL.SSLType := LT_TLSv1_2;

  //DownloadNFe.Download.CNPJ              := Fixos.CNPJ;
  MinhaDANFE                             := TACBrNFeDANFEFR.Create(nil);
  MinhaDanfe.IncorporarBackgroundPdf     := False; // feito para diminuir o tamanho da danfe
  MinhaDANFE.IncorporarFontesPdf         := False; // feito para diminuir o tamanho da danfe

  //MinhaDANFE. ImprimirUnQtVlComercial     := iuComercial;
  with MinhaDANFE do begin
    FastFile := Fixos.ArquivoDANFE;
    FastFileEvento := Fixos.ArquivoDANFE;
    Sistema            := 'GAF - Gerenciador Administrativo Financeiro';
    MostraPreview      := False;
    Logo               := Fixos.ArquivoLogoDANFE;
  end;

  Self.DANFE := MinhaDANFE;
  if Fixos.MensagemRodapeNFe <> '' then
    (Self.DANFE as TACBrNFeDANFEFR).PreparedReport.Script.Variables['MensagemRodape'] := Fixos.MensagemRodapeNFe ---> aqui já dá o erro
  else
    (Self.DANFE as TACBrNFeDANFEFR).PreparedReport.Script.Variables['MensagemRodape'] := '';

  FreeAndNil(Fixos);

Link para o comentário
Compartilhar em outros sites

  • Moderadores
10 minutos atrás, Gandalf disse:

    (Self.DANFE as TACBrNFeDANFEFR).PreparedReport.Script.Variables['MensagemRodape'] := Fixos.MensagemRodapeNFe ---> aqui já dá o erro

Isso provavelmente não vai funcionar já que o método PreparedReport executa internamente o PrepareReport do relatório. Se no seu DANFE essa variável é necessária o método vai falhar e retornar nil.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Este tópico foi criado há 1864 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.