Ir para conteúdo
  • Cadastre-se

dev botao

Erro na impressão da DANFE com FastReport


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

Recommended Posts

O erro em anexo começou a ocorrer quando migramos para o Trunk2. Fiz alguns testes e verifiquei o seguinte:

Internamente a impressão da DANFE (NF-e e NFS-e) cria alguns objetos "TfrxDBDataset" e a propriedade "UserName" é especificada manualmente (como por exemplo "Parametros"). Ocorre que as classes "TACBrNFSeDANFSeFR" (NFS-e) e "TACBrNFeFRClass" (NF-e) utilizam os mesmos valores para esta propriedade e se existir a instancia dessas duas classes ao mesmo tempo, ocorre o erro em anexo.

Este erro começou a ocorrer na migração pois antes utilizávamos a impressão da NF-e com Rave e a NFS-e em FastReport. Agora temos tudo em FastReport.

Para simular o erro basta criar um projeto e adicionar no mesmo formulário os componentes para NF-e (TACBrNFe e TACBrNFeDANFEFR) e NFS-e (TACBrNFSe e TACBrNFSeDANFSeFR), carregar o XML de uma NFS-e e imprimir. Em anexo tem um exemplo do fonte.

No momento estamos alterando o sistema para contornar esse erro, mas a alteração necessária seria apenas utilizar nomes específicos em cada projeto, como "ParametrosNFe" e "ParametrosNFSe". Não vi ainda se teremos estes problemas com a CT-e e MDF-e.

 

NFS-e.zip

Erro no ACBr.png

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Bom dia!

não ocorre mais se estiver com o svn atualizar e recompilado os pacotes!

nosso amigo @Régys Silveira detectou o problema ano passado ainda e corrigiu o mesmo com uma linha de código!

então veja de atualizar e recompilar todos os pacotes via ACBrInstall e depois teste novamente!

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

Acabei de atualizar o repositório e o erro continua ocorrendo. Testei no Delphi 2010 e no Seattle.

Aparentemente tem relação com a ordem de criação dos objetos em memória. Apenas quando é criado o objeto da NF-e primeiro e depois da NFS-e ocorre o erro.

Em anexo esta o projeto atualizado com os testes de criação dos objetos.

NFS-e.zip

Link para o comentário
Compartilhar em outros sites

Tive o mesmo problema, também com os fontes atualizados, porém utilizando Delphi XE5.

Criei um procedimento na Unit ACBrNFSeDANFSeFR;

procedure TACBrNFSeDANFSeFR.HabilitarDataSetsFrx;
Begin
  //Adicionado por Leandro: 04.01.2016 - Sem este trecho estava dando field not found em vários campos
  frxReport.DataSets.Clear;
  frxReport.DataSets.Add(frxIdentificacao);
  frxReport.DataSets.Add(frxPrestador);
  frxReport.DataSets.Add(frxServicos);
  frxReport.DataSets.Add(frxParametros);
  frxReport.DataSets.Add(frxTomador);
  frxReport.DataSets.Add(frxItensServico);

  frxReport.EnabledDataSets.Add(frxIdentificacao);
  frxReport.EnabledDataSets.Add(frxPrestador);
  frxReport.EnabledDataSets.Add(frxServicos);
  frxReport.EnabledDataSets.Add(frxParametros);
  frxReport.EnabledDataSets.Add(frxTomador);
  frxReport.EnabledDataSets.Add(frxItensServico);
  //
End;

 

Chamo ela antes de 

frxReport.PrepareReport;

 

Segue em anexo

ACBrNFSeDANFSeFR.zip

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...
Em 12/01/2016 at 17:24, lsledo disse:

Eu havia testado utilizando o DANFSeNovo.fr3, neste nao deu erro.

Testei agora com o DANFSE.fr3.

Na procedure CriarDataSetsFrx eu adicionei esta linha:

   frxReport.EngineOptions.UseGlobalDataSetList := False;

 

Segue anexo

ACBrNFSeDANFSeFR.zip

A dica resolveu o poblema pelo menos no meu usando o DANFSeNovo.fr3 no padrão ele da um erro novo.
Valeu Isledo. 
 

Link para o comentário
Compartilhar em outros sites

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