Ir para conteúdo
  • Cadastre-se

dev botao

Implementações DANFeNFCeFortesReport


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

Recommended Posts

  • Membros Pro

Bom dia,

Pessoal, eu fiz alguns ajustes no DANFeNFCeFortes, tive muitos problemas para roda-lo no XE5. Após instalar e testar nas impressoras (Bematech HP-4200 TH  e Elgin Vox) constatei alguns "Problemas", Segue em anexo os fontes alterados, caso julguem ser de importância a as alterações.

= Pegar as margens da classe pai, Pois na impressora Elgin Vox estava cortando do lado "Esquerdo". Dica colocar MargemEsquerda = 3.
Remoção das units  RLHTMLFilter, RLFilters, RLPDFFilter e suas respectivas chamadas, as mesmas estava causando erro na compilação/instalação no XE5. "Minha opinião, tratando-se de NFC-e, não julgo ser necessário estes filtros caso o problema não venha a ser resolvido, pois esta nota geralmente será para cliente consumidor, e a mesma pode ser consultada via QRCode"
= Alteração do Style.Pen = psSolid teste feito na impressora Elgin Vox saiu melhor, o style que tava apenas na Bematech MP-4200 TH saiu legível.
+ Inclusão do LSistema para pegar o nome da softhose da classe pai.
= Alteração para pegar o troco da classe pai e não calculando: as Tags: Soma(Pag.vPag) - ICMSTot.vNF Pois agora existe uma validação da soma dos pagamentos com o total dos itens da NFC-e.
= Alterado para imprimir o total líquido abaixo de cada item se for marcado a opção "ImprimirTotalLiquido". Como estava, se tivesse desconto saia logo abaixo da descrição.
= Alterado para imprimir o "Outros, Seguro, etc..." abaixo de cada item se for marcado a opção "ImprimirDetalhamentoEspecifico".
= Alterado a forma de alimentar a descrição dos itens bem como os totais. Como estava saia descentralizados. Agora segue os totais na linha logo abaixo e centralizado, tive que mudar a fonte dos itens para Courier New, pois nesta o espaço tem  o mesmo tamanho dos demais caracteres. Em anexo está uma foto dos DANFe, a esquerda "Elgin Vox" a direira "Bematech MP-4200 TH"

Dica: Usem quem poder o DANFeESCPOS. ele está 100%, só estou usando o FortesReport por causa das impressoras que não aceita comando ESC para gerar o QRCode, a Elgin Vox até aceita os comando de formatação enviado pelo AcbrPosPrinter, mais não gera o QRCode.

Fortes.rar

DANFeNFCeFortes.jpg

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

  • Moderadores

Quanto ao ponto:

Remoção das units  RLHTMLFilter, RLFilters, RLPDFFilter e suas respectivas chamadas, as mesmas estava causando erro na compilação/instalação no XE5. "Minha opinião, tratando-se de NFC-e, não julgo ser necessário estes filtros caso o problema não venha a ser resolvido, pois esta nota geralmente será para cliente consumidor, e a mesma pode ser consultada via QRCode"

Quais foram os erros, porque aqui compilou normalmente com eles.

Enviado ao SVN com exceção dos filtros, porque outros usuários podem necessitar.

Muitos enviam o PDF por email ao cliente.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia,

Que bom que algumas coisas serviram, bem dar erro reclamando a falta "QGraphics.dcu" ser removo, ai aumenta os erros.... Outra coisa, você devolveu apenas os componentes do filtro, no post eu disse que removi todas as chamadas que ser referencia a eles, Na verdade da Procedure Imprimir segue o código que tava antes da mudança:

procedure TACBrNFeDANFCeFortes.Imprimir(const DanfeResumido: Boolean;
  const AFiltro: TACBrSATExtratoFiltro);
var
  frACBrNFeDANFCeFortesFr: TACBrNFeDANFCeFortesFr;
  RLLayout: TRLReport;
  RLFiltro: TRLCustomSaveFilter;
begin
  {$IFDEF FPC}
   LoadPortugueseStrings;
  {$ELSE}
   // Evitando mensagem de versão do fortes //
   SetVersion( CommercialVersion, ReleaseVersion, CommentVersion );
  {$ENDIF}

  frACBrNFeDANFCeFortesFr := TACBrNFeDANFCeFortesFr.Create(Self);
  try
    with frACBrNFeDANFCeFortesFr do
    begin
      Filtro := AFiltro;
      RLLayout := rlVenda;
      Resumido := DanfeResumido;

      RLPrinter.Copies     := NumCopias ;

      if ACBrNFeDANFCeFortes.Impressora <> '' then
        RLPrinter.PrinterName := ACBrNFeDANFCeFortes.Impressora;

      RLLayout.PrintDialog := ACBrNFeDANFCeFortes.MostrarPreview;
      RLLayout.ShowProgress:= False ;

      if Filtro = fiNenhum then
      begin
        if MostrarPreview then
          RLLayout.PreviewModal
        else
          RLLayout.Print;
      end
      else
      begin
        if RLLayout.Prepare then
        begin
          case Filtro of
            fiPDF  : RLFiltro := RLPDFFilter1;
            fiHTML : RLFiltro := RLHTMLFilter1;
          else
            exit ;
          end ;

          {$IFDEF FPC}
            RLFiltro.Copies := NumCopias ;
          {$ENDIF}
          RLFiltro.ShowProgress := ACBrNFeDANFCeFortes.MostrarStatus;
          //RLFiltro.FileName := NomeArquivo ;
          RLFiltro.FileName := ACBrNFeDANFCeFortes.PathPDF +
                               OnlyNumber(ACBrNFeDANFCeFortes.FpNFe.infNFe.ID) + '-nfe.pdf';
          {$IFDEF FPC}
            RLFiltro.Pages := RLLayout.Pages ;
            RLFiltro.FirstPage := 1;
            RLFiltro.LastPage := RLLayout.Pages.PageCount;
            RLFiltro.Run;
            //RLLayout.SaveToFile(PathPDF +
                               //Copy(TACBrNFe(ACBrNFe).NotasFiscais.Items[0].NFe.infNFe.ID, 4, 44) + '.pdf');
          {$ELSE}
            RLFiltro.FilterPages( RLLayout.Pages );
          {$ENDIF}
        end;
      end;
    end;
  finally
    frACBrNFeDANFCeFortesFr.Free ;
  end;
end;

Obs. Com apenas os componentes filtro add ao form copila lega...! Agora se add as referencia igua a procedure acima ai levanta os erro

ErroFiltrosFortesReportDANFeNFCe.jpg

Quanto ao ponto:

Remoção das units  RLHTMLFilter, RLFilters, RLPDFFilter e suas respectivas chamadas, as mesmas estava causando erro na compilação/instalação no XE5. "Minha opinião, tratando-se de NFC-e, não julgo ser necessário estes filtros caso o problema não venha a ser resolvido, pois esta nota geralmente será para cliente consumidor, e a mesma pode ser consultada via QRCode"

Quais foram os erros, porque aqui compilou normalmente com eles.

Enviado ao SVN com exceção dos filtros, porque outros usuários podem necessitar.

Muitos enviam o PDF por email ao cliente.

Regys, veja o post acima, complementando ele..

O erro só ocorre se fizer a chamada ao RLHTMLFilter1 Removendo a linha 740 copilou legal. Eu admirei muito sua preocupação com os demais colegas e peço desculpas pela falta de empatia com os demais, será quem sem o filtro HTML passa?

if RLLayout.Prepare then
        begin
          case Filtro of
            fiPDF  : RLFiltro := RLPDFFilter1;
            fiHTML : RLFiltro := RLHTMLFilter1; {Erro ocorre aqui, se removendo dar certo!}
          else
            exit ;
          end ;

Fontes com remoção do filtro HTML e com os códigos da procedure ai como estava antes...

Fortes.rar

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Pelo que estou vendo no print do seu fonte tem algo de errado, porque por exemplo SetVersion foi removido, não existe mais na versão nova do Fortes.

Tem certeza que está utilizando o mesmo Fortes que é suportado?

 

Sim, baixado e atualizado hoje mesmo via tortoise link: https://github.com/juliomar/FortesReportDelphi

Se não for pedir muito, tem como zipar e postar aqui não o Fortes que você tá usando ai?

Pelo que estou vendo no print do seu fonte tem algo de errado, porque por exemplo SetVersion foi removido, não existe mais na versão nova do Fortes.

Tem certeza que está utilizando o mesmo Fortes que é suportado?

 

Ei, olhe direito no print o SetVersion está dentro da unit ACBrDANFeNFCeFR

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Não, Não, está não é a versão correta.

O correto é está versão aqui:

http://www.projetoacbr.com.br/forum/announcement/8-fortes-report-community-edition/

Regys, me desculpe a santa ignorância, mais eu já tinha lido o seu post, quando https://github.com/fortesinformatica/fortesreport-ce, não consigo encontrar o link "GIT" mencionado por você, tem um botão "Download Zip" do lado na página aberta no link, que na verdade baixa as mesmas coisa que estão no página aberta no link. Meu amigo, passe o link ai se for possível. Pois baixei o pacote que é aberto na página inicial.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Clicando em "download ZIP" você vai baixar o componente, dai basta instalar normalmente como qualquer componente Delphi? Veja os diretório foram add ao Libry do XE5, removi todos os fontes do "Antigo" Fortes...

Bem baixei:

1º Não tem o pacote para XE5, então peguei o XE6 renomei e dei um Build compilou legal! Mais hora de instalar.... Erro em anexo print... Sem mais o que fazer não.. rsrs

Erro.png

Libray.png

Opa... Achei uma dica do Daniel http://www.projetoacbr.com.br/forum/topic/10663-erro-na-instalação-delphi-xe4/ ou tentar aqui...

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Clicando em "download ZIP" você vai baixar o componente, dai basta instalar normalmente como qualquer componente Delphi?

Regys, realmente era a versão do FortesReport, baixei conforme seu post, desinstalei tudo e instalei novamente. Segue fonte da DANFeNFCeRL com os filtros, pois aqui você subiu para vsn foi com filtros mais suas chamadas, pois tinha removido.

Fortes.rar

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa tarde, eu também estou tendo o mesmo problema na impressora Elgin Vox pois esta cortando do lado esquerdo da impressão. Alguém sabe se isso vai ser corrigido em breve? Obrigado

Antes precisamos saber o que você usa para imprimir (Fortes, Fast), se está usando o trunk ou trunk2, precisa dar mais informações para que possamos entender o porque não está funcionando corretamente ai.

Como pode ver o tópico é sobre NFC-e em Fortes Report no Trunk2 e está tudo ok e funcionando.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa tarde, eu também estou tendo o mesmo problema na impressora Elgin Vox pois esta cortando do lado esquerdo da impressão. Alguém sabe se isso vai ser corrigido em breve? Obrigado

Antes precisamos saber o que você usa para imprimir (Fortes, Fast), se está usando o trunk ou trunk2, precisa dar mais informações para que possamos entender o porque não está funcionando corretamente ai.

Como pode ver o tópico é sobre NFC-e em Fortes Report no Trunk2 e está tudo ok e funcionando.

Boa tarde Régys, estou usando Fortes Report, agora se é trunk ou trunk2 vc fez uma pergunta difícil hehehe
Eu simplesmente chamo o comando de impressão da seguinte forma:

     AssignFile(ENT, 'C:\ACBrNFeMonitor\ENTNFE.TXT');
     Rewrite(ENT);
     write(ENT,'NFE.IMPRIMIRDANFE(');
     write(ENT, dm.IBDCadVendaCAMINHONFE.AsString);
     write(ENT,')');
     CloseFile(ENT);

 

Aproveitando o contato, quando eu coloco uma Logo para imprimir junto no danfe fica um espaço grande antes da logo e outro apos a logo, conforme imagem em anexo. 

Não consegui fazer a impressão com logo ficar bonita como a que o Duarte postou no inicio desse topico.

 

Danfe NFCe.JPG

Editado por stylesoftware
Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...

Boa noite!

Estou utilizando o ACBR do Truck2, com Delphi XE, utilizando o FortesReport, que baixei conforme  postado no link https://github.com/fortesinformatica/fortesreport-ce, estou utilizando para o NFE. Porém, quando estou compilando, estão levantando erros nas units  RLHTMLFilter, RLFilters, RLPDFFilter.

Alguém sabe como corrigir este erro?

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia,

Onde encontro o DANFeNFCeFortesReport ?

Tentei migrar para o trunk2 mas só encontrei o .dpk do ESCPOS.

As pastas Pacotes\Delphi\ACBrDFe\ACBrNFe\DANFE\NFCe\Fortes e Quick estão vazias.

Obrigado.

Faz assim, abra o delphi e crie um novo package, ai adiciona as units da DANFE para FortesReport que estão em Fontes\ACBrDFe\ACBrNFe\DANFE\NFCe\Fortes. Salva ela na pasta dos pacotes: Pacotes\Delphi\ACBrDFe\ACBrNFe\DANFE\NFCe\Fortes e salvei com o nome: ACBrDANFCeFortesRL. Pronto dar um Build e depois "Install".

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

  • Moderadores

Bom dia,

Onde encontro o DANFeNFCeFortesReport ?

Tentei migrar para o trunk2 mas só encontrei o .dpk do ESCPOS.

As pastas Pacotes\Delphi\ACBrDFe\ACBrNFe\DANFE\NFCe\Fortes e Quick estão vazias.

Obrigado.

É porque para Fortes e Fast o pacote é o mesmo da NF-e.

Para quickreport não existe suporte no Trunk2, no Trunk2 somente existirá suporte a relatórios para FastReport e Fortes Report.

  • Curtir 1

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

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